Como substituo o áudio em um arquivo MP4 sem recodificar?

23

Eu tenho um vídeo em um contêiner MP4 no qual gostaria de substituir a faixa de áudio ( não adicione outro fluxo de áudio nem converta o formato de áudio ).

Alguém online sugeriu usar o VirtualDub para substituir a faixa de áudio, mas ele nem sequer abriu o arquivo de vídeo. O Journeyman Geek sugeriu no bate-papo que eu uso ffmpeg, mas a documentação é bem difícil de entender.

Como posso fazer isso no Windows? Vou baixar / instalar programas externos, se necessário.

nc4pk
fonte

Respostas:

33

Acabei examinando a documentação ffmpege resolvi uma solução:

ffmpeg.exe -i input_video.mp4 -i replacement_audio.m4a -vcodec copy -acodec copy -map 0:0 -map 1:0 output.mp4

nc4pk
fonte
7
RTFM ataca novamente!
martineau
Observe que isso não preserva todos os metadados, como 360 equiretangular (não testei a extensão).
Elaskanator
4

Uma adição à solução atual: se o arquivo de áudio não corresponder ao formato do contêiner de vídeo, evite o parâmetro -acodec:

ffmpeg.exe -i input_video.mp4 -i replacement_audio.m4a -vcodec copy -map 0:0 -map 1:0 output.mp4

Agora, apenas o áudio é codificado para corresponder ao contêiner.

SommerEngineering
fonte
2

Existem vários softwares gratuitos para isso:

e muitos outros em videohelp.com

T.Todua
fonte
O MP4Box parece muito simples e não encontrei nenhuma opção para substituir o áudio, mas o MKVToolNix GUI é fácil de entender e faz um ótimo trabalho!
Vitas