mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-01-03 16:54:22 +00:00
527 lines
14 KiB
Groff
527 lines
14 KiB
Groff
'\" t
|
||
.\" Title: mkvpropedit
|
||
.\" Author: Moritz Bunkus <moritz@bunkus.org>
|
||
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
|
||
.\" Date: 2012-04-06
|
||
.\" Manual: 用户命令
|
||
.\" Source: MKVToolNix 5.5.0
|
||
.\" Language: Chinese
|
||
.\"
|
||
.TH "MKVPROPEDIT" "1" "2012\-04\-06" "MKVToolNix 5\&.5\&.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\-\-debug\fR \fItopic\fR
|
||
.RS 4
|
||
Turn on debugging for a specific feature\&. This option is only useful for developers\&.
|
||
.RE
|
||
.PP
|
||
\fB\-\-engage\fR \fIfeature\fR
|
||
.RS 4
|
||
Turn on experimental features\&. A list of available features can be requested with
|
||
\fBmkvpropedit \-\-engage list\fR\&. These features are not meant to be used in normal situations\&.
|
||
.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
|
||
选项所输出的相同。
|
||
.sp
|
||
Numbering starts at 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
|
||
Numbering starts at 1\&.
|
||
.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 "ENVIRONMENT VARIABLES"
|
||
.PP
|
||
|
||
\fBmkvpropedit\fR(1)
|
||
uses the default variables that determine the system\*(Aqs locale (e\&.g\&.
|
||
\fILANG\fR
|
||
and the
|
||
\fILC_*\fR
|
||
family)\&. Additional variables:
|
||
.PP
|
||
\fIMKVTOOLNIX_DEBUG\fR and its short form \fIMTX_DEBUG\fR
|
||
.RS 4
|
||
The content is treated as if it had been passed via the
|
||
\fB\-\-debug\fR
|
||
option\&.
|
||
.RE
|
||
.PP
|
||
\fIMKVTOOLNIX_ENGAGE\fR and its short form \fIMTX_ENGAGE\fR
|
||
.RS 4
|
||
The content is treated as if it had been passed via the
|
||
\fB\-\-engage\fR
|
||
option\&.
|
||
.RE
|
||
.PP
|
||
\fIMKVTOOLNIX_OPTIONS\fR and its short form \fIMTX_OPTIONS\fR
|
||
.RS 4
|
||
The content is split on white space\&. The resulting partial strings are treated as if it had been passed as command line options\&. If you need to pass special characters (e\&.g\&. spaces) then you have to escape them (see
|
||
the section about escaping special characters in text)\&.
|
||
.RE
|
||
.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
|