Comment remplacer l'audio dans un fichier MP4 sans réencodage?

23

J'ai une vidéo dans un conteneur MP4 dans lequel je voudrais remplacer la piste audio ( sans ajouter un autre flux audio ni convertir le format audio de ).

Quelqu'un ailleurs en ligne a suggéré d'utiliser VirtualDub pour remplacer la piste audio, mais cela n'ouvrirait même pas le fichier vidéo. Journeyman Geek a suggéré dans le chat que j'utilise ffmpeg, mais la documentation est assez difficile à comprendre pour moi.

Comment puis-je accomplir cela sous Windows? Je téléchargerai / installerai des programmes externes si je le dois.

nc4pk
la source

Réponses:

33

J'ai fini par examiner la documentation ffmpeget j'ai trouvé une solution:

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

nc4pk
la source
7
RTFM frappe à nouveau!
martineau
Notez que cela ne préserve pas toutes les métadonnées, telles que 360 ​​équirectangulaire (je n'ai pas testé l'étendue).
Elaskanator
4

Un ajout à la solution actuelle: si le fichier audio ne correspond pas au format du conteneur vidéo, évitez simplement le paramètre -acodec:

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

Maintenant, seul l'audio est encodé afin de correspondre au conteneur.

SommerIngénierie
la source
2

Il existe plusieurs logiciels gratuits pour cela:

et bien d'autres sur videohelp.com

T.Todua
la source
MP4Box semble très simple et je n'ai trouvé aucune option pour remplacer l'audio, mais l'interface graphique MKVToolNix est facile à comprendre et fait un excellent travail!
Vitas