mkvinfo -- Print information about elements in Matroska(tm) files

# 1. 概要

mkvinfo 選項 {輸入檔名}

# 2. 摘要說明

This program lists all elements contained in a Matroska(tm). The output can be limited to a list of tracks in the file including information about the codecs used.

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 | Calculates and display the Adler-32 checksum for each frame. Useful for debugging only.
-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 | Only show a terse summary of what mkvinfo(1) finds and not each element.
-t, --track-info | Show statistics for each track in verbose mode. Also sets verbosity to 1 if it was at level 0 before.
-x, --hexdump | Show the first 16 bytes of each frame as a hex dump.
-X, --full-hexdump | Show all bytes of each frame as a hex dump.
-z, --size | 顯示包含標頭的各元件大小。
--command-line-charset 字元集 | 設定在命令列顯示的字串字元集，以轉換為其他字元集。預設為目前系統所在位置指定的字元集。
--output-charset 字元集 | 設定要轉換為輸出字串的字元集。預設為目前系統所在位置指定的字元集。
-r, --redirect-output 檔名 | 將所有訊息寫入到檔案 檔名 而不是命令列。儘管使用輸出重新導向可以輕鬆完成此操作，但在某些情況下需要使用此選項: 當終端在將輸出寫入文件之前重新解釋（覆蓋）輸出時。 優先使用通過 --output-charset 設定字元集。
--ui-language 語言碼 | 強制使用語言 編碼 對應的的翻譯(例如 'zh_TW' 為臺灣正體中文翻譯)。 在編碼欄位中輸入'list' 讓程式輸出時使用可用的對應翻譯清單。
--abort-on-warnings | 發出第一個警告後，終止程式。程式的結束碼為 1 。
--debug 主題 | 針對特定功能開啟除錯。此選項適用於開發者。
--engage 功能 | 開啟實驗中功能。 透過mkvinfo --engage list啟用可用的列表。這些功能不會在正常情況下使用。
--gui-mode | 開啟 GUI 模式。在這種模式中，可能會輸出特殊格式的行數，可以呈現控制的 GUI 發生什麼事。這些訊息會以 '#GUI#訊息'呈現。訊息可能包含機碼/值，例如 '#GUI#訊息#機碼1=值1#機碼2=值2…'。 無論是訊息或是機碼都不會轉為譯文，而且永遠使用 *英語* 輸出。
-v, --verbose | Be more verbose. See the section about verbosity levels for a description which information will be output at which level.
-h, --help | 顯示使用方式並退出。
-V, --version | 顯示版本資訊並離開。
@options-file.json | 從檔案選項檔讀取其他命令列引數。有關此類檔案支援格式的完整說明，請參閱 mkvmerge(1) 文件中的 "選項檔案" 章節。

# 3. 詳細資訊層級

The -v option can be used to increase mkvinfo(1)'s verbosity level and print more information about the current file.

At level 0 mkvinfo(1) will print only the track headers it finds and their types. mkvinfo(1) will exit as soon as the headers are parsed completely (more technical: as soon as the first cluster is encountered). In this level the seek head entries and the cues will not be displayed -- even if they're located in front of the track information.

At level 1 mkvinfo(1) will also print all Matroska(tm) elements encountered for the complete file but the seek head entries and the cue entries. If the summary mode is enabled then mkvinfo(1) will output the frame position as well.

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

At level 2 mkvinfo(1) will also print the seek head entries, the cue entries and the file position at which each Matroska(tm) element can be found at.

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

At level 3 and above mkvinfo(1) will print some information that is not directly connected to a Matroska(tm) element. All other elements only print stuff about the elements that were just found. Level 3 adds meta information to ease debugging (read: it's intended for developers only). All lines written by level 3 are enclosed in square brackets to make filtering them out easy.

# 4. 文字檔案與字元集轉換

For an in-depth discussion about how all tools in the MKVToolNix suite handle character set conversions, input/output encoding, command line encoding and console encoding please see the identically-named section in the mkvmerge(1) man page.

# 5. 結束代碼

mkvinfo(1) 結束時會返回以下三個中的一個結束代碼:

- 0 -- This exit code means that the run has completed successfully.

- 1 -- In this case mkvinfo(1) has output at least one warning, but the run did continue. A warning is prefixed with the text 'Warning:'.

- 2 -- This exit code is used after an error occurred. mkvinfo(1) aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files.

# 6. 環境變數

mkvinfo(1) uses the default variables that determine the system's locale (e.g. LANG and the LC_* family). Additional variables:

Option | Description
--- | ---
MKVINFO_DEBUG, MKVTOOLNIX_DEBUG 與其的簡短形式 MTX_DEBUG | The content is treated as if it had been passed via the --debug option.
MKVINFO_ENGAGE, MKVTOOLNIX_ENGAGE 與其的簡短形式 MTX_ENGAGE | The content is treated as if it had been passed via the --engage option.

# 7. 參閱

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

# 8. 網路

The latest version can always be found at the MKVToolNix homepage.