Matroska(Матрёшка)
拡張子.mkv .mka .mks .mk3d
MIMEタイプvideo/x-matroska audio/x-matroska
マジック
ナンバー
0x1a 0x45 0xdf 0xa3 ? 0x42 0x82 ? matroska
開発者Matroska.org
初版2002年12月6日 (21年前) (2002-12-06)[1]
種別コンテナフォーマット
包含物音声動画字幕
オープン
フォーマット
Yes
ウェブサイトmatroska.org

Matroskaロシア語: Матрёшкаマトロスカマトリョーシカ)はマルチメディアコンテナフォーマットの一種である[2]

概要

Matroskaは動画音声字幕などのマルチメディアデータを格納するコンテナフォーマットである。「.mkv」ファイル(Matroska Video)や「.mka」ファイル(Matroska Audio)として知られる。ロシアの入れ子人形マトリョーシカにちなんで名付けられた。オープンソースGNU LGPL)で開発が行われている[3]

データ構造仕様にEBML(Extensible Binary Meta Language)を採用し[4]後方互換性と拡張性を両立させている[要出典]

家電DVDプレーヤーなどでも一部対応した機種が存在する。DivX7が標準コンテナとしてMatroskaを採用している[要出典]Google社の動画規格WebMのコンテナとしてMatroskaのサブセットを採用している[5]。2014年、Microsoft Windows 10がMatroskaに標準対応することがマイクロソフト社から発表された[6]

主な特徴

この節には独自研究が含まれているおそれがあります。問題箇所を検証出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2021年8月)

共通

MKV(Matroska Video File)

MKA(Matroska Audio File)

EBML

EBML(Extensible Binary Meta Language)XMLを基に作られた、拡張性に優れたデータ格納方式である[要出典]

HTML、XMLの様にタグ形式(正確にはバイナリの擬似形式)で記述されており、対応していない機能においては無視するようになっている[要出典]

したがって、新機能の追加においても互換性を落とすことなく対応させることができ、なおかつ、不具合の起きにくい設計にすることを可能にした[7]

EBMLはRFC8794としてインターネット標準化過程の途上にある[要出典]

構造

XMLが要素の木構造からなるように、EBMLも要素の入れ子構造から成る[8]。構成単位たる要素はEBML Elementと呼ばれる[9]。要素の種類によらずEBML Elementは次の3要素から成る[10]

Element自身が長さ情報を持つとは、要素間の「区切り」が明示されているということである。よってEBMLパーサーは要素が何を示すかを知らずとも、EBMLファイルを頭から読んでサイズごとに区切ることでElement集合を生成できる[要出典]

上記の通りElementはIDをもち、このIDがElementの意味/役割(セマンティックス)に結びついている。具体的な各Elementはスキーマで定義され、ID・名称・型などを持つ(例: ID_5/<H1>/String型)[13][14]スキーマではなくEBML仕様で定義される特殊なElementが13種類存在している[要出典]

EBML Elementの入れ子構造からなり、かつEBMLで定めるElement配置をもつデータをEBML Documentという。EBML Documentはデータ部であるEBML Body[15]と仕様部であるEBML Headerからなる[16]

拡張子

この節には独自研究が含まれているおそれがあります。問題箇所を検証出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2021年8月)

CodecIDの例

この節には独自研究が含まれているおそれがあります。問題箇所を検証出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2021年8月)

ビデオ

オーディオ

対応ソフト

以下の「SSA」は「Sub Station Alpha」、「ASS」は「Advanced SSA」と呼ばれる一般的な字幕のファイルフォーマットである。

メディアプレーヤー

