Comment combiner plusieurs videos MP4 avec ffmpeg

 

On a vu comment tronçonner une vidéo et ajouter du son à une vidéo muette avec cet outil merveilleux qu'est ffmpeg. Bien évidemment, ffmpeg permet aussi de coller deux vidéos ensemble, l'une à la suite de l'autre, sans réencodage, sous Windows. On appelle cela la concaténation. Outre le gain de temps, cela ne dégrade pas la qualité des vidéos.

On va utiliser ici la méthode dite de concat demuxer.

Ouvrir une fenêtre de commande (cmd). Se placer dans le répertoire dans lequel se trouvent les vidéos à coller ensemble.

La première étape consiste à créer un fichier texte (le fichier batch, ici nommé mylist.txt) listant les différents fichiers (ici au nombre de 3) et l'ordre dans lequel ils seront concaténés.

echo file video1.mp4 > mylist.txt 
echo file video2.mp4 >> mylist.txt
echo file video3.mp4 >> mylist.txt

Amis développeurs php, la commande echo ne vous est pas inconnue…

Dans le répertoire, vous observez qu'un fichier mylist.txt a été créé, et qu'il contient la liste des vidéos.

Vous allez pouvoir lancer la concaténation proprement dite :

ffmpeg -f concat -i mylist.txt -c copy output.mp4

Les vidéos collées les unes à la suite des autres se retrouvent dans output.mp4.

 

Voici un exemple, avec deux vidéos nommées front.mp4 et back.mp4.

Concaténation de deux vidéos mp4

La taille du fichier final est à quelques octets près la somme des tailles des deux fichiers de départ. La 2e vidéo commence à la fin de la première. Evidemment, il n'y a pas d'effet de transition…

 

Vous voulez coller plusieurs fichiers au format mpeg2 ensemble en ligne de commande ? Voici la procédure.

 

Source

How to concatenate two MP4 files using FFmpeg?

Documentantion ffmpeg – Concatenate

 

Karine SANCHE

Partager cet article