Matroska

出典: フリー百科事典『ウィキペディア(Wikipedia)』

出典: フリー百科事典『ウィキペディア(Wikipedia)』
検索に移動
Matroska(Матрёшка)
Matroska-logo-128x128.png
拡張子.mkv .mka .mks .mk3d
MIMEタイプvideo/x-matroska audio/x-matroska
マジック
ナンバー
0x1a 0x45 0xdf 0xa3 ? 0x42 0x82 ? matroska
開発者Matroska.org
初版2002年12月6日 (18年前) (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のサブセットを採用している。2014年、Microsoft Windows 10がMatroskaに標準対応することがマイクロソフト社から発表された。

主な特徴[編集]

共通[編集]

MKV(Matroska Video File)[編集]

  • 複数音声
  • 前参照フレーム(Bフレーム)に対応
  • チャプター(頭出し機能。1/1000秒単位で設定可能)
  • 可変フレームレート(VFR)対応
  • 高度な字幕機能(テキスト型、VisualBob型両対応)
  • アスペクト比指定
  • 映像、音声、字幕以外のファイル添付
  • DVD-Videoのようなメニュー(未実装)

MKA(Matroska Audio File)[編集]

  • アルバム化(複数の曲を一つのファイルに入れ、順番に再生)
  • 時間が同じでないファイルの多重化
  • 異なるコーデックの音声を収録可能

EBML[編集]

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

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

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

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

構造[編集]

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

  • Element ID: この要素の種類を示す識別子。XMLにおけるタグ名に相当。識別子の意味(例: ID_5 == <H1>)はスキーマごとで定義[9]
  • Element Data Size: この要素の長さ(オクテット)[10]
  • Element Data: コンテンツ

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

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

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

拡張子[編集]

  • .mkv Matroska Video(映像)
  • .mka Matroska Audio(音声のみ)
  • .mks Matroska Subtitles(字幕のみ)
  • .mk3d Matroska 3D(3D映像)

CodecIDの例[編集]

ビデオ[編集]

  • V_MPEG4/ISO/AVC(H.264/MPEG-4 AVC)

オーディオ[編集]

  • A_AAC/MPEG4/LC(AAC-LC)

対応ソフト[編集]

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

メディアプレーヤー[編集]

名前 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]

脚注[編集]

  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. ^ "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?
  6. ^ "EBML uses a system of Elements to compose an EBML Document." RFC8794 July 2020. Extensible Binary Meta Language.
  7. ^ '"EBML Element": A foundation block of data' RFC8794 July 2020. Extensible Binary Meta Language.
  8. ^ '"EBML Element" ... that contains three parts: an "Element ID", an "Element Data Size", and "Element Data".' RFC8794 July 2020. Extensible Binary Meta Language.
  9. ^ 'used to uniquely identify a defined "EBML Element" within a specific "EBML Schema".' RFC8794 July 2020. Extensible Binary Meta Language.
  10. ^ 'An expression, encoded as a "Variable-Size Integer", of the length in octets of "Element Data".' RFC8794 July 2020. Extensible Binary Meta Language.
  11. ^ 型は8種類(int, uint, float, string, UTF-8, Date, Master, Binary)
  12. ^ "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.
  13. ^ '"EBML Body": All data of an "EBML Document"' RFC8794 July 2020. Extensible Binary Meta Language.
  14. ^ '"EBML Document": A datastream comprised of only two components, an "EBML Header" and an "EBML Body".' RFC8794 July 2020. Extensible Binary Meta Language.

関連項目[編集]

ソフトウェア[編集]

その他[編集]