2011-05-01 07:45:34 +0000 2011-05-01 07:45:34 +0000
178
178

Comment fusionner un fichier audio et vidéo en ffmpeg

Je souhaite fusionner un fichier audio (format .wav ou .au) avec un fichier vidéo (format .mp4).

Veuillez me suggérer comment réaliser cette opération. Je souhaite fusionner ces fichiers avec un nouveau fichier vidéo .mp4. Une commande ffmpeg serait la bienvenue.

Réponses (5)

286
286
286
2011-05-01 09:53:57 +0000

Fusion de la vidéo et de l'audio, avec réencodage audio

Voir cet exemple, tiré de cet article de blog mais mis à jour pour une syntaxe plus récente. Il devrait avoir l'effet suivant :

ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4

Ici, nous supposons que le fichier vidéo ne contient pas encore de flux audio, et que vous voulez avoir le même format de sortie (ici, MP4) que le format d'entrée.

La commande ci-dessus transcode l'audio, puisque les MP4 ne peuvent pas transporter de flux audio PCM. Vous pouvez utiliser n'importe quel autre codec audio si vous le souhaitez. Voir le Guide d'encodage AAC pour plus d'informations.

Si votre flux audio ou vidéo est plus long, vous pouvez ajouter l'option -shortest pour que ffmpeg arrête l'encodage une fois qu'un fichier se termine.

Copie de l'audio sans réencodage

Si votre conteneur de sortie peut gérer (presque) tous les codecs - comme MKV - alors vous pouvez simplement copier les flux audio et vidéo : Si votre vidéo d'entrée contient déjà de l'audio et que vous souhaitez la remplacer, vous devez indiquer à ffmpeg le flux audio à prendre :

ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv

L'option map fait en sorte que ffmpeg n'utilise que le premier flux vidéo de la première entrée et le premier flux audio de la deuxième entrée pour le fichier de sortie.

16
16
16
2015-01-10 01:11:26 +0000

Puisque je ne suis pas autorisé à écrire des commentaires sur la première réponse avec ma réputation, un addendum ici, parce que j'ai eu ce problème lors de l'encodage de webms. Si votre flux audio est par exemple plus long que le flux vidéo, vous devez le couper ou sinon vous aurez la dernière image vidéo comme image fixe et le son en cours d'exécution.

Pour couper l'un ou l'autre flux, vous pouvez utiliser -ss [hh:mm:ss] -t [ss] avant chacun des -i “file.ext”. -ss […] définira le point de départ pour couper -t […] définira la longueur du segment en secondes

Exemple :

ffmpeg.exe -ss 00:00:10 -t 5 -i "video.mp4" -ss 0:00:01 -t 5 -i "music.m4a" -map 0:v:0 -map 1:a:0 -y out.mp4
8
8
8
2015-04-16 07:18:25 +0000

-open command promt (windows+r ->cmd->enter)

  • then go to inside the folder where you have audio and video file

apply this cmd

ffmpeg -i "videoFile.mp4" -i "audioFile.mp3" -shortest outPutFile.mp4

Enter….you will get a new file named outPutFime.mp4 (a merged file of audio and video)

5
5
5
2015-03-05 15:29:32 +0000

Cela a fonctionné pour moi :

ffmpeg.exe -i AudioT.m4a -i VideoT.mp4 -acodec copy -vcodec copy muxed.mp4
1
1
1
2013-03-12 22:47:37 +0000

Essayez d'utiliser mencoder (oui, il est basé sur ffmpeg, mais on ne sait jamais). J'utilise l'argument -audiofile. Mais j'utilise généralement ffmpeg, alors suivez ce conseil avec une pincée de sel.

Et, si vous utilisez Windows, Mediacoder (plus open source malheureusement) fonctionne… c'est en fait un frontal pour beaucoup d'encodeurs gnu et quelques autres non libres.