この節には独自研究が含まれているおそれがあります。問題箇所を検証出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2021年8月)
名前 OS SSA/ASSサポート
ALLPlayer Windows No
ALShow No
BS.Player No
Chameleo クロスプラットフォーム No
CorePlayer No
DivX Player No
Daum PotPlayer Windows Yes
GOM Player Yes
Gstreamerベースのプレイヤー
クロスプラットフォーム No
jetAudio Windows No
Kantaris No
The KMPlayer Yes
TotalMedia Theatre No
Media Player Classic Yes
MPlayer クロスプラットフォーム Yes
MPlayer Extended macOS Yes
ShowTime Windows No
SMPlayer クロスプラットフォーム Yes
Target Longlife Media Player Windows No
The Core Pocket Media Player Windows Mobile No
VLC media player クロスプラットフォーム Yes
xine No
Zoom Player Windows No
GNOME ビデオ Unix系 Yes

メディアセンター

名前 OS SSA/ASSサポート
Boxee クロスプラットフォーム [1]
DivX Connected Windows [2]
MediaPortal [3]
Moovida クロスプラットフォーム [4]
MythTV Linux [5]
Plex macOS [6]
PS3 Media Server クロスプラットフォーム [7]
Xbmc [8]

ツール

名前 OS SSA/ASSサポート
Avidemux クロスプラットフォーム [9]
Conceiva
ConvertHQ
Windows [10]
HandBrake クロスプラットフォーム [11]
iFunia Video Converter macOS [12]
DivX Converter クロスプラットフォーム [13]
FFmpeg [14]
FormatFactory Windows [15]
iVerio Software Video Converter for Camcorders クロスプラットフォーム [16]
MediaCoder Windows [17]
MKVToolnix クロスプラットフォーム [18]
MKV2VOB for converting MKV for playback on PS3 etc Windows [19]
Perian Quicktime Plugin for Mac OS X macOS [20]
SUPER Windows [21]
Total video converter [22]
Video Converter Ultimate Windows
Mac OS
[23]
VirtualDubMod Windows [24]
MakeMKV [25]
ConvertXtoDVD [26]
XMedia Recode [27]

脚注

  1. ^ Older Archives”. Matroska. 2020年3月23日閲覧。
  2. ^ "Matroska aims to become THE standard of multimedia container formats." Matroska.org. What is Matroska?
  3. ^ "Matroska is an open standards project. ... The source code of the libraries developed by the Matroska Development Team is licensed under GNU L-GPL." Matroska.org. What is Matroska?
  4. ^ "Matroska ... is based on EBML" Matroska.org. What is Matroska?
  5. ^ Googleがフリー動画フォーマット「WebM」を公開、MozillaやAdobeも支持”. INTERNET Watch Watch. 2022年10月19日閲覧。
  6. ^ Windows 10: Native MKV support becomes official”. Neowin. 2022年10月19日閲覧。
  7. ^ "EBML enables the Matroska Development Team to gain significant advantages in terms of future format extensibility, without breaking file support in old parsers." Matroska.org. What is Matroska?
  8. ^ "EBML uses a system of Elements to compose an EBML Document." RFC8794 July 2020. Extensible Binary Meta Language.
  9. ^ '"EBML Element": A foundation block of data' RFC8794 July 2020. Extensible Binary Meta Language.
  10. ^ '"EBML Element" ... that contains three parts: an "Element ID", an "Element Data Size", and "Element Data".' RFC8794 July 2020. Extensible Binary Meta Language.
  11. ^ 'used to uniquely identify a defined "EBML Element" within a specific "EBML Schema".' RFC8794 July 2020. Extensible Binary Meta Language.
  12. ^ 'An expression, encoded as a "Variable-Size Integer", of the length in octets of "Element Data".' RFC8794 July 2020. Extensible Binary Meta Language.
  13. ^ 型は8種類(int, uint, float, string, UTF-8, Date, Master, Binary)
  14. ^ "An EBML Element Type defines a concept of storing data within an EBML Element that describes such characteristics as length, endianness, and definition." RFC8794 July 2020. Extensible Binary Meta Language.
  15. ^ '"EBML Body": All data of an "EBML Document"' RFC8794 July 2020. Extensible Binary Meta Language.
  16. ^ '"EBML Document": A datastream comprised of only two components, an "EBML Header" and an "EBML Body".' RFC8794 July 2020. Extensible Binary Meta Language.

関連項目

ソフトウェア

その他

外部リンク