Jak zamienić dźwięk w pliku MP4 bez ponownego kodowania?

20

Mam wideo w kontenerze MP4, w którym chciałbym zamienić ścieżkę audio ( nie dodawać innego strumienia audio ani konwertować formatu audio ).

Ktoś online sugerował użycie VirtualDub do zastąpienia ścieżki audio, ale nawet nie otworzyłby pliku wideo. Czeladnik Geek zasugerował na czacie , którego używam ffmpeg, ale dokumentacja jest dla mnie dość trudna do zrozumienia.

Jak mogę to zrobić w systemie Windows? W razie potrzeby pobiorę / zainstaluję programy zewnętrzne.

nc4pk
źródło

Odpowiedzi:

31

W końcu ffmpegsprawdziłem dokumentację i opracowałem rozwiązanie:

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

nc4pk
źródło
7
RTFM uderza ponownie!
martineau,
Zauważ, że nie zachowuje to wszystkich metadanych, takich jak 360 prostokątny (nie testowałem zakresu).
Elaskanator
2

Dodatek do bieżącego rozwiązania: jeśli plik audio nie pasuje do formatu pojemnika wideo, po prostu unikaj parametru -acodec:

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

Teraz tylko dźwięk jest kodowany w celu dopasowania do kontenera.

SommerEngineering
źródło
2

Istnieje kilka bezpłatnych programów do tego:

i wiele innych na videohelp.com

T.Todua
źródło
MP4Box wydaje się bardzo prosty i nie znalazłem żadnej opcji zastąpienia dźwięku, ale MKVToolNix GUI jest łatwy do zrozumienia i wykonuje świetną robotę!
Vitas