CGJU
CGJU
5 juin 2026 · Temps de lecture 6 min

Qu'est-ce que le format TS

TS (Transport Stream) est un format de conteneur de streaming, initialement défini par la norme MPEG-2, largement utilisé dans la diffusion de télévision numérique, le streaming HLS et d'autres scénarios. La caractéristique du format TS est de diviser les données vidéo, audio, sous-titres, etc. en paquets de données de taille fixe (généralement 188 octets), chaque paquet étant horodaté et contenant des informations de correction d'erreur. Ainsi, même si une partie des données est perdue pendant la transmission, la lecture peut continuer.

Dans HLS (HTTP Live Streaming), la vidéo entière est découpée en plusieurs fichiers de segments TS, chacun durant généralement 2 à 10 secondes. Lorsque nous avons téléchargé tous les segments TS d'une vidéo HLS, nous devons les fusionner en un fichier vidéo complet pour la lecture et la sauvegarde.

Caractéristiques principales du format TS

  • Tolérance aux pannes élevée : les paquets de données sont indépendants, une perte partielle n'affecte pas la lecture globale
  • Adapté au streaming : peut être lu pendant le téléchargement, prend en charge la diffusion en direct
  • Prise en charge multi-pistes : peut contenir simultanément plusieurs pistes vidéo, audio et de sous-titres
  • Longueur de paquet fixe : chaque paquet de données fait 188 octets, facilitant la synchronisation et la transmission

Méthode 1 : Concat Demuxer (recommandée)

Concat Demuxer est une méthode de fusion de fichiers fournie par FFmpeg. Elle lit une liste de fichiers répertoriés dans un fichier texte et les concatène successivement. L'avantage de cette méthode est qu'elle ne nécessite pas de réencodage, elle est très rapide et prend en charge presque tous les formats de conteneur.

Étapes de fonctionnement

Tout d'abord, créez un fichier texte (par exemple filelist.txt) avec le format de contenu suivant :

file 'segment1.ts'
file 'segment2.ts'
file 'segment3.ts'
file 'segment4.ts'

Exécutez ensuite la commande FFmpeg suivante :

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

Description des paramètres

  • -f concat : spécifie l'utilisation de concat demuxer
  • -safe 0 : autorise l'utilisation de chemins absolus (par défaut, seuls les chemins relatifs sont autorisés)
  • -i filelist.txt : spécifie la liste des fichiers
  • -c copy : copie directement le flux sans réencodage

Méthode 2 : Concat Protocol

Concat Protocol est une autre méthode de fusion simple. Elle utilise directement le protocole concat dans le fichier d'entrée pour connecter plusieurs fichiers. Cette méthode ne s'applique qu'à certains formats de conteneur spécifiques (comme MPEG-TS, MPEG-PS, etc.), mais elle est très adaptée aux fichiers TS.

Exemple de commande

ffmpeg -i "concat:segment1.ts|segment2.ts|segment3.ts" -c copy output.mp4

Si le nombre de fichiers TS est important, vous pouvez utiliser la méthode des caractères génériques (nécessite la prise en charge du shell) :

ffmpeg -i "concat:$(ls *.ts | sort -V | tr '\n' '|' | sed 's/|$//')" -c copy output.mp4

Remarques

  • Ne prend en charge que les formats de la série MPEG (TS, PS, etc.), pas les formats MP4, MKV, etc.
  • L'ordre des fichiers doit être correct, sinon la lecture sera anormale
  • Les noms de fichiers ne doivent pas contenir de caractères spéciaux

Méthode 3 : Concat Filter

Concat Filter est l'une des fonctionnalités de filtre de FFmpeg. Il peut connecter plusieurs flux vidéo au niveau du filtre. La caractéristique de cette méthode est qu'elle effectue un réencodage, donc elle est plus lente, mais elle offre la meilleure compatibilité et peut traiter des fichiers avec des paramètres de codage différents.

Exemple de commande

ffmpeg -i segment1.ts -i segment2.ts -i segment3.ts \
    -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

