'\" t .\" Title: mkvpropedit .\" Author: Moritz Bunkus .\" Generator: DocBook XSL Stylesheets v1.75.2 .\" Date: 2011-12-18 .\" Manual: 用户命令 .\" Source: MKVToolNix 5.2.0 .\" Language: Chinese .\" .TH "MKVPROPEDIT" "1" "2011\-12\-18" "MKVToolNix 5\&.2\&.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(TM) 文件的属性 .SH "概要" .HP \w'\fBmkvpropedit\fR\ 'u \fBmkvpropedit\fR [选项] {源文件名} {操作} .SH "说明" .PP 此程序可分析现有 Matroska(TM) 文件,并修改其部分属性。然后它将将变更写入现有文件。可修改的属性包括剪辑信息元素(如标题)和轨道头部(如语言代码、\*(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(TM) 文件区域(即剪辑信息或某个轨道的头部)。此选项可多次使用,以同时修改多个元素。 .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 \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\-c\fR, \fB\-\-chapters\fR \fI文件名\fR .RS 4 用 文件名 中的标签添加或替换文件中的章节,或者如果 文件名 为空则移除章节。\fBmkvpropedit\fR(1) 读取的 XML 及简单章节格式与 \fBmkvmerge\fR(1) 所读取的相同。 .RE .PP 其他选项: .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 对应德文翻译)。使用 \fILANG\fR, \fILC_MESSAGES\fR 及 \fILC_ALL\fR 这些环境变量更好。如果在 \fI语言代码\fR 处输入 \*(Aqlist\*(Aq,\fBmkvextract\fR(1) 将输出可用翻译列表。 .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 使输出信息更详尽,且每当读取到重要的 Matroska(TM) 元素时就将其显示。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示用法信息并退出。 .RE .PP \fB\-V\fR, \fB\-\-version\fR .RS 4 显示版本信息并退出。 .RE .PP \fB\-\-check\-for\-updates\fR .RS 4 联机下载 URL http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml 检查新版本。将以 键=值 的样式输出四行: 检索信息的 URL(键 version_check_url),当前运行的版本(键 running_version),最新版本(键 available_version)及其下载 URL(键 download_url)。 .sp 若无更新版本可用,程序将以退出码 0 退出,若有更新版本可用,退出码为 1,若出现错误(如无法检索更新信息),退出码则为 2。 .sp 此选项仅当程序附带 libcurl 支持编译时可用。 .RE .PP \fB@\fR\fIoptions\-file\fR .RS 4 从文件 \fI选项文件\fR 中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好仅含一个选项。 .sp 有些字符可以转义,如当您需要使用 \*(Aq#\*(Aq 作为一个不是评论的行的开头。规则在关于转义文本的段落有描述。 .sp 命令行 \*(Aq\fBmkvpropedit 源\&.mkv \-\-edit track:a2 \-\-set name=注释\fR\*(Aq 可以转换为下述选项文件: .sp .if n \{\ .RS 4 .\} .nf # Modify source\&.mkv source\&.mkv # Edit the second audio track \-\-edit track:a2 # and set the title to \*(AqComments\*(Aq \-\-set title=Comments .fi .if n \{\ .RE .\} .RE .SH "编辑选择器" .PP \fB\-\-edit\fR 选项设置后续的 添加, 设置 或 删除 操作所影响的 Matroska(TM) 文件区域(剪辑信息或者特定轨道的头部)。在出现另一个 \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 选项所输出的相同。 .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 选项所输出的相同。 .RE .PP \fBtrack:\fR=\fIuid\fR .RS 4 如果参数以 \*(Aq=\*(Aq 后接 \fIuid\fR 开头,则将选择轨道 UID 元素等于此 \fIuid\fR 的轨道。轨道 UID 可通过 \fBmkvinfo\fR(1) 获取。 .RE .PP \fBtrack:\fR@\fI数字\fR .RS 4 如果参数以 \*(Aq@\*(Aq 后接 \fI数字\fR 开头,则选择轨道号元素等于 \fI数字\fR 的轨道。轨道号可以通过 \fBmkvinfo\fR(1) 获取。 .RE .SS "注" .PP 由于轨道编辑选择器的特性,一些选择器所匹配的轨道头部可能是相同的。在此情况下,这些编辑选择器的所有操作将被按照在命令行给出的顺序合并运行。 .SH "示例" .PP 下面的示例将编辑一个名为 \*(Aq电影\&.mkv\*(Aq 的文件。示例中将设置剪辑标题并修改一条音频轨和一条字幕轨的语言代码。附注,本示例可以简写,即省去 \fB\-\-edit\fR 选项,因为在第一个 \fB\-\-edit\fR 选项之前的所有选项默认编辑的就是剪辑信息元素。 .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit movie\&.mkv \-\-edit info \-\-set "title=The movie" \-\-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 movie\&.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 movie\&.mkv \-\-tags track:s2:new\-subtitle\-tags\&.xml .fi .if n \{\ .RE .\} .PP 移除所有标签需要将文件名留空: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit movie\&.mkv \-\-tags all: .fi .if n \{\ .RE .\} .PP 像这样替换文件中的章节: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit movie\&.mkv \-\-chapters new\-chapters\&.xml .fi .if n \{\ .RE .\} .PP 移除所有章节需要将文件名留空: .sp .if n \{\ .RS 4 .\} .nf $ mkvpropedit movie\&.mkv \-\-chapters \*(Aq\*(Aq .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 有时文本中的特殊字符必须或应该转义。转义规则很简单: 用反斜杠后接一字符替换需要转义的各字符。 .PP The rules are: \*(Aq \*(Aq (a space) becomes \*(Aq\es\*(Aq, \*(Aq"\*(Aq (double quotes) becomes \*(Aq\e2\*(Aq, \*(Aq:\*(Aq becomes \*(Aq\ec\*(Aq, \*(Aq#\*(Aq becomes \*(Aq\eh\*(Aq and \*(Aq\e\*(Aq (a single backslash) itself becomes \*(Aq\e\e\*(Aq\&. .SH "参阅" .PP \fBmkvmerge\fR(1), \fBmkvinfo\fR(1), \fBmkvextract\fR(1), \fBmmg\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 \%http://www.bunkus.org/videotools/mkvtoolnix/ .RE