Je dispose d'une video sous forme de deux fichiers : l'un pour la piste audio, l'autre pour la piste vidéo. Je souhaite les fusionner dans un seul fichier vidéo en limitant les ré-encodages.
Je souhaitais télécharger une vidéo sur Youtube. Malheureusement, elle n'était pas proposée sous un format audio-vidéo qui me convenait. En revanche, elle était proposée sous forme de téléchargement séparés, avec le format que je voulais. J'ai donc effectué les 2 téléchargements qui m'ont donné deux fichiers.
sources :
Pour que ce soit possible il faut les formats audio et vidéo soient compatibles avec le type de fichier qu'on veut produire. La commande ffprobe est une alliée sûre pour savoir ce que votre fichier a dans le ventre…
ffprobe mon-fichier.ext
L'assemblage se fait avec ffmpeg :
ffmpeg -i video.mp4 -i audio.m4a -c:v copy -c:a copy output.mp4
“-c:v” et “-c:a” permettent de définir le codec utilisé pour le réencodage. “copy” indique un codec fictif qui signifie qu'on ne transcode pas.
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac output.mp4
Dans ce cas, on ré-encode (avec pertes) le fichier d'entrée du format wav/pcm au format aac pour s'assurer que le flux audio du fichier de sortie mp4 est compatible avec le conteneur mp4.