Matroska
拡張子 .mkv .mka .mks .mk3d
MIMEタイプ video/x-matroska audio/x-matroska
マジック
ナンバー
0x1a 0x45 0xdf 0xa3 ? 0x42 0x82 ? matroska
開発者 Matroska.org
初版 2002年12月6日 (23年前) (2002-12-06)[1]
種別 コンテナフォーマット
包含物 音声動画字幕
国際標準 RFC 9559
オープン
フォーマット
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]

2024年10月、MatroskaはRFC 9559として正式に規格化された。

主な特徴

編集

共通

編集

MKV(Matroska Video File)

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

MKA(Matroska Audio File)

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

EBML

編集
Extensible Binary Meta Language
MIMEタイプ application/x-matroska
マジック
ナンバー
1A 45 DF A3[7]
拡張 Matroska
国際標準 RFC 8794
テンプレートを表示

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

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

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

2020年7月、EBMLはRFC 8794として正式に規格化された。

構造

編集

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

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

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

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

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


拡張子

編集
  • .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]

脚注

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

関連項目

編集

ソフトウェア

編集

その他

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

C Sharp

'); } private static string Parse(BinaryExpression expr) { string str = ""; if (expr.Left is BinaryExpression) { str += Parse((BinaryExpression) expr.Left);

アルファベット (計算機科学)

ルファベットからなる文字の有限の並びである。特に、{0, 1}からなるアルファベットはバイナリアルファベットと呼ばれる。また、二進列 (binary string)は、バイナリアルファベットの並びである。また、うまく処理することで、無限の文字の並びも考えることが可能である。

リテラル

(英: binary resolvant) を作る場合に導出に使われたリテラル (英: literal resolved upon) と呼ぶ。共通の変数を含まない2つの節で、推論した節の二次元等号調整系 (英: binary paramodulant) を作ったとき、等号調整に使われたリテラル

二分木

二分木(にぶんぎ)は、データ構造の1つである。二進木(にしんぎ)やバイナリツリー(英: binary tree)とも呼ばれ、根付き木構造の中で、全てのノード(節点 node)が持つ子の数が高々2であるものをいう。典型的には2つの子はそれぞれ「左」「右」と呼ばれる。 たとえば、二分探索や二分ヒープを実装するために使われる。

共通中間言語

converted to binary code but to the intermediate language. When a project is run, every language of .NET programming is converted into binary code into CIL

二進化十進表現

二進化十進数 (BCD、Binary-coded decimal ) とは、コンピュータにおける数値の表現方式の一つで、十進法の1桁を、0から9までを表す二進法の4桁で表したものである。「二進化十進符号」などとも呼ばれる。3増し符号など同じ目的の他の方式や、より一般的に、十進3桁を10ビットで表現するDensely

PPPoE

Length: 36 PPPoE Tags Tag: AC-Name String Data: IpzbrOOl Tag: Host-Uniq Binary Data: (16 bytes) AC-Name 以下の String dataはDSL-ACの名前である。SrcはDSL-ACのMACアドレスである。

FBX

FBX technology ^ FBX binary file format specification — Blender Developers Blog ^ Autodesk FBX SDK Documentation: Supported String Formats dotXSI COLLADA