Matroska

Containerformat für Multimediadaten

Matroska [məˈtrɒskə], nach russisch Matrjoschka [məˈtroʊʃkə], ist ein Containerformat für Audio- und Videodaten. Matroska-Dateien haben entweder die Endung .mkv für Videodaten oder .mka für reine Audiodaten. Für Untertitel wird die Endung .mks verwendet, während für dreidimensionale Inhalte die Endung .mk3d eingeführt wurde.

Matroška (Матрёшка)
Dateiendung: .mkv, .mk3d, .mka, .mks
MIME-Type: video/x-matroska audio/x-matroska
(Keine IETF-Empfehlung)[1]
Entwickelt von: Matroska.org
Erstveröffentlichung: 2003[2]
Aktuelle Version 03[3][4]
(3. Juli 2017)
Art: Containerformat
Container für: Multimedia
matroska.org


Matroska unterstützt verschiedene Videocodecs, unter anderem MPEG-1, MPEG-2, MPEG-4, H.264, HEVC, AV1, RealVideo, Theora, Dirac, und Audiocodecs, beispielsweise AAC, AC3, DTS, WAV, MP3, Vorbis und FLAC sowie zusätzliche Formate für Untertitel (VobSub) und erweiterte Metainformationen.

Die Entwickler verstehen das Format als Alternative zu bestehenden Containerformaten wie AVI, OGM/Ogg, ASF, MOV oder MP4. Die Spezifikationen sind öffentlich einsehbar und können frei in Softwareanwendungen verwendet werden. Die Kernbibliotheken stehen unter der GNU LGPL, der Parser unter der BSD-Lizenz.

Eigenschaften des Formats

Bearbeiten

Das Format verwendet EBML, ein binäres XML-Format, zur Beschreibung des Containers.[5] Dadurch wird eine hohe Flexibilität des Formats ermöglicht und zugleich gewährleistet, dass Weiterentwicklungen des Formats auch durch ältere Parser noch gelesen werden können.

Ähnlich wie auf DVDs erlaubt die Matroska-Spezifikation u. a. die Einteilung von Dateien in Kapitel, Seamless Branching, sowie die Verwendung mehrerer Tonspuren, zum Beispiel für unterschiedliche Sprachversionen. Das Seitenverhältnis kann während der Ausgabe verändert werden. Der Standard sieht auch Menüfunktionen zur Benutzerführung vor; eine entsprechende Implementierung gibt es aber bisher weder bei den Authoring-Tools noch bei den Wiedergabeprogrammen.

Matroska-Container können neben Audio- und Video- auch Textstreams (etwa für Untertitel) oder Dateien eines beliebigen anderen Formates enthalten. Die Bildrate des Videostreams muss nicht konstant sein, sondern darf schwanken (variable framerate encoding, VFR). Die Synchronisation von Audio- und Videospur kann bei der Erstellung sowie nachträglich noch durch Anpassen der Metainformationen mit einer passenden Verschiebung versehen werden.

Matroska-Dateien sind oft kleiner als vergleichbare Dateien in anderen Formaten, da die Datenstruktur des Containers nur einen geringen Overhead erzeugt. Die maximale Dateigröße beträgt in der derzeitigen Spezifikation 256 − 2 Byte, was ungefähr 7 × 1016 Byte oder 72 Petabyte entspricht.[5]

Matroska kann als Streaming-Format eingesetzt und dann mittels HTTP übertragen werden – von Streaming per RTP wird abgeraten.[6]

Verbreitung

Bearbeiten

Seit 2003 existiert mit MKVToolNix ein freier Muxer für Matroska.[2]

DivX Inc. nutzt für deren im Januar 2009 veröffentlichtes DivX-7-Format MKV als alleiniges Containerformat,[7] allerdings in einer nicht vollständig standardkonformen Implementierung.[8]

Im Mai 2010 gab Google das Multimedia-Format WebM als Open-Source-Projekt frei, welches auf dem freigekauften Videocodec VP8, dem freien Audiocodec Vorbis und einer vereinfachten Variante von Matroska basiert. Es gibt nur eine vereinfachte Dateistruktur wieder und erlaubt nur die Codecs VP8/VP9 für Video- und Vorbis für Audiospuren.[9]

Im Oktober 2014 bestätigte Microsoft, dass Windows 10 Matroska-Container sowie den HEVC-Codec nativ unterstützen wird.[10][11] Die Unterstützung war erstmals im Windows 10 Technical Preview Build 9860 verfügbar.[12][13]

Unterstützung von MKV in Hardware-Geräten

Bearbeiten

Unterstützt werden in der Hauptsache MKV-Dateien mit den Videocodecs H.264 Level 4.0 und 4.1, MPEG-4 ASP (Advanced Simple Profile) und Tonspuren in den Formaten AC3, MPEG-1 Layer 2 (MP2) und Layer 3 (MP3), Advanced Audio Coding (AAC) sowie Ogg Vorbis. Es ist aber nicht einfach möglich, auf diese Weise alle denkbaren MKV-Videos in Hardware zu unterstützen, bedingt durch die enorme Vielfalt von möglichen Video- und Audiostreams in MKV-Dateien. Definierte Wiedergabeprofile, sogenannte Subsets von Matroska, die dies einfacher erlauben würden, fehlen bisher noch im Standard.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Specification Notes – Mime Types. matroska.org, abgerufen am 8. Juni 2010 (englisch).
  2. a b Matroska open source A/V container format officially released, 1. Mai 2003
  3. Release 03. 3. Juli 2017 (abgerufen am 2. Dezember 2018).
  4. Release 03. 3. Juli 2017 (abgerufen am 21. April 2019).
  5. a b Matroska Format Specifications. matroska.org, abgerufen am 8. Juni 2010 (englisch).
  6. matroska.org
  7. DivX 7 fertiggestellt. In: heise online. 6. Januar 2009, abgerufen am 8. Juni 2010.
  8. archive.org
  9. The WebM Project - FAQ. Abgerufen am 8. Juni 2010 (englisch).
  10. Gabriel Aul: HEVC also supported in-box., Twitter, 31. Oktober 2014. Abgerufen am 3. November 2014 
  11. John Callaham: Microsoft: Windows 10 will support the HEVC video compression standard, Windows Central, 1. November 2014. Abgerufen am 3. November 2014 
  12. Bogdan Popa: Microsoft Confirms MKV File Support in Windows 10, Softpedia, 3. November 2014. Abgerufen am 15. November 2014 
  13. Gabe Aul: New build available to the Windows Insider Program, Microsoft, 12. November 2014. Abgerufen am 15. November 2014