Matroska
拡張子 | .mkv .mka .mks .mk3d |
---|---|
MIMEタイプ | video/x-matroska audio/x-matroska |
マジック ナンバー | 0x1a 0x45 0xdf 0xa3 ? 0x42 0x82 ? matroska |
開発者 | Matroska.org |
初版 | 2002年12月6日[1] |
種別 | コンテナフォーマット |
包含物 | 音声、動画、字幕 |
オープン フォーマット | Yes |
ウェブサイト | matroska |
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]。
主な特徴
[編集]この節には独自研究が含まれているおそれがあります。 |
共通
[編集]- 多種多様なコーデックに対応。
MKV(Matroska Video File)
[編集]- 複数音声
- 前参照フレーム(Bフレーム)に対応
- チャプター(頭出し機能。1/1000秒単位で設定可能)
- 可変フレームレート(VFR)対応
- 高度な字幕機能(テキスト型、VisualBob型両対応)
- アスペクト比指定
- 映像、音声、字幕以外のファイル添付
- DVD-Videoのようなメニュー(未実装)
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 ID: この要素の種類を示す識別子。XMLにおけるタグ名に相当。識別子の意味(例:
ID_5 == <H1>
)はスキーマごとで定義[11]。 - Element Data Size: この要素の長さ(オクテット)[12]。
- Element Data: コンテンツ。
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]。
拡張子
[編集]この節には独自研究が含まれているおそれがあります。 |
- .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] | |
XMedia Recode | [27] |
脚注
[編集]- ^ “Older Archives”. Matroska. 2020年3月23日閲覧。
- ^ "Matroska aims to become THE standard of multimedia container formats." Matroska.org. What is Matroska?
- ^ "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?
- ^ "Matroska ... is based on EBML" Matroska.org. What is Matroska?
- ^ “Googleがフリー動画フォーマット「WebM」を公開、MozillaやAdobeも支持”. INTERNET Watch Watch. 2022年10月19日閲覧。
- ^ “Windows 10: Native MKV support becomes official”. Neowin. 2022年10月19日閲覧。
- ^ "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?
- ^ "EBML uses a system of Elements to compose an EBML Document." RFC8794 July 2020. Extensible Binary Meta Language.
- ^ '"EBML Element": A foundation block of data' RFC8794 July 2020. Extensible Binary Meta Language.
- ^ '"EBML Element" ... that contains three parts: an "Element ID", an "Element Data Size", and "Element Data".' RFC8794 July 2020. Extensible Binary Meta Language.
- ^ 'used to uniquely identify a defined "EBML Element" within a specific "EBML Schema".' RFC8794 July 2020. Extensible Binary Meta Language.
- ^ 'An expression, encoded as a "Variable-Size Integer", of the length in octets of "Element Data".' RFC8794 July 2020. Extensible Binary Meta Language.
- ^ 型は8種類(int, uint, float, string, UTF-8, Date, Master, Binary)
- ^ "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.
- ^ '"EBML Body": All data of an "EBML Document"' RFC8794 July 2020. Extensible Binary Meta Language.
- ^ '"EBML Document": A datastream comprised of only two components, an "EBML Header" and an "EBML Body".' RFC8794 July 2020. Extensible Binary Meta Language.
関連項目
[編集]ソフトウェア
[編集]- Combined Community Codec Pack
- Haali Media Splitter
- VLC media player
- Media Player Classic
- GOM Player
- ratDVD
- MPlayer
- ビデオ (GNOME)
- FFmpeg(ffplay)