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:
- It is mono. Everything is summed to one channel before the model runs, because the model is single-channel. If your camera recorded a stereo pair, or a shotgun and a lav on separate channels, they arrive back as one.
- It is not level-matched to your original. We do no loudness normalisation; the cleaned track measured about 2 LU quieter than the original on our own sample. Set levels after this step, not before.
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.