Scroll to navigation

MKVINFO(1) 用户命令 MKVINFO(1)

名称

mkvinfo - 输出关于 Matroska 文件中各轨的信息

概要

mkvinfo [选项] {输入文件名}

说明

本程序可列出 Matroska文件中包含的所有轨道,输出信息可以限定为文件的轨道列表以及所用编解码器的信息。

-a, --all

默认情况下,mkvinfo(1) 会在读取到首个簇时停下来。它也不会显示某些元素(通常是反复出现的元素)。通过此选项可以让 mkvinfo(1) 忽略冗余级别继续处理,并显示所有元素。

-c, --checksums

计算并显示各帧的 Adler-32 校验码。仅当调试时有用处。

-o, --continue

默认情况下,mkvinfo(1) 会在读取到首个簇时停下来。通过此选项可以让 mkvinfo(1) 忽略冗余级别继续处理。

-p, --hex-positions

忽略冗余级别,以十六进制显示所有元素的位置。

-P, --positions

忽略冗余级别,以十进制显示所有元素的位置。

-s, --summary

仅显示 mkvinfo(1) 所获取信息的简要概述,而非各元素。

-t, --track-info

在“详细”模式下为各轨道显示统计信息。如果“详细”程度为 0 级,则将同时将级别设为 1。

-x, --hexdump

以十六进制转储形式显示各帧的前 16 字节。

-X, --full-hexdump

以十六进制转储形式显示各帧的所有字节。

-z, --size

显示各元素的尺寸,含头部所占用的尺寸。

--command-line-charset 字符集

设定在命令行给出的字符串的字符集,用于转为其他字符集。默认为系统当前区域设置中所给定的字符集。

--output-charset 字符集

设置输出的字符串应被转换到何种字符集。默认为系统当前区域设置中所给定的字符集。

-r, --redirect-output 文件名

将所有信息输出至文件 文件名,而不是在命令行显示。尽管该操作可以用输出重定向轻松实现,但在特定情况下还是缺不得它:当终端写入文件之前重新解释(覆盖输出)时。 --output-charset 中所选定的字符集将被优先选用。

--ui-language 语言代码

强制使用 语言代码 所对应的翻译 (例如 'de_DE' 表示德文翻译)。在 语言代码 处输入 '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) 手册的“选项文件”段落。

“详细”程度

-v 选项可以使 mkvinfo(1) 增强其“详细”程度并输出关于当前文件的更多信息。

在 level 0 mkvinfo(1) 仅输出它发现的轨道头及其类型。头部解析完毕后(更专业地:遇到首个簇时),mkvinfo(1) 将退出执行。在此层级,定位头项与 cue 索引不会显示出来——即使它们位于轨道信息之前。

在 level 1 mkvinfo(1) 同样将输出在整个文件中遇到的所有 Matroska 元素,此外还将输出定位头项与 cue 索引项。如果启用了简要模式,mkvinfo(1) 还将输出各帧位置。

通过选项「--continue」可以实现相同的效果。

在 level 2 mkvinfo(1) 同样将输出定位头项与 cue 索引项,以及文件中各 Matroska 元素被发现的位置。

通过选项「--all --positions」可以实现相同的结果。

在 level 3 及更高层级 mkvinfo(1) 将输出一些与 Matroska 元素不直接相连的信息。对于其他元素,将只输出发现的基本信息。Level 3 增加了元信息以便调试(换句话说:它是为开发人员设计的)。Level 3 输出的所有行都以方括号嵌套以便过滤。

文本文件与字符集转换

关于 MKVToolNix 套件中所有工具如何处理字符集转换、输入/输出编码、命令行编码及控制台编码的深入讨论,请参见 mkvmerge(1) 手册中相对应名称的段落。

退出代码

mkvinfo(1) 退出时会返回以下三个退出代码中的一个:

0 -- 此退出代码说明已成功完成运行。

1 -- 这种情况下 mkvinfo(1) 至少输出了一条警告信息,但运行并未因之中止。 警告信息以文字 '警告:' 为前缀。

2 -- 此退出代码用于错误发生之后。 mkvinfo(1) 在输出错误信息后即中断运行。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。

环境变量

mkvinfo(1) 会使用决定系统区域设置的默认变量 (如 LANGLC_* 族)。其他变量包括:

MKVINFO_DEBUG, MKVTOOLNIX_DEBUG 及其缩略形式 MTX_DEBUG

内容将被当作通过 --debug 选项传递的参数对待。

MKVINFO_ENGAGE, MKVTOOLNIX_ENGAGE 及其缩略形式 MTX_ENGAGE

内容将被当作通过 --engage 选项传递的参数对待。

参阅

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

网络

最新版本总可以在 MKVToolNix 主页[1] 找到。

作者

Moritz Bunkus <moritz@bunkus.org>

开发人员

备注

1.
MKVToolNix 主页
2022-08-14 MKVToolNix 70.0.0