Clean the audio on a video

The footage is fine and the sound is not. This is the practical version: what we take out of your video, what comes back, and how to get it against the picture again. If you are still deciding whether your file will even open, start with remove noise from video instead.

We read the sound and nothing else

Your browser opens the file where it already sits and pulls the audio out of the container. The video track is never decoded, never modified and never uploaded — nor is the audio. There is no upload step anywhere in this, which is also why there is no queue and no "your file is processing" email.

For mp4 and mov we read the container's index and fetch only the bytes for the stretch we want, so a 2 GB file does not turn into 2 GB in memory. Your original is opened read-only and left exactly as it was.

What comes back

A 16-bit mono WAV at 48 kHz — audio only, about 2.9 MB for the 30 seconds. Two things to plan around:

Putting it back against the picture

The result card draws your whole file as a bar with the cleaned 30 seconds marked on it, and prints the start timecode beside it — Preview 30s from 1:14. Cut the same window out of the video and mux the two together:

ffmpeg -ss 1:14 -t 30 \
       -i original.mp4 -i cleaned.wav \
       -map 0:v -map 1:a \
       -c:v libx264 -crf 18 \
       -c:a aac -b:a 192k \
       -shortest check.mp4

The video is re-encoded here on purpose. With -ss in front of the input, a stream copy can only start at the nearest keyframe, which slides the picture out of step with the sound by up to a second — long enough to make a lip-sync judgement you cannot trust.

In an editor it is the same idea with fewer arguments: import the WAV, drop it on a new audio track at that timecode, mute the original, and listen against the picture.

When the whole file is cleaned

Full-file cleaning is not built yet — the 30 second preview is all there is today. When it exists you will get a track the same length as your original, and the command loses the trim. There is no seek left in it, so the video really can be copied rather than re-encoded:

ffmpeg -i original.mp4 -i cleaned.wav \
       -map 0:v -map 1:a \
       -c:v copy -c:a aac -b:a 192k \
       output.mp4

Both commands run on your machine and involve us not at all. If your original was stereo, remember the replacement track is mono, and duplicate it across two channels if your delivery format expects a pair.