mkvinfo -- Matroska(tm)ファイルの要素についての情報を表示します。

# 1. 書式

mkvinfo options {source-filename}

# 2. 説明

このプログラムは、Matroska(tm) ファイルに格納されている全ての要素の一覧を表示します。出力は、使用されているコーデックを含む、トラックのリストのみに制限することもできます。

Option | Description
--- | ---
-a, --all | By default mkvinfo(1) stops when it encounters the first cluster. Additionally it doesn't show certain often occurring elements. With this option mkvinfo(1) will continue processing regardless of the verbosity level and show all elements.
-c, --checksums | フレームごとにAdler-32チェックサムを計算し、表示します。デバッグのためにのみ有用です。
-o, --continue | By default mkvinfo(1) stops when it encounters the first cluster. With this option mkvinfo(1) will continue processing regardless of the verbosity level.
-p, --hex-positions | Show the positions of all elements in hexadecimal regardless of the verbosity level.
-P, --positions | Show the positions of all elements in decimal regardless of the verbosity level.
-s, --summary | 全てのエレメントについて表示するのではなく、mkvinfo(1)の見つけたものの簡潔なサマリを表示します。
-t, --track-info | 各トラックの統計情報を冗長モードで表示します。また、冗長レベルが0だった場合は1に設定します。
-x, --hexdump | 各フレームの最初の16バイトを16進数のダンプとして表示します。
-X, --full-hexdump | 各フレームの全てのバイトを16進数のダンプとして表示します。
-z, --size | ヘッダも含めた各要素のサイズを表示します。
--command-line-charset 文字コード | コマンドライン文字列の文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。
--output-charset 文字コード | 出力する文字コードを指定します。デフォルトは、システムの現在のロケールの文字コードになります。
-r, --redirect-output file-name | 全てのメッセージをコンソールではなくfile-nameで指定したファイルに書き出します。出力リダイレクトによっても同じことが簡単にできますが、このオプションが必要な場合もあります。ターミナルがファイルに書き込む前に出力を処理してしまう場合などです。--output-charsetによって指定された文字コードは尊重されます。
--ui-language コード | 指定したコード言語（例 日本語なら「ja_JP」）での翻訳を強制します。codeに「list」を指定すると、利用可能な翻訳の一覧を出力します。
--abort-on-warnings | 最初の警告が発された後プログラムを停止するよう伝えます。プログラムの終了コードは1になります。
--debug 項目 | 特定の機能のデバッグをオンにします。このオプションは開発者にのみ有用です。
--engage 機能 | 実験的機能をオンにします。利用可能な機能のリストはmkvinfo --engage listで得られます。これらの機能は通常の状況で使用されることを意図されていません。
--gui-mode | GUIモードに切り替えます。このモードではGUI操作の状況を伝える特殊な形式の行が出力されます。これらの通知は「#GUI#通知内容」という形式に従います。「#GUI#通知内容#キー1=値1#キー2=値2...」のようにキー・値の組が通知内容に続くことがあります。通知内容やキーは翻訳されることなく、常に英語で出力されます。
-v, --verbose | 冗長モードになります。冗長レベルセクションに、どの冗長レベルでどの情報が出力されるかの説明があります。
-h, --help | コマンド書式情報を出力して終了します。
-V, --version | バージョン情報を出力して終了します。
@オプションファイル.json | オプションファイルから追加のコマンドライン引数を読み込みます。このようなファイルに対応している形式の詳細についてはmkvmerge(1)のマニュアルページ「オプションファイル」節をご覧ください。

# 3. 冗長レベル

-vオプションにより、mkvinfo(1)の冗長レベルを上げ、入力ファイルについてのより詳しい情報を出力させることができます。

レベル0では、トラックヘッダとトラックの種類のみを出力します。mkvinfo(1)は、ヘッダを完全に解析し終るとすぐに(より技術的には、最初のクラスタを検出した直後に)終了します。このレベルでは、シークヘッドエントリ及びCUEがトラック情報の前に格納されていたとしても表示されません。

レベル1では、ファイル全体にあるシークヘッドエントリとCUE以外のMatroska(tm)エレメントを表示します。もし、サマリモードが有効の場合、フレーム位置も出力します。

The same effect can be achieved with the option --continue.

レベル2では、シークヘッドエントリ、CUE、及び各Matroska(tm)エレメントのファイル内位置も表示します。

The same effect can be achieved with the options --all --positions.

レベル3以上では、Matroska(tm)エレメントに直接関係ない情報も表示します。他のエレメントについては、見付かったものだけを表示します。レベル3はデバッグ用にメタ情報を追加します(開発者向け)。レベル3で追加された行は、全て角括弧で囲われています。

# 4. テキストファイルと文字コード変換

MKVToolNixスイートの全てのツールが文字コード変換・入出力に係る文字コード・コマンドライン及びコンソール上の文字コードをどのように処理するかについての詳細な議論については、mkvmerge(1) man ページの同名の節を参照して下さい。

# 5. 返り値

mkvinfo(1)は下の3つの返り値を返します。

- 0 -- この返り値は正常に終了したことを示します。

- 1 -- この返り値は、少なくとも一つの警告が表示されましたが、処理が続行されたことを意味します。警告は '警告:' という文字列を先頭につけて出力されます。

- 2 -- この返り値は、エラーが発生し、エラーメッセージを表示した直後にmkvinfo(1)が終了したことを示します。エラーメッセージは不正なコマンドラインやファイルI/Oエラー、壊れたファイルなど様々です。

# 6. 環境変数

mkvinfo(1)はシステムのロケールを決めるデフォルトの変数（例：LANGやLC_*系）を使用します。追加の変数は以下の通りです：

Option | Description
--- | ---
MKVINFO_DEBUG, MKVTOOLNIX_DEBUGとその短縮形MTX_DEBUG | その内容は、あたかも--debugオプション経由で渡されたかのように扱われます。
MKVINFO_ENGAGE, MKVTOOLNIX_ENGAGEとその短縮形MTX_ENGAGE | その内容は、あたかも--engageオプション経由で渡されたかのように扱われます。

# 7. 関連項目

mkvmerge(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1)

# 8. ウェブ

最新のバージョンは、常時MKVToolNixのホームページから取得できます。