Skip to content
Bertrand Caron edited this page Jul 22, 2024 · 32 revisions

Matroska (MKV) (conteneur) Statut

Description

Le format Matroska, également nommé « MKV » pour Matroska Video selon une de ses extensions majoritaires, est un format conteneur audiovisuel open source et basé sur la structure EBML (Extensible Binary Meta Language). Il est issu d’un projet démarré en 2002 visant à créer un format de conteneur « streamable » pouvant embarquer dans un seul fichier un nombre illimité de flux vidéo et audio, d'images et de sous-titres, ainsi que des métadonnées et d'autres types de données tels que des menus (similaires à ceux des DVD) et des données « complexes » (logos, boutons et commandes).

Le créateur du format, Steve Lhomme, en aurait conçu le projet en 2001 afin d'enregistrer les débats de l'élection présidentielle française.

Sociabilité

La sociabilité du format (CPO-SOC) est satisfaisante dans les différentes communautés (grand public, professionnelle et institutions de conservation).

Les fichiers Matroska sont pris en charge par plusieurs lecteurs disponibles sur les principaux systèmes d'exploitation. En particulier, Windows 10 le gère par défaut. C'est également le cas de plusieurs navigateurs (Google Chrome, Microsoft Edge, etc.).

La communauté de la préservation numérique s'oriente vers ce format conteneur (avec un flux vidéo au format FFV1 et un flux audio au format FLAC ou LPCM pour les images animées depuis plusieurs années, que ce soit pour les films ou la vidéo. Depuis 2023, la Bibliothèque du Congrès le classe parmi ses formats préférés (il était jusque-là considéré comme « acceptable »). Le British Film Institute, la New York Public Library et Meemoo (l'institut flamand pour les archives) figurent parmi ses utilisateurs institutionnels.

Relations à d’autres formats

Le format Matroska s'appuie sur le format Extensible Binary Meta Language (EBML), un dérivé d'XML sous forme binaire.

Le format vidéo WebM est basé sur un profil du format de conteneur Matroska, complété par un flux vidéo au format VP8 et un flux audio au format Vorbis.

Versions

