Add a Silent Audio Track to a Video

Pick a video with no sound and get it back with a silent audio track added, so tools that demand an audio stream stop rejecting it. The picture is copied untouched and nothing is uploaded.

Try:
Video with a silent audio track

Give a silent video the audio stream other tools insist on

Plenty of files have a picture but no sound at all: screen captures, exported renders, timelapses, GIF conversions, drone clips. That is perfectly valid video — but a lot of uploaders, editors, ad platforms and playback pipelines assume every file has an audio stream, and reject or mangle the ones that don't. The standard fix is to add a track of pure digital silence.

This tool does exactly that. Load a video, and it comes back with a silent audio track attached. The picture is stream-copied (-c:v copy) — not re-encoded — so it stays byte-for-byte identical, the file processes in seconds, and nothing is uploaded: ffmpeg runs inside your browser tab.

What it does under the hood

The silence isn't a file you have to supply — it is generated on the fly by ffmpeg's anullsrc source at the channel layout and sample rate you pick, then muxed alongside your untouched video and bounded to the video's exact length.

Worked example: screencast.mp4 is a 12 MB, 3-minute H.264 recording with no audio stream, and an upload check keeps failing it. Load it here with the defaults (stereo, 48 kHz, 128 kbps) and you get screencast-silent-audio.mp4: the same 3-minute H.264 picture, unchanged, now carrying one AAC audio track of silence — and the upload goes through.

The options

Notes and limits

FAQ

My video already plays fine — why would I add silent audio?

Because something downstream requires an audio stream. Upload validators, ad platforms, some NLE timelines, hardware players and automated encoding pipelines routinely error out, drop the file, or produce a broken result when a video carries no audio track at all. A silent track satisfies the requirement without changing anything you can see or hear.

Does this re-encode or degrade my video?

No. The picture is stream-copied with -c:v copy, so the video stream in the output is bit-identical to the input. Only the new audio track is encoded, and it contains nothing but silence.

What's the difference between "no audio track" and "a muted audio track"?

A video with no audio track has zero audio streams — that's what trips up strict tools. A muted video has an audio stream whose samples are all zero. This tool turns the first into the second. If your file already has an audio stream and you simply want it silenced, choose replace: the existing track is dropped and a silent one takes its place.

How much bigger does the file get?

Very little. Silence compresses extremely well, and the added track is roughly the bitrate you choose times the clip length as an upper bound — at 32 kbps that's about 240 KB per minute at worst, usually far less. The video stream, which is the bulk of the file, is copied unchanged.

Which formats work, and how large can the file be?

Anything ffmpeg can read; mp4, mov, mkv and webm are the common cases and each keeps its own container. The output is named after the original with a -silent-audio suffix (e.g. clip.mp4clip-silent-audio.mp4). WebM gets an Opus track at 48 kHz, everything else an AAC track. Input and output are each capped at 25 MB.

Is my video uploaded anywhere?

No. ffmpeg runs as WebAssembly inside your browser tab, so the file never leaves your device.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool video-add-silent-audio 'url=https://example.com/input' 'channels=stereo' 'sample_rate=48000' 'bitrate=128' 'existing_audio=replace'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/video-add-silent-audio/?url=https://example.com/input&channels=stereo&sample_rate=48000&bitrate=128&existing_audio=replace

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.