'\" t .\" Title: mkvpropedit .\" Author: Moritz Bunkus .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2021-01-04 .\" Manual: 用户命令 .\" Source: MKVToolNix 52.0.0 .\" Language: Chinese .\" .TH "MKVPROPEDIT" "1" "2021\-01\-04" "MKVToolNix 52\&.0\&.0" "用户命令" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "名称" mkvpropedit \- 在不进行完整的重新混流的情况下修改现有 Matroska 文件的属性 .SH "概要" .HP \w'\fBmkvpropedit\fR\ 'u \fBmkvpropedit\fR [选项] {输入文件名} {操作} .SH "说明" .PP 此程序可分析现有 Matroska 文件,并修改其部分属性。然后它将将变更写入现有文件。可修改的属性包括剪辑信息元素(如标题)和轨道头部(如语言代码、\*(Aq默认轨\*(Aq 标记或轨道名称)。 .PP 选项: .PP \fB\-l\fR, \fB\-\-list\-property\-names\fR .RS 4 列出所有已知的可编辑的属性名称、它们的类型(字符串型、整数型、布尔型等等)及简短说明。程序随后将退出执行。因此不必提供 \fIsource\-filename\fR 参数。 .RE .PP \fB\-p\fR, \fB\-\-parse\-mode\fR \fI模式\fR .RS 4 设置解析模式。参数 \*(Aq\fI模式\fR\*(Aq 可以为 \*(Aqfast(快速)\*(Aq(此项为默认值)或 \*(Aqfull(完整)\*(Aq。\*(Aqfast(快速)\*(Aq模式不解析整个文件,而是使用元定位元素确定输入文件中所需元素的位置。99% 的情况下这就足够了。但如果碰到不含元定位元素或者元定位元素损坏的文件,用户可能得考虑 \*(Aqfull(完整)\*(Aq 解析模式。完整扫描文件可能要花费几分钟,而快速扫描只需要几秒钟。 .RE .PP 轨道、剪辑信息属性处理操作: .PP \fB\-e\fR, \fB\-\-edit\fR \fI选择器\fR .RS 4 设置后续的 添加、设置 或 删除 操作所针对的 Matroska 文件区域(即剪辑信息或某个轨道的头部)。此选项可多次使用,以同时修改多个元素。 .sp 默认情况下,\fBmkvpropedit\fR(1) 将编辑剪辑信息区段。 .sp 关于完整的语法说明请参见关于 编辑选择器 的段落。 .RE .PP \fB\-a\fR, \fB\-\-add\fR \fI名称\fR=\fI数值\fR .RS 4 添加名为 \fI名称\fR、值为 \fI数值\fR 的属性。即使已存在这样的属性,也将执行添加属性操作。注意大多数属性是唯一的,不能出现多个。 .RE .PP \fB\-s\fR, \fB\-\-set\fR \fI名称\fR=\fI数值\fR .RS 4 设置所有名为 \fI名称\fR 的属性的数值为 \fI数值\fR。如果不存在这样的属性,则将添加该属性。 .RE .PP \fB\-d\fR, \fB\-\-delete\fR \fI名称\fR .RS 4 删除所有名为 \fI名称\fR 的属性。注意部分属性是必需的,不能删除。 .RE .PP 标签及章节处理操作: .PP \fB\-t\fR, \fB\-\-tags\fR \fI选择器\fR:\fI文件名\fR .RS 4 用 文件名 中的标签添加或替换文件中的标签,或者如果 文件名 为空则移除标签。\fBmkvpropedit\fR(1) 读取的 XML 标签格式与 \fBmkvmerge\fR(1) 所读取的相同。 .sp \fI选择器\fR 必须是 \fBall\fR、\fBglobal\fR 或 \fBtrack\fR 之一。对于\fBall\fR 选择器,\fBmkvpropedit\fR(1) 将替换或移除文件中的所有标签。对于 \fBglobal\fR 选择器,将只替换或移除全局标签。 .sp 对于 \fBtrack\fR 选择器,\fBmkvpropedit\fR(1) 将替换特定轨道的标签。读取自 文件名 的其他标签将分配给相同轨道。轨道与 编辑选择器 以相同格式指定 (参见下文),如 \-\-tags track:a1:新音频标签\&.xml。 .RE .PP \fB\-\-add\-track\-statistics\-tags\fR .RS 4 计算文件所有轨道的统计信息,并为每个轨道新增一个统计信息标签。若文件中已经存在此类标签,则将更新这些标签。 .RE .PP \fB\-\-delete\-track\-statistics\-tags\fR .RS 4 从文件中删除现有的全部轨道统计标签。若文件不包括轨道统计标签,则不会被修改。 .RE .PP \fB\-c\fR, \fB\-\-chapters\fR \fI文件名\fR .RS 4 用 文件名 中的标签添加或替换文件中的章节,或者如果 文件名 为空则移除章节。\fBmkvpropedit\fR(1) 读取的 XML 及简单章节格式与 \fBmkvmerge\fR(1) 所读取的相同。 .RE .PP 附件处理操作: .PP \fB\-\-add\-attachment\fR \fI文件名\fR .RS 4 从 \fI文件名\fR 添加新附件。 .sp 若本选项之前使用了 \fB\-\-attachment\-name\fR 选项,则其值将用作新附件的名称。否则附件名称将从 \fI文件名\fR 得出。 .sp 若本选项之前使用了 \fB\-\-attachment\-mime\-type\fR 选项,则其值将用作新附件的 MIME 类型。否则将根据 \fI文件名\fR 的内容自动侦测。 .sp 若本选项之前使用了 \fB\-\-attachment\-description\fR 选项,则其值将用作新附件的描述。否则将不设置描述信息。 .sp 若本选项之前使用了 \fB\-\-attachment\-uid\fR 选项,则其值将用作新附件的 UID。否则将自动生成随机的 UID。 .RE .PP \fB\-\-replace\-attachment\fR \fI选择器\fR:\fI文件名\fR .RS 4 用文件 \fI文件名\fR 替换与 \fI选择器\fR 相匹配的一或多个附件。如果有超过一个现有附件与 \fI选择器\fR 相匹配,则其所有内容均将被 \fI文件名\fR 的内容替代。 .sp \fI选择器\fR 可以有四种格式。各格式说明位于下文 附件选择器 段落。 .sp 若本选项之前使用了 \fB\-\-attachment\-name\fR 选项,则其值将设为每个被修改的附件的新名称。否则不修改名称。 .sp 若本选项之前使用了 \fB\-\-attachment\-mime\-type\fR 选项,则其值将设为每个被修改的附件的新 MIME 类型。否则不修改 MIME 类型。 .sp 若本选项之前使用了 \fB\-\-attachment\-description\fR 选项,则其值将设为每个被修改的附件的新描述。否则不修改描述。 .sp 若本选项之前使用了 \fB\-\-attachment\-uid\fR 选项,则其值将设为每个被修改的附件的新 UID。否则不修改 UID。 .RE .PP \fB\-\-update\-attachment\fR \fI选择器\fR .RS 4 设置 \fI选择器\fR 所匹配的一或多个附件的属性。如果匹配 \fI选择器\fR 的现有附件超过一个,则每个附件的属性都将被更新。 .sp \fI选择器\fR 可以有四种格式。各格式说明位于下文 附件选择器 段落。 .sp 若本选项之前使用了 \fB\-\-attachment\-name\fR 选项,则其值将设为每个被修改的附件的新名称。否则不修改名称。 .sp 若本选项之前使用了 \fB\-\-attachment\-mime\-type\fR 选项,则其值将设为每个被修改的附件的新 MIME 类型。否则不修改 MIME 类型。 .sp 若本选项之前使用了 \fB\-\-attachment\-description\fR 选项,则其值将设为每个被修改的附件的新描述。否则不修改描述。 .sp 若本选项之前使用了 \fB\-\-attachment\-uid\fR 选项,则其值将设为每个被修改的附件的新 UID。否则不修改 UID。 .RE .PP \fB\-\-delete\-attachment\fR \fI选择器\fR .RS 4 删除与 \fI选择器\fR 相匹配的一或多个附件。 .sp \fI选择器\fR 可以有四种格式。各格式说明位于下文 附件选择器 段落。 .RE .PP 附件操作选项: .PP \fB\-\-attachment\-name\fR \fI名称\fR .RS 4 设置接下来 \fB\-\-add\-attachment\fR 或 \fB\-\-replace\-attachment\fR 操作要使用的名称。 .RE .PP \fB\-\-attachment\-mime\-type\fR \fImime 类型\fR .RS 4 设置接下来 \fB\-\-add\-attachment\fR 或 \fB\-\-replace\-attachment\fR 操作要使用的 MIME 类型。 .RE .PP \fB\-\-attachment\-description\fR \fI描述\fR .RS 4 设置接下来 \fB\-\-add\-attachment\fR 或 \fB\-\-replace\-attachment\fR 操作要使用的描述。 .RE .PP 其他选项: .PP \fB\-\-disable\-language\-ietf\fR .RS 4 Normally when the user requests changes to the \*(Aqlanguage\*(Aq track header property, \fBmkvpropedit\fR(1) will apply the same change to the new LanguageIETF track header element in addition to the legacy Language element\&. If this option is used, the change is only applied to the legacy Language element\&. .sp This option does not affect changes requested via the \*(Aqlanguage\-ietf\*(Aq track header property\&. .RE .PP \fB\-\-command\-line\-charset\fR \fI字符集\fR .RS 4 设定在命令行给出的字符串的字符集,用于转为其他字符集。默认为系统当前区域设置中所给定的字符集。 .RE .PP \fB\-\-output\-charset\fR \fI字符集\fR .RS 4 设置输出的字符串应被转换到何种字符集。默认为系统当前区域设置中所给定的字符集。 .RE .PP \fB\-r\fR, \fB\-\-redirect\-output\fR \fI文件名\fR .RS 4 将所有信息写入文件 \fI文件名\fR 而不是输出到命令行。 尽管该操作可以用输出重定向轻松实现,但在某些情况下还需要靠它:如当终端在写入文件之前重新解释(覆盖输出)时。将优先使用通过 \fB\-\-output\-charset\fR 设定的字符集。 .RE .PP \fB\-\-ui\-language\fR \fI语言代码\fR .RS 4 强制使用 \fI语言代码\fR 所对应的翻译 (例如 \*(Aqde_DE\*(Aq 表示德文翻译)。在 \fI语言代码\fR 处输入 \*(Aqlist\*(Aq 可让程序输出可用翻译的列表。 .RE .PP \fB\-\-abort\-on\-warnings\fR .RS 4 让程序在出现警告时即中止。程序的退出代码将返回 1。 .RE .PP \fB\-\-debug\fR \fI主题\fR .RS 4 为特定功能开启调试。该选项仅对开发者有用。 .RE .PP \fB\-\-engage\fR \fI功能\fR .RS 4 开启实验性功能。可用功能列表可通过 \fBmkvpropedit \-\-engage list\fR 得到。这些功能在正常情况下不应该使用。 .RE .PP \fB\-\-gui\-mode\fR .RS 4 打开 GUI 模式。该模式下,将输出特殊格式的行,告知目前受控的 GUI 的行为。这些消息遵从格式「#GUI#消息」。消息可能包括键值对,如「#GUI#消息#键1=值1#键2=值2\&...」。消息内容及键的内容不作翻译,总是以英语输出。 .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 使输出信息更详尽,且每当读取到重要的 Matroska 元素时就将其显示。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示用法信息并退出。 .RE .PP \fB\-V\fR, \fB\-\-version\fR .RS 4 显示版本信息并退出。 .RE .PP \fB@\fR\fI选项文件\&.json\fR .RS 4 从文件 \fI选项文件\fR 读取其他命令行参数。关于支持的选项文件格式的详细说明,请参见 \fBmkvmerge\fR(1) 手册的\(lq选项文件\(rq段落。 .RE .SH "编辑选择器" .PP \fB\-\-edit\fR 选项设置后续的 添加, 设置 或 删除 操作所影响的 Matroska 文件区域(剪辑信息或者特定轨道的头部)。在出现另一个 \fB\-\-edit\fR 选项之前,此选项将一直有效。此选项的参数就叫做编辑选择器。 .PP 默认情况下,\fBmkvpropedit\fR(1) 将编辑剪辑信息区段。 .SS "剪辑信息" .PP 可以通过这三个词中的任意一个选择剪辑信息: \*(Aqinfo\*(Aq、\*(Aqsegment_info\*(Aq 或 \*(Aqsegmentinfo\*(Aq。剪辑信息包含的属性包括剪辑标题、剪辑 UID 等。 .SS "轨道头部" .PP 可用于选择轨道头部的选择器稍显复杂:所有以 \*(Aqtrack:\*(Aq 开头的变体。轨道头部属性包括如语言代码、\*(Aq默认轨\*(Aq 标记、轨道名称等属性。 .PP \fBtrack:\fR\fIn\fR .RS 4 如果参数 \fIn\fR 为数字,则将选择第 \fIn\fR 条轨道。轨道顺序与 \fBmkvmerge\fR(1) 的 \fB\-\-identify\fR 选项所输出的相同。 .sp 编号从 1 开始。 .RE .PP \fBtrack:\fR\fIt\fR\fIn\fR .RS 4 如果参数以字母 \fIt\fR 后接 \fIn\fR 开头,则将选择选定轨道类型中的第 \fIn\fR 条轨道。轨道类型参数 \fIt\fR 必须为下述四个字母中的一个: \*(Aqa\*(Aq 代表音频轨道,\*(Aqb\*(Aq 代表按钮轨道,\*(Aqs\*(Aq 代表字幕轨道,\*(Aqv\*(Aq 代表视频轨道。轨道顺序与 \fBmkvmerge\fR(1) 的 \fB\-\-identify\fR 选项所输出的相同。 .sp 编号从 1 开始。 .RE .PP \fBtrack:\fR=\fIuid\fR .RS 4 若参数以「=」后接数字「\fIuid\fR」开头,则会选择轨道 UID 元素与参数所给出的「\fIuid\fR」相同的轨道。可使用 \fBmkvinfo\fR(1) 获取轨道 UID。 .RE .PP \fBtrack:\fR@\fI数字\fR .RS 4 若参数以「@」后接数字「\fInumber\fR」开头,则会选择轨道编号等于该「 \fInumber\fR」的轨道。可以通过 \fBmkvinfo\fR(1) 获取轨道编号。 .RE .SS "注" .PP 由于轨道编辑选择器的特性,一些选择器所匹配的轨道头部可能是相同的。在此情况下,这些编辑选择器的所有操作将被按照在命令行给出的顺序合并运行。 .SH "附件选择器" .PP 附件选择器可与两项操作 \fB\-\-replace\-attachment\fR 及 \fB\-\-delete\-attachment\fR 一起使用。它可以有以下四种格式: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} 按附件 ID 选择。本格式的选择器仅仅是数字,\fBmkvmerge\fR(1) 的识别命令所输出的附件 ID。 .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} 按附件 UID (唯一 ID) 选择。本格式的选择器为等号 = 后接数字,\fBmkvmerge\fR(1) 的详尽识别命令所输出的附件的唯一 ID。 .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} 按附件名称选择。本格式的选择器为文字 name: 后接现有附件名称。若本选择器与 \fB\-\-replace\-attachment\fR 一同使用,则名称中的冒号必须用 \ec 转义。 .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} 按 MIME 类型选择。本格式的选择器为文字 mime\-type: 后接现有附件的 MIME 类型。若本选择器与 \fB\-\-replace\-attachment\fR 一同使用,则 MIME 类型中的冒号必须用 \ec 转义。 .RE .SH "示例" .PP 下面的示例将编辑一个名为 \*(Aq电影\&.mkv\*(Aq 的文件。示例中将设置剪辑标题并修改一条音频轨和一条字幕轨的语言代码。附注,本示例可以简写,即省去 \fB\-\-edit\fR 选项,因为在第一个 \fB\-\-edit\fR 选项之前的所有选项默认编辑的就是剪辑信息元素。 .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-edit info \-\-set "title=一部影片" \-\-edit track:a1 \-\-set language=fre \-\-edit track:a2 \-\-set language=ita .fi .if n \{\ .RE .\} .PP 第二个示例,将 \*(Aq默认轨标记\*(Aq 从第一条字幕轨移除并设置到第二条字幕轨上。注意 \fBmkvpropedit\fR(1) 与 \fBmkvmerge\fR(1) 不同,不会在将另一个轨道的 \*(Aq默认轨标记\*(Aq设为 \*(Aq1\*(Aq 的时候自动将其他轨道的标记设为 \*(Aq0\*(Aq。 .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-edit track:s1 \-\-set flag\-default=0 \-\-edit track:s2 \-\-set flag\-default=1 .fi .if n \{\ .RE .\} .PP 像这样替换文件中第二个字幕轨的标签: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-tags track:s2:新字幕标签\&.xml .fi .if n \{\ .RE .\} .PP 移除所有标签需要将文件名留空: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-tags all: .fi .if n \{\ .RE .\} .PP 像这样替换文件中的章节: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-chapters 新章节\&.xml .fi .if n \{\ .RE .\} .PP 移除所有章节需要将文件名留空: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-chapters \*(Aq\*(Aq .fi .if n \{\ .RE .\} .PP 将字体文件 (Arial\&.ttf) 作为附件添加: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-add\-attachment Arial\&.ttf .fi .if n \{\ .RE .\} .PP 将字体文件 (89719823\&.ttf) 作为附件添加,并提供信息,因为它真的就是 Arial: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-attachment\-name Arial\&.ttf \-\-attachment\-description \*(AqArial 字体,TrueType 类型\*(Aq \-\-attachment\-mime\-type application/x\-truetype\-font \-\-add\-attachment 89719823\&.ttf .fi .if n \{\ .RE .\} .PP 将已经附加的字体 (Comic\&.ttf) 替换为另一个 (Arial\&.ttf): .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-attachment\-name Arial\&.ttf \-\-attachment\-description \*(AqArial 字体,TrueType 类型\*(Aq \-\-replace\-attachment name:Comic\&.ttf:Arial\&.ttf .fi .if n \{\ .RE .\} .PP 删除附加的第二个文件,不论它是什么: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-delete\-attachment 2 .fi .if n \{\ .RE .\} .PP 按 MIME 类型删除所有附加字体: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit 影片\&.mkv \-\-delete\-attachment mime\-type:application/x\-truetype\-font .fi .if n \{\ .RE .\} .SH "退出代码" .PP \fBmkvpropedit\fR(1) 退出时会返回以下三个退出代码中的一个: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0\fR \-\- 此退出代码说明已成功完成修改。 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB1\fR \-\- 这种情况下 \fBmkvpropedit\fR(1) 至少输出了一条警告信息,但修改并未因之中止。 警告信息以文字 \*(Aq警告:\*(Aq 为前缀。根据问题的不同,生成的文件可能是好的,也可能不是。 强烈建议用户检查警告信息以及生成的文件。 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB2\fR \-\- 此退出代码用于错误发生之后。 \fBmkvpropedit\fR(1) 在输出错误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。 .RE .SH "文本文件与字符集转换" .PP 关于 MKVToolNix 套件中所有工具如何处理字符集转换、输入/输出编码、命令行编码及控制台编码的深入讨论,请参见 \fBmkvmerge\fR(1) 手册中相对应名称的段落。 .SH "环境变量" .PP \fBmkvpropedit\fR(1) 会使用决定系统区域设置的默认变量 (如 \fILANG\fR 与 \fILC_*\fR 族)。其他变量包括: .PP \fIMKVPROPEDIT_DEBUG\fR, \fIMKVTOOLNIX_DEBUG\fR 及其缩略形式 \fIMTX_DEBUG\fR .RS 4 内容将被当作通过 \fB\-\-debug\fR 选项传递的参数对待。 .RE .PP \fIMKVPROPEDIT_ENGAGE\fR, \fIMKVTOOLNIX_ENGAGE\fR 及其缩略形式 \fIMTX_ENGAGE\fR .RS 4 内容将被当作通过 \fB\-\-engage\fR 选项传递的参数对待。 .RE .SH "参阅" .PP \fBmkvmerge\fR(1), \fBmkvinfo\fR(1), \fBmkvextract\fR(1), \fBmkvtoolnix-gui\fR(1) .SH "网络" .PP 最新版本总可以在 \m[blue]\fBMKVToolNix 主页\fR\m[]\&\s-2\u[1]\d\s+2 找到。 .SH "作者" .PP \fBMoritz Bunkus\fR <\&moritz@bunkus\&.org\&> .RS 4 开发者 .RE .SH "备注" .IP " 1." 4 MKVToolNix 主页 .RS 4 \%https://mkvtoolnix.download/ .RE