Description des paramètres

  • concat=n=3 : spécifie que le nombre de fichiers à fusionner est de 3
  • v=1 : sortie de 1 flux vidéo
  • a=1 : sortie de 1 flux audio
  • [outv][outa] : noms d'étiquette des flux de sortie

Méthode 4 : Méthode du fichier intermédiaire

La méthode du fichier intermédiaire est une approche plus traditionnelle : d'abord fusionner tous les fichiers TS en un seul grand fichier TS, puis le ré-encapsuler en MP4 ou dans un autre format. Cette méthode peut utiliser directement la commande copy sous Windows, ce qui est très simple.

Méthode ligne de commande Windows

copy /b segment1.ts + segment2.ts + segment3.ts combined.ts
ffmpeg -i combined.ts -c copy output.mp4

Méthode Linux/Mac

cat segment1.ts segment2.ts segment3.ts > combined.ts
ffmpeg -i combined.ts -c copy output.mp4

Comparaison des quatre méthodes

Méthode Vitesse Réencodage Formats applicables Note de recommandation
Concat Demuxer Extrêmement rapide Non Presque tous les formats ★★★★★
Concat Protocol Extrêmement rapide Non Série MPEG ★★★★
Concat Filter Lente Oui Tous les formats ★★★
Méthode fichier intermédiaire Rapide Non Formats de streaming comme TS ★★★

Conseils sur les cas d'application

Scénarios recommandés pour Concat Demuxer

  • Tous les fichiers TS ont des paramètres de codage identiques
  • Besoin d'une fusion rapide sans attendre de réencodage
  • Nombre important de fichiers, nécessitant un traitement par lots
  • Souhait de sortir dans d'autres formats comme MP4, MKV

Scénarios nécessitant Concat Filter

  • Les paramètres de codage des fichiers TS sont différents
  • Besoin d'effectuer d'autres traitements de filtre simultanément
  • Exigences particulières sur la qualité de sortie
  • Problème de désynchronisation audio/vidéo après la fusion

Problèmes courants et solutions

1. Désynchronisation audio/vidéo après la fusion

Cela est généralement dû à des horodatages discontinus dans les segments TS. Vous pouvez essayer d'utiliser la méthode Concat Filter, ou ajouter le paramètre -fflags +genpts pour régénérer les horodatages :

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

2. Certains segments ne peuvent pas être lus

Il est possible que les fichiers de segments soient corrompus. Vous pouvez d'abord vérifier l'intégrité de chaque fichier avec ffprobe, ou essayer d'utiliser la méthode Concat Filter pour effectuer un réencodage.

3. Problème de tri des noms de fichiers

Les segments TS sont généralement nommés 1.ts, 2.ts, ..., 10.ts. Un tri alphabétique direct placerait 10.ts avant 2.ts. Il est recommandé d'utiliser un tri naturel (comme sort -V sous Linux) ou des noms avec zéros non significatifs (01.ts, 02.ts...).

Conclusion

La fusion de fichiers TS est une demande courante lors du traitement de vidéos HLS. FFmpeg propose plusieurs méthodes pour répondre aux besoins de différents scénarios. Dans la plupart des cas, Concat Demuxer est le meilleur choix : il est rapide, offre une bonne compatibilité et est simple à utiliser. Si vous rencontrez des problèmes tels que des paramètres de codage différents, envisagez d'utiliser la méthode Concat Filter.

Si vous ne voulez pas exécuter de commandes manuellement, vous pouvez utiliser directement notre outil de fusion par lots de fichiers TS. Téléchargez les segments TS et fusionnez-les en un seul fichier MP4 en un clic, pratique et rapide.

Recommandations

Plus d'articles intéressants et d'outils pratiques

Besoin de fusionner des fichiers TS ?

Utilisez notre outil de fusion TS gratuit, téléchargez vos segments et fusionnez-les en MP4 en un clic, sans télécharger ni installer de logiciel

Essayer maintenant ➡