How do I replace the audio in an MP4 file without re-encoding?
Solution 1
I ended up scrutinizing the documentation for ffmpeg
and worked out a solution:
ffmpeg.exe -i input_video.mp4 -i replacement_audio.m4a -vcodec copy -acodec copy -map 0:0 -map 1:0 output.mp4
Solution 2
An addition to the current solution: If the audio file does not match the video container's format, just avoid the -acodec parameter:
ffmpeg.exe -i input_video.mp4 -i replacement_audio.m4a -vcodec copy -map 0:0 -map 1:0 output.mp4
Now, only the audio gets encoded in order to match the container.
Solution 3
There are several free software for this:
and many others at videohelp.com
Related videos on Youtube
nc4pk
I am a sophomore studying Computer Engineering at North Carolina State University in Raleigh, North Carolina.
Updated on September 18, 2022Comments
-
nc4pk almost 2 years
I've got a video in an MP4 container that I would like to replace the audio track in (not add another audio stream to, nor convert the audio format of).
Someone elsewhere online suggested to use VirtualDub to replace the audio track, but it wouldn't even open up the video file. Journeyman Geek suggested in chat that I use
ffmpeg
, but the documentation is pretty difficult for me to understand.How can I accomplish this on Windows? I'll download/install external programs if I must.
-
martineau about 11 yearsRTFM strikes again!
-
Elaskanator over 5 yearsNote that this does not preserve all metadata, such as 360 equirectangular (I haven't tested the extent).
-
Vitas almost 5 yearsMP4Box seems very simple and I didn't find any option to replace audio, but MKVToolNix GUI is easy to understand and does a great job!
-
gaborous about 2 yearsI confirm that MKVToolNix works to merge video and audio without re-encoding, and also it allows to set a delay for the audio. It's available on Linux, MacOSX and Windows.