Remove the audio from a video
A clip with no audio track behaves differently from a clip that has been turned down.
How it works
Browsers do not measure how loud a video is before deciding whether to play it. They test whether it has an audio track. The Safari team's published auto-play policy says so in as many words: "audio tracks that render silence are still audio tracks, and their existence affects whether a video will auto-play at all". A clip whose levels were dragged to zero in an editor still carries a track, so it sits waiting for a click. That document gives two remedies, and only two: remove the track, or set the muted attribute on the media element.
Presence is tested instead of amplitude because presence is cheap. Whether a track holds silence can only be established by decoding all of it, and a policy that decoded a two-hour soundtrack before permitting playback would cost more than the playback. Whether a track exists is a field in the container's header and costs one read. The muted attribute settles the question wherever you own the markup; hand the file to a platform that writes its own player and the decision goes back to the file.
Sound nobody meant to keep
A screen recorder writes system output and the microphone into the same file as the picture. A capture made to demonstrate a spreadsheet therefore holds whatever meeting was running in another window, and a clip filmed indoors holds whoever was talking behind the phone. Neither is in the frame, so neither is noticed on review: the picture is the part that gets watched before a file is sent to somebody.
Lowering the volume in a player changes playback on one machine. The samples stay in the file, travel with it, and can be turned back up by anyone who receives it. Dropping the track is the only version of this operation that survives leaving your own computer, and it is one-way in the direction that matters, because the data is gone rather than turned off.
Replacing a track, not layering one
Putting music over a clip that already has dialogue is two different operations and editors disagree about which to perform. One mixes both into a single track. The other writes a second audio track, and the ISO base media format numbers tracks and expects a player to select one of them, which is the mechanism behind alternate language audio. A player picks rather than sums. Where the intent is replacement, taking the original out first makes the outcome the same on every player instead of dependent on which one opens the file.
What it costs, measured
Removing a track rewrites the table of chunk offsets and copies the chunks that remain. No frame is decoded, so nothing in the picture is reinterpreted. In this suite's video runtime, muting is not one of the conditions that move a job onto the re-encode path: those are a crop, a change of frame rate, an explicit bitrate, a change of output dimensions, or a tool that demands a transcode outright. With the audio discard as the only instruction, the result line reads `frames copied, not re-encoded` next to `audio removed`.
One property of the source can override that. Every codec here subsamples chroma and rejects an odd side, so a clip whose display width or height is an odd number is rounded up to an even one, and arriving at the new size means the picture is re-encoded after all. Output from a camera, a phone or a screen recorder is even on both axes and never meets this.
The saving in bytes is small, and it is not the reason to do this. Measured on a ten-second 1920×1080 test clip of 5,485,935 bytes: its AAC track ran at 122 kbps over 441 packets, which comes to 155,763 bytes, or 2.8% of the file, against 4.21 Mbps spent on the H.264 picture. A short clip therefore comes back close to the size it went in at. Two hours of 128 kbps audio is about 110 MB, which is where the figure starts to matter.
Questions
Can I verify the video stays on this machine?
Yes. Open developer tools, select the Network tab, then run the job. Every request is same-origin — the page's own scripts and the video module they load — and none of them carry your file. It is read as bytes and processed by a Web Worker on your own hardware, and the finished clip arrives as a local download. A screen recording deserves that check more than most files, since it is a picture of everything else that was open at the time.
Does the picture come out unchanged?
Removing a track keeps the job on the copy path. The compressed video is carried into the new container without being decoded, so there is no second lossy pass and no drift in colour or sharpness. A source with an odd display dimension is the single exception, since the codec has to be given an even size. Either way the result line names the path that ran, so this is never left to be inferred from how long the job took.
Can the sound be put back afterwards?
Not from the muted file. The track is discarded rather than switched off, so keep the original if there is any prospect of wanting the audio. If the audio is itself what you want as a separate file, take it out of the source video first: after muting there is nothing left in the file to extract.
Why was an iPhone recording turned away?
Because of HEVC, which iPhones record in by default. The runtime confirms this browser can decode the picture before it starts anything, and Chrome on hardware without HEVC support cannot. That check is stricter than this particular job needs, since copying packets involves no decoder at all. Safari reads HEVC, so the same file mutes there, and the refusal names the codec rather than failing part of the way through.