Qu’est-ce qu’un fichier M2TS ?

Un fichier M2TS contient un flux de transport BDAV MPEG-2, la variante du flux de transport MPEG-2 utilisée par Blu-ray Disc et AVCHD, dans laquelle un en-tête de 4 octets précède chaque paquet de transport de 188 octets. Il peut multiplexer de la vidéo, de l’audio, des éléments graphiques de sous-titres et d’autres flux élémentaires dans un seul fichier.

Comment fonctionnent les fichiers M2TS

Le format Blu-ray Disc en lecture seule stocke l’audio et la vidéo de chaque clip sous forme de flux de transport BDAV MPEG-2 dans un fichier .m2ts. Le flux est une séquence de paquets source de 192 octets, chacun composé d’un TP_extra_header de 4 octets suivi d’un paquet de transport MPEG-2 standard de 188 octets, regroupés en unités alignées de 6144 octets contenant 32 paquets. Dans les paquets de transport, les règles habituelles de MPEG-2 Systems s’appliquent : la table d’association des programmes pointe vers une table de description de programme, qui identifie les flux élémentaires du programme par identifiant de paquet. Sur un disque, le fichier .m2ts ne constitue que la moitié d’un clip. Un fichier .clpi portant le même numéro stocke les horodatages des points d’accès au flux, et les fichiers de listes de lecture .mpls décrivent le contenu à lire sous forme d’une liste d’éléments de lecture, chacun défini par un point d’entrée et un point de sortie sur l’axe temporel d’un clip. Les caméscopes AVCHD enregistrent dans le même conteneur, et la description du format publiée par la Bibliothèque du Congrès indique mts comme deuxième extension.

Points clés

  1. Chaque paquet source fait 192 octets : un TP_extra_header de 4 octets suivi d’un paquet de transport MPEG-2 standard de 188 octets. Un analyseur qui parcourt le fichier par paquets de 188 octets perdra l’alignement, car l’octet de synchronisation du transport se trouve au décalage 4 de chaque paquet source. Le démultiplexeur MPEG-TS de FFmpeg gère cela en détectant la taille des paquets et en sautant les 4 premiers octets de chaque paquet de 192 octets.
  2. Un fichier .m2ts isolé contient le flux d’un clip, pas un titre. Sur un disque Blu-ray, les listes de lecture .mpls du répertoire BDMV/PLAYLIST sélectionnent des intervalles de clips et leur ordre, et les fichiers d’informations sur les clips .clpi du répertoire BDMV/CLIPINF contiennent les horodatages des points d’accès qu’un lecteur utilise pour déterminer où commencer la lecture. Les titres se situent un niveau au-dessus : la table d’index du disque associe chaque titre à un objet film ou à un objet BD-J, et les objets film, stockés dans BDMV/MovieObject.bdmv, lancent la lecture des listes de lecture. L’ouverture successive des fichiers du répertoire BDMV/STREAM fournit donc les flux de chaque clip sans l’ordre de lecture ni les points d’entrée et de sortie définis par les listes de lecture.
  3. Les sous-titres Blu-ray peuvent se trouver à deux endroits. Les flux graphiques de présentation bitmap sont multiplexés dans le flux de transport BDAV avec la vidéo et l’audio. Les sous-titres textuels constituent un clip distinct, hors multiplexage, qu’une liste de lecture rattache par un sous-chemin ; ils ne se trouvent donc pas dans le fichier .m2ts du clip principal. Le fichier de flux de ce clip se trouve dans BDMV/STREAM avec les clips audio et vidéo, et les polices des sous-titres sont des fichiers .otf distincts dans le répertoire AUXDATA.
  4. Le reconditionnement d’un fichier M2TS dans un autre conteneur par copie de flux laisse la vidéo et l’audio encodés intacts, car rien n’est décodé ni réencodé ; FFmpeg précise que la copie de flux peut néanmoins échouer lorsque le conteneur cible exige des informations que la source ne fournit pas. Les clips Blu-ray peuvent contenir de la vidéo MPEG-2, H.264/AVC ou VC-1 ; vérifiez donc chaque flux par rapport à ce que le conteneur cible accepte. Les sous-titres illustrent cette limite : dans le code source de FFmpeg 8.0, le multiplexeur MP4 ne possède de balise de codec pour aucun des deux codecs de sous-titres Blu-ray et rejette ces flux. Les clips provenant de disques commerciaux constituent un cas distinct : la Bibliothèque du Congrès indique que M2TS ne prend pas lui-même en charge le chiffrement, mais que les disques Blu-ray sont souvent protégés par AACS.

Quand les fichiers M2TS sont utiles

Les chaînes de traitement multimédia rencontrent M2TS lors de l’ingestion d’enregistrements de caméscopes AVCHD ou des fichiers de clips du répertoire BDMV/STREAM d’une structure Blu-ray Disc. Le choix essentiel consiste à traiter un fichier comme un flux autonome ou comme un clip d’un disque : un fichier .m2ts isolé peut être démultiplexé seul, mais l’ordre de lecture et les tables de points d’accès sont définis dans les fichiers associés de listes de lecture et d’informations sur les clips, et les titres du disque dans sa table d’index.

Travailler avec des fichiers M2TS

Le multiplexeur MPEG-TS de FFmpeg possède un mode m2ts qui écrit le préfixe de 4 octets avant chaque paquet de transport et utilise des identifiants de paquet fixes. Dans le code source de FFmpeg 8.0, le réglage automatique active ce mode lorsque le nom de sortie se termine par .m2ts, et le multiplexeur refuse plus d’un programme dans ce mode. La valeur que FFmpeg écrit dans le préfixe est un horodatage sur 30 bits issu de l’horloge du programme du flux.

Écrire un fichier de paquets de 192 octets n’équivaut pas à créer la structure d’un disque. Une structure Blu-ray BDMV nécessite également des fichiers d’index, d’objets film, de listes de lecture et d’informations sur les clips, et les lecteurs naviguent à l’aide de ces fichiers plutôt que des fichiers de flux. Pour lire une liste de lecture plutôt qu’un seul clip, FFmpeg propose un protocole d’entrée bluray qui lit une liste de lecture depuis une structure de disque montée.

Références

Transformer vos connaissances sur les médias en une chaîne de traitement opérationnelle

Reliez les téléversements, le traitement, l’IA, le stockage et la diffusion via une seule API déclarative — la pile d’encodage, la montée en charge et l’évolution constante des formats sont prises en charge pour vous.

Essayer Transloadit gratuitement