How do I replace the audio in an MP4 file without re-encoding?

38,762

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

Share:
38,762

Related videos on Youtube

nc4pk
Author by

nc4pk

I am a sophomore studying Computer Engineering at North Carolina State University in Raleigh, North Carolina.

Updated on September 18, 2022

Comments

  • nc4pk
    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
    martineau about 11 years
    RTFM strikes again!
  • Elaskanator
    Elaskanator over 5 years
    Note that this does not preserve all metadata, such as 360 equirectangular (I haven't tested the extent).
  • Vitas
    Vitas almost 5 years
    MP4Box 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
    gaborous about 2 years
    I 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.