Qu’est-ce qu’un fichier M2V ?
Un fichier M2V contient un flux vidéo élémentaire MPEG-2 sans audio multiplexé ni conteneur polyvalent. Les informations temporelles ou l’audio associé peuvent donc être fournis par un autre fichier ou un système de création de disques.
Comment fonctionnent les fichiers M2V
M2V contient la séquence d’images codées produite par un encodeur vidéo MPEG-2 : un en-tête de séquence, des en-têtes de groupes d’images facultatifs et des en-têtes d’image avec leurs données d’image. Les fonctionnalités du conteneur telles que les pistes nommées, les horodatages de présentation et le son entrelacé sont absentes. Un logiciel de création de disques associe le flux à de l’audio encodé séparément et multiplexe les deux dans un flux de programme MPEG, un flux de transport ou une structure destinée aux DVD, où la couche système ajoute des horodatages dans ses en-têtes de paquet. Comme le multiplexage copie les images codées, la vidéo peut être remultiplexée sans nouvel encodage avec pertes.
Points clés
- L’extension
.m2vest une convention de nommage pour un flux binaire vidéo brut H.262/MPEG-2 et ne prouve rien à elle seule. Les outils identifient le contenu à partir de ses codes de début : la détection des flux vidéo MPEG bruts de FFmpeg compte les codes de début de séquence, d’image et de tranche, et rejette les données contenant des en-têtes de packs de flux de programme ou des paquets audio. - Un fichier M2V ne possède pas d’horodatages de présentation, mais sa syntaxe vidéo décrit tout de même la chronologie de lecture. L’en-tête de séquence déclare les dimensions de l’image, les informations de rapport d’aspect et un champ
frame_rate_codequi sélectionne des cadences telles que 24000/1001, 25 ou 30000/1001 images par seconde. Chaque en-tête d’image MPEG-2 est suivi d’une extension de codage d’image dont les indicateurstop_field_firstetrepeat_first_fieldpeuvent prolonger l’affichage de cette image, par exemple sur trois périodes de trame au lieu de deux pour le pulldown 3:2 d’un film ; les durées des images ne découlent donc pas toujours de la seule cadence d’images. Les horodatages de présentation appartiennent à la couche système et n’apparaissent qu’après le multiplexage, dans les en-têtes de paquets PES. Un en-tête de groupe d’images, lorsqu’il est présent, contient un code temporel dont H.262 précise qu’il ne joue aucun rôle dans le décodage. - Renommer un fichier M2V avec l’extension
.mpgne le transforme pas en flux de programme. Un flux de programme est constitué de packs, chacun doté d’un en-tête de pack suivi de paquets PES, et rien de cela n’existe dans un simple flux binaire vidéo. Le fichier ne contient toujours que de la vidéo, et un logiciel qui se fonde sur le contenu y reconnaîtra toujours un flux élémentaire. - Ajouter du son implique un multiplexage, pas une conversion. Un multiplexeur tel que
mplexde MJPEG Tools combine de la vidéo MPEG avec des flux audio MPEG, AC-3, DTS ou LPCM dans un flux de programme sans réencodage. Deux conditions s’appliquent : la synchronisation audio et vidéo n’est stockée dans aucun des fichiers élémentaires, donc tout décalage de départ doit être fourni au multiplexeur ; une sortie conforme au DVD nécessite le mode spécifique au DVD du multiplexeur, que le manuel demplexdécrit lui-même comme étant loin de permettre une création complète de DVD.
Quand les fichiers M2V sont utiles
Les fichiers M2V proviennent de processus de création de DVD et de Blu-ray, dans lesquels la vidéo est encodée sous forme de flux élémentaire MPEG-2 séparément de l’audio, les deux étant multiplexés ultérieurement. Compressor d’Apple, par exemple, décrit sa sortie en flux élémentaire MPEG-2 comme un canal vidéo sans audio, destiné à une application tierce de création de disques. Seul, un fichier M2V ne contient ni son, ni horodatages ou index de conteneur ; traitez-le donc comme un fichier intermédiaire destiné au multiplexage, et non comme un fichier de diffusion.
Références
- Bibliothèque du Congrès : description du format d’encodage vidéo MPEG-2 (H.262) (flux élémentaires, en-têtes de séquence, flux de programme)
- Manuel de mplex(1), MJPEG Tools : multiplexeur de flux de programme/système MPEG-1/2
- Documentation des formats de FFmpeg : multiplexeurs de flux bruts (mpeg2video, extension m2v) et multiplexeurs de flux de programme MPEG-1/MPEG-2
- Code source de FFmpeg 8.0 : libavformat/mpegvideodec.c (détection des flux vidéo MPEG bruts)
- Guide d’utilisation de Compressor d’Apple : MPEG-2 (sortie en flux de programme, élémentaire et de transport)
- ITU-T H.262 (02/2000) | ISO/IEC 13818-2 : vidéo MPEG-2 (structure de séquence vidéo, en-tête de séquence, en-tête de groupe d’images)
- ITU-T H.222.0 (08/2018) | ISO/IEC 13818-1 : MPEG-2 Systems (paquets PES, horodatages de présentation, packs de flux de programme)