MKVファイルとは何ですか?
MKV (Matroska Video) は、MOV および AVI 形式に似たマルチメディア コンテナーですが、同じファイルで複数のオーディオおよび字幕トラックをサポートします。 MKV ファイルは、ビデオに使用される Matroska マルチメディア コンテナー形式です。 MKV は Extensible Binary Meta Language に基づいており、いくつかのビデオおよびオーディオ圧縮形式をサポートしています。 MKV と他のビデオ フォーマットの主な違いは、MKV がコーデックではなくコンテナであることです。 MKV ファイルは、.mkv ファイル拡張子で保存されます。 MKV は、オーディオ、ビデオ、および字幕を 1 つのファイルに組み込むことができます。それらの要素が異なるタイプのエンコーディングを使用している場合でも同様です。たとえば、H.264 ビデオとオーディオ用の MP3 または AAC を含む MKV ファイルを作成できます。 MKV は、説明、評価、カバー アート、さらにはチャプター ポイントもサポートしています。 MKV には将来を見据えた重要な機能がいくつかあります。これらの機能は次のとおりです。
- 高速シークのサポート。
- 異なるオーディオおよびビデオ ストリームを選択する機能。
- 字幕のサポート (ハードコードとソフトコード)。
- メタデータ、章、およびメニューのサポート。
- オンラインでストリーミングする機能。
- 破損したファイルを再生する機能を提供する、エラーのあるファイルを回復する機能。
簡単な歴史
MKV ファイルは 2002 年にロシアで作成されました。主任開発者は、Matroska の創設者である Steve Lhomme とプログラマーのチームと協力した Lasse Kärkkäinen でした。 MKV はオープン スタンダード プロジェクトとして開発されました。つまり、オープン ソースであり、無料で使用できます。時間が経つにつれて、フォーマットは改善され、2010 年に WebM マルチメディア フォーマットの基礎となりました。
マトロスカデザイン
Matroska は、EBML 仕様に次の制約を追加します。
- EBML ヘッダーの docType は「matroska」でなければなりません。
- EBML ヘッダーの EBMLMaxIDLength は 4 でなければなりません。
- EBML ヘッダーの EBMLMaxSizeLength は 1 から 8 (両端を含む) の間である必要があります。
すべての最上位要素は 4 オクテットでコード化されます。
- 言語コード: Matroska (バージョン 1 から 3) は、3 文字の書誌 ISO-639-2 形式 (フランス語の「fre」など) のいずれかの言語コードを使用するか、「fre-ca」のような追加の国コードを使用できます。 " カナダのフランス語。 Matroska バージョン 4 以降、ISO 639-2 または BCP 47 のいずれかが言語コードに使用される場合がありますが、BCP 47 が推奨されます。
- 物理タイプ: これらは、オーディオ ファイルとビデオ ファイルの両方で異なる意味を持ちます。たとえば、ChapterPhysicalEquiv = 60 は、オーディオの場合は (CD / 12" / 10" / 7" / TAPE / MINIDISC / DAT)、ビデオの場合は (DVD / VHS / LASERDISC) を意味します。
- ブロック構造 - ブロック ヘッダー: ブロック ヘッダーには、トラック番号、タイムスタンプ、レースの種類などに関する情報が含まれます。
- Lacing: 通常、データの小さなブロック (フレーム) に使用されるデータを格納するときに、スペースを節約するためのメカニズムです。レースには次の 3 種類があります。
- Xiph: Frame with a size multiple of 255 coded with a 0 at the end of the size. For example, The code for 765 is 255;255;255;0.
- EBML: The frame size is coded as a difference between the previous size and this size. The first size in the lace is unsigned but others use a range shift to get a sign on each value.
- fixed-size: The size remains the same.
- SimpleBlock 構造: Block 構造にインスパイアされており、主な違いは Keyframe および Discardable フラグの追加です。それ以外はすべて同じです。
マトロスカ構造
Matroska ドキュメントは、Matroska ドキュメント タイプを使用して、少なくとも 1 つの EBML ドキュメントで構成されている必要があります。各 EBML ドキュメント は、EBML ヘッダー で始まり、その後にセグメントとして定義された EBML ルート要素 が続く必要があります。 Matroska は、セグメント内で発生する可能性があるいくつかの最上位要素を定義します。
EBML は、要素のシステムを使用して EBML ドキュメントを構成します。以下は、Matroska ファイルの最上位要素のリストです。
- EBML ドキュメント: ファイル全体のラッパー。
- EBML ヘッダー: DocType などのファイルのヘッダー情報が含まれます。
- セグメント: 他のすべての最上位要素を含む最上位要素。
- SeekHead: 他の最上位要素のセグメントの位置が含まれます。
- 情報: セグメントに関する一般的な情報が含まれています。
- トラック: 多くのトラックが記述されたトップレベルの情報要素。
- チャプター: 基本メニューの定義とデータの分割に使用されます。
- Cluster: ブロック構造を含むトップレベルの要素。
- Cues: アクセスを高速化するセグメントにローカルなすべてのエントリを含むトップレベルの要素。
- 添付ファイル: これには添付ファイルが含まれます。
- タグ: この要素には、トラック、エディション、チャプター、添付ファイル、またはセグメント全体を説明するメタデータが含まれます。
次の表は、ほとんどの要素が階層で表示された Matroska ドキュメントの構造を示しています。
| | | | | | | | | | | | | | | | | | – | – | – | – | – | – | – | | | EBML ヘッダー | | | | | | | | |セグメント |シークヘッド|シーク | SeekID | | | | | | | | | SeekPosition | | | | |情報 |セグメントUID | | | | | | | | |セグメントファイル名 | | | | | | | | |前のUID | | | | | | | | |前のファイル名 | | | | | | | | |次の UID | | | | | | | | |次のファイル名 | | | | | | | | |セグメントファミリー | | | | | | | | |チャプター翻訳 | | | | | | | | |タイムスタンプスケール | | | | | | | | |期間 | | | | | | | | |日付UTC | | | | | | | | |タイトル | | | | | | | | | MuxingApp | | | | | | | | |ライティングアプリ | | | | | | |トラック |トラックエントリー |トラック番号 | | | | | | | | | TrackUID | | | | | | | | |トラックタイプ | | | | | | | | |名前 | | | | | | | | |言語 | | | | | | | | |コーデック ID | | | | | | | | | CodecPrivate | | | | | | | | |コーデック名 | | | | | | | | |ビデオ |フラグインターレース | | | | | | | | | | |フィールドオーダー | | | | | | | | | | |ステレオモード | | | | | | | | | | |アルファモード | | | | | | | | | | |ピクセル幅 | | | | | | | | | | |ピクセル高さ | | | | | | | | | | |表示幅 | | | | | | | | | | |表示高さ | | | | | | | | | | |アスペクト比タイプ | | | | | | | | | | |カラー | | | | | | | | |オーディオ |サンプリング周波数 | | | | | | | | | | |チャンネル | | | | | | | | | | |ビット深度 | | | | |チャプター |エディションエントリー |エディションUID | | | | | | | | | EditionFlagHidden | | | | | | | | | EditionFlagDefault | | | | | | | | | EditionFlagOrdered | | | | | | | | |チャプターアトム | ChapterUID | | | | | | | | | | | ChapterStringUID | | | | | | | | | | |チャプタータイムスタート | | | | | | | | | | |チャプタータイムエンド | | | | | | | | | | | ChapterFlagHidden | | | | | | | | | | |チャプター表示 |チャップストリング | | | | | | | | | | | | |チャップ言語 | | | | |クラスター |タイムスタンプ | | | | | | |サイレントトラック | | | | | | |ポジション | | | | | | |前のサイズ | | | | | | |シンプルブロック | | | | | | |ブロックグループ | | | | | | |暗号化ブロック | | | | |手がかり |キューポイント |キュータイム | | | | | | | | | CueTrackPositions | | | | |添付ファイル |添付ファイル |ファイルの説明 | | | | | | | | |ファイル名 | | | | | | | | | FileMimeType | | | | | | | | |ファイルUID | | | | | | | | |ファイル参照 | | | | | | | | | FileUsedStartTime | | | | | | | | | FileUsedEndTime | | | | |タグ |タグ |ターゲット |ターゲット タイプ値 | | | | | | | | | | |ターゲット タイプ | | | | | | | | | | | TagTrackUID | | | | | | | | | | | TagEditionUID | | | | | | | | | | | TagChapterUID | | | | | | | | | | | TagAttachmentUID | | | | | | | | |シンプルタグ |タグ名 | | | | | | | | | | |タグ言語 | | | | | | | | | | |タグデフォルト | | | | | | | | | | |タグ文字列 | | | | | | | | | | |タグバイナリ | | | | | | | | | | |シンプルタグ |
コーデックの使用
新しいメディア プレーヤーが必要なく、既存のプレーヤーを使用したい場合は、いくつかのコーデック (圧縮/解凍の省略形) をインストールする必要があります。コーデックのダウンロードは有効なオプションですが、ソースに注意する必要があり、これらにはマルウェアが含まれている可能性があります。