La version actuelle de Matroska est la version 4. Les versions 1 à 3 ne sont plus maintenues (leur documentation est toujours accessible mais aucune évolution ne sera proposée pour ces versions). Une étude de l'Université d'Indiana (Casey (Mike), Encoding and Wrapper Decisions and Implementation for Video Preservation Master Files, white paper, Indiana University, 2017, accessible sur https://mdpi.iu.edu/doc/MDPIwhitepaper.pdf) le décrit comme « mature et stable ».

Contenu

Un fichier MKV peut contenir plusieurs « segments » (à confirmer : le site web et cette présentation se contredisent) contenant eux-mêmes des pistes. Les pistes peuvent avoir les types suivants : video, audio, complex, logo, subtitles, buttons, control, metadata.

Matroska peut embarquer des flux audio, vidéo et sous-titres dans un très grand nombre de formats. Pour plus de détails, on se reportera à la page « Codec mappings » du site de référence. Le format peut aussi théoriquement embarquer un contenu 3D, mais cette fonctionnalité est encore à ses débuts et donc très rarement utilisée.

Un conteneur MKV peut également embarquer des fichiers attachés arbitraires (notamment : illustrations, polices pour afficher les sous-titres, voire le codec audio ou vidéo afin de limiter le risque de problèmes de dépendances (CPO-AUT)).

Un des objectifs de Matroska était d'intégrer des menus similaires à ceux d'un DVD, mais la spécification reste, sur ce point et à la date de janvier 2024, à l'état de brouillon.

Ange Albertini a réalisé une description visuelle de la structure d'un fichier MKV.

Organisme de maintenance et documentation de référence

Matroska est un projet open source réunissant de multiples contributeurs. L'organisation de maintenance, la Matroska Development Team, est une association de type loi 1901 basée en France (son créateur et développeur principal, Steve Lhomme, est français). En outre, la communauté de la préservation numérique a lancé un processus de normalisation auprès de l'IETF porté par le groupe Codec Encoding for LossLess Archiving and Realtime transmission (CELLAR), avec le soutien de la société MediaArea. Au 1er janvier 2024, la spécification est encore à l'état de brouillon (draft).

Les spécifications complètes du format sont également publiées sur le site officiel de Matroska.

Matroska étant basé sur EBML, la RFC 8794 décrivant ce dernier est applicable.

Identifiants

Les extensions de fichiers Matroska sont .mkv pour la vidéo (peut inclure des sous-titres ou de l'audio), .mk3d pour la vidéo stéréoscopique, .mka pour les fichiers audio uniquement (peuvent inclure des sous-titres), et .mks pour les sous-titres uniquement.

Le type MIME non officiel video/x-matroska a vocation à être remplacé par video/matroska à mesure de l'évolution du processus de normalisation. Le couple audio/x-matroska / audio/matroska est également prévu lorsque seul un flux audio est présent dans le conteneur.

Registre Identifiant
Wikidata Q223535
Bibliothèque du Congrès fdd000342
fdd000374 MKV avec codec V210
fdd000343 MKV avec codec FFV1
fdd000344 MKV avec codec H.264
fdd000345 MKV avec codec MPEG-2
fdd000375 MKV avec codec YUY2
fdd000376 MKV avec codec UYVY
fdd000347 MKV avec codec MP3
fdd000346 MKV avec codec LPCM
fdd000542 MKV avec codec AAC
PRONOM fmt/569
Just Solve the File Format Problem MKV

Caractéristiques techniques

La résilience (CPO-ROB) est un des atouts du format Matroska, conçu notamment pour être utilisé par streaming. En complément des empreintes numériques que les formats des flux audio ou vidéo embarqués peuvent prévoir, chaque « nœud » composant un fichier Matroska peut avoir une empreinte CRC interne, ce qui permet la détection et la localisation d'une éventuelle altération.

La structure du format Matroska, fondée sur EBML, un format arborescent sur le modèle d'XML mais sous une forme binaire, le rend relativement transparent (CPO-TRA), mais aussi aisément extensible, donc flexible.

Matroska prévoit l'utilisation de mécanismes de protection (CPO-PRO), en particulier le chiffrement de différentes composantes. Il est néanmoins exigé que le chiffrement ou la simple signature soit indiquée à l'aide d'un élément ContentEncryption.

Métadonnées internes

Le format MKV définit une liste de tags descriptifs applicables à différents niveaux (à des niveaux supérieurs au fichier - album, collection, etc. - et à des niveaux inférieurs - piste, chapitre, etc.). On consultera également la page décrivant la structure des éléments pour les métadonnées descriptives des pistes (langue, nature et usage des pistes audio et textuelles : sous-titres malentendants, audiodescription, etc.).

Fondé sur le format EBML, MKV est donc extensible, ce qui permet aux utilisateurs d'y adjoindre des métadonnées internes arbitraires et adaptées à leurs besoins.

Le format gère notamment le chapitrage.

Outils connus par la BnF

La Matroska Development Team propose des bibliothèques logicielles open source en C/C++ pour manipuler les fichiers Matroska. L'outil ffmpeg gère également le format. Une liste d'outils tiers maintenue par les développeurs de Matroska est accessible sur leur site.

L'étude de l'Université d'Indiana citée plus haut décrit dans sa section 7, page 10, l'outil de production fondé sur ffmpeg utilisé pour produire des fichiers MKV FFV1.

L'outil mkvtoolnix permet de créer des conteneurs MKV à partir de contenus audiovisuels (mkvmerge), d'analyser un fichier MKV et ses pistes (mkvinfo), d'en extraire des flux (mkvextract) et d'en éditer les métadonnées internes (mkvpropedit).

Matroska dispose d'un outil de validation officiel : mkvalidator. L'outil mkclean permet de nettoyer et d'optimiser les fichiers Matroska.

La société MediaArea, sponsorisée par de nombreuses institutions de conservation internationales, a développé plusieurs outils prévus pour traiter des conteneurs MKV :

  • RAWcooked qui permet de convertir un flux vidéo brut (une séquence d'images en TIFF ou DPX) vers un fichier MKV FFV1 FLAC. (Cette transformation est intégralement réversible.) ;
  • QCTools qui permet de contrôler la qualité du signal vidéo à l'aide de mesures et de visualisations adaptées et qui gère les formats MKV et FFV1 ;
  • MediaConch (pour Media CONformance CHecker) qui permet de valider des fichiers vidéo MKV FFV1 PCM, de définir un profil d'application, c'est-à-dire des contrôles supplémentaires contraignant la valeur de métadonnées du rapport de MediaInfo.

Usage ou présence dans les collections de la BnF

À compter de 2024, Matroska est le format conteneur recommandé pour la numérisation vidéo de bandes masters.

Clone this wiki locally