Comment fusionner et concaténer des vidéos avec FFmpeg (Guide 2026)

Guide complet pour fusionner et concaténer plusieurs fichiers vidéo avec FFmpeg. Couvre les méthodes concat demuxer, filter, protocol, ainsi qu'une alternative gratuite en un seul clic.

6 min read

Vous avez plusieurs clips vidéo à assembler en un seul fichier ? FFmpeg propose plusieurs façons de concaténer des vidéos — mais la bonne méthode dépend de si vos clips partagent le même format, codec et résolution.

Ce guide couvre les trois approches avec des commandes exactes. Et pour ceux qui préfèrent éviter de déboguer des incompatibilités de codecs dans un terminal, il y a une alternative gratuite par glisser-déposer à la fin.


Prérequis : Installer FFmpeg

FFmpeg

macOS :

brew install ffmpeg

Ubuntu/Debian :

sudo apt update && sudo apt install ffmpeg

Windows : Téléchargez depuis ffmpeg.org, extrayez et ajoutez bin au PATH.


Méthode 1 : Concat Demuxer (Même format — La plus rapide)

C’est la méthode la plus rapide et la plus simple. Elle fonctionne lorsque toutes les vidéos ont le même codec, la même résolution et la même fréquence d’images.

Étape 1 : Créer une liste de fichiers

Créez un fichier texte appelé files.txt :

file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'

Étape 2 : Exécuter la commande concat

ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4
  • -f concat — utilise le concat demuxer
  • -safe 0 — autorise les chemins absolus/relatifs
  • -c copy — pas de réencodage (instantané)

Générer la liste de fichiers automatiquement

Linux/macOS :

for f in *.mp4; do echo "file '$f'" >> files.txt; done
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4

Windows (PowerShell) :

Get-ChildItem *.mp4 | ForEach-Object { "file '$($_.Name)'" } | Out-File -Encoding ascii files.txt
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4

Méthode 2 : Concat Filter (Formats différents — La plus flexible)

Lorsque les clips ont des codecs, résolutions ou fréquences d’images différents, vous avez besoin du filtre concat. Cela réencode tout pour correspondre.

Deux vidéos :

ffmpeg -i clip1.mp4 -i clip2.mov \
  -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Trois vidéos :

ffmpeg -i clip1.mp4 -i clip2.mov -i clip3.avi \
  -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4
  • n=3 — nombre de segments d’entrée
  • v=1 — une sortie de flux vidéo
  • a=1 — une sortie de flux audio

Normaliser la résolution avant de concaténer

Si les clips ont des résolutions différentes, redimensionnez-les d’abord :

ffmpeg -i clip1.mp4 -i clip2.mp4 \
  -filter_complex \
    "[0:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2[v0]; \
     [1:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2[v1]; \
     [v0][0:a][v1][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Méthode 3 : Concat Protocol (MPEG-TS uniquement)

Pour les flux de transport MPEG, vous pouvez utiliser le protocole concat directement :

# Convertir d'abord en MPEG-TS
ffmpeg -i clip1.mp4 -c copy -bsf:v h264_mp4toannexb clip1.ts
ffmpeg -i clip2.mp4 -c copy -bsf:v h264_mp4toannexb clip2.ts

# Puis concaténer
ffmpeg -i "concat:clip1.ts|clip2.ts" -c copy -bsf:a aac_adtstoasc output.mp4

Cette méthode n’est généralement plus recommandée — le concat demuxer (Méthode 1) est plus simple et plus fiable.


Scénarios particuliers

Fusionner des pistes vidéo et audio

Combiner un fichier vidéo avec un fichier audio séparé :

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -shortest output.mp4
  • -shortest — s’arrête quand le flux le plus court se termine

Remplacer l’audio dans une vidéo

ffmpeg -i video.mp4 -i new_audio.mp3 -c:v copy -c:a aac -map 0:v -map 1:a output.mp4

Concaténer des vidéos avec des fréquences d’images différentes

Forcer toutes les entrées à 30fps avant de concaténer :

ffmpeg -i clip1.mp4 -i clip2.mp4 \
  -filter_complex \
    "[0:v]fps=30[v0];[1:v]fps=30[v1]; \
     [v0][0:a][v1][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Vidéos sans audio

Si certains clips n’ont pas de piste audio, ajoutez un audio silencieux :

ffmpeg -i clip_no_audio.mp4 -f lavfi -i anullsrc=r=44100:cl=stereo \
  -c:v copy -c:a aac -shortest clip_with_silence.mp4

Puis concaténez normalement.


Erreurs courantes et solutions

“Discarding non-monotonous DTS”

Les horodatages sont désalignés entre les clips. Réencodez :

ffmpeg -f concat -safe 0 -i files.txt -c:v libx264 -c:a aac output.mp4

“Stream 0 codec does not match”

Vos clips ont des codecs différents. Utilisez le filtre concat (Méthode 2) au lieu du concat demuxer.

“Discarding 1 additional packets” / problèmes de synchronisation

Ajoutez -fflags +genpts pour régénérer les horodatages :

ffmpeg -fflags +genpts -f concat -safe 0 -i files.txt -c copy output.mp4

La sortie a des images noires entre les clips

Cela se produit lorsque les clips ont des formats de pixels différents. Forcez un format commun :

ffmpeg -i clip1.mp4 -i clip2.mp4 \
  -filter_complex "[0:v]format=yuv420p[v0];[1:v]format=yuv420p[v1];[v0][0:a][v1][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Évitez le terminal : Utilisez WaveSpeed Desktop

Fusionner des vidéos avec FFmpeg implique de choisir entre trois méthodes différentes, créer des listes de fichiers, gérer les incompatibilités de codecs, déboguer les problèmes d’horodatage et écrire des chaînes filter_complex qui ressemblent à des cauchemars d’expressions régulières.

WaveSpeed Desktop inclut un Media Merger intégré qui simplifie tout :

  • Glissez-déposez vos clips vidéo
  • Réordonnez-les selon vos besoins
  • Cliquez sur fusionner — un fichier, c’est fait

Formats différents ? Résolutions différentes ? L’application gère tout automatiquement.

WaveSpeed Desktop Media Merger

Téléchargez WaveSpeed Desktop gratuitement : https://github.com/WaveSpeedAI/wavespeed-desktop/releases


FAQ

Quelle méthode concat utiliser ? Si tous les clips ont le même codec et la même résolution, utilisez la Méthode 1 (demuxer) — c’est instantané. Si les clips diffèrent de quelque façon que ce soit, utilisez la Méthode 2 (filtre).

Puis-je ajouter des transitions entre les clips ? FFmpeg prend en charge les transitions de fondu enchaîné basiques avec le filtre xfade, mais c’est complexe. Pour les transitions, un éditeur visuel est généralement plus facile.

La fusion de vidéos réduit-elle la qualité ? Pas avec -c copy (Méthode 1). Avec le filtre concat (Méthode 2), un réencodage se produit et une légère perte de qualité est possible. Utilisez un CRF faible (18–20) pour la minimiser.

Y a-t-il une limite au nombre de vidéos que je peux fusionner ? Aucune limite stricte dans FFmpeg. En pratique, la mémoire et le temps de traitement augmentent avec le nombre d’entrées.