mkvtoolnix/doc/man/zh_CN/mkvextract.1
2010-12-23 16:07:34 +01:00

619 lines
14 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'\" t
.\" Title: mkvextract
.\" Author: Moritz Bunkus <moritz@bunkus.org>
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\" Date: 2010-10-31
.\" Manual: 用户命令
.\" Source: MkvToolNix 4.4.0
.\" Language: Chinese
.\"
.TH "MKVEXTRACT" "1" "2010\-10\-31" "MkvToolNix 4\&.4\&.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 "名称"
mkvextract \- 将 Matroska(TM) 文件中的轨道提取为另外的文件
.SH "概要"
.HP \w'\fBmkvextract\fR\ 'u
\fBmkvextract\fR {模式} {源文件名} [选项] [提取指令]
.SH "说明"
.PP
本程序可以将
Matroska(TM)
文件的指定部分提取为其他有用的格式。第一个参数,\fB模式\fR告诉
\fBmkvextract\fR(1)
要提取什么。目前支持提取
tracks轨道、tags标签、attachments附件、chapters章节、CUE sheetsCUE 表单以及timecodes时间码。第二个参数是源文件名。它必须是
Matroska(TM)
文件。以下参数为选项及提取指令;两者均依所选模式而定。
.SS "通用选项"
.PP
以下选项在所有模式下可用,本段落只讲一遍,不赘述。
.PP
\fB\-f\fR, \fB\-\-parse\-fully\fR
.RS 4
设置解析模式为 \*(Aqfull完整\*(Aq。默认的解析模式不解析整个文件而是使用元定位元素确定源文件中所需元素的位置。99% 的情况下这已经足够。但如果碰到不含元定位元素或者元定位元素损坏的文件,用户可能得考虑使用此模式。完整扫描文件可能要花费几分钟,而快速扫描只需要几秒钟。
.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 对应德文翻译)。使用
\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
Checks online for new releases by downloading the URL
http://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\&. Three lines will be output in
key=value
style: the URL from where the information was retrieved (key
version_check_url), the currently running version (key
running_version) and the latest release\*(Aqs version (key
available_version)\&.
.sp
Afterwards the program exists with an exit code of 0 if no newer release is available, with 1 if a newer release is available and with 2 if an error occured (e\&.g\&. if the update information could not be retrieved)\&.
.sp
This option is only available if the program was built with support for libcurl\&.
.RE
.PP
\fB@\fR选项文件
.RS 4
从文件
\fI选项文件\fR
中读取额外的命令行参数。首个非空白字符为井号 (\*(Aq#\*(Aq) 的行将被当作注释对待,在处理过程中将被忽略。各行开头与结尾的空白将被除去。各行必须恰好仅含一个选项。
.sp
有些字符可以转义,如当您需要使用 \*(Aq#\*(Aq 作为一个不是评论的行的开头。规则在关于转义文本的段落有描述。
.sp
命令行 \*(Aq\fBmkvextract tracks 源\&.mkv \-\-raw 1:目标\&.raw\fR\*(Aq 可以转换为下面所示选项文件:
.sp
.if n \{\
.RS 4
.\}
.nf
# 从 源\&.mkv 提取轨道
tracks
\&.mkv
# 将轨道以原始数据形式输出。
\-\-raw
1:目标\&.raw
.fi
.if n \{\
.RE
.\}
.RE
.SS "轨道提取模式"
.PP
语法:
\fBmkvextract\fR
\fBtracks\fR
\fI源文件名\fR
[\fI选项\fR]
\fITID1:目标文件名1\fR
[\fITID2:目标文件名2\fR \&.\&.\&.]
.PP
以下命令行在 \*(Aqtracks\*(Aq 轨道提取模式下对各轨道可用。它们应当在所应用到的轨道指令(参阅下文)之前出现。
.PP
\fB\-c\fR \fI字符集\fR
.RS 4
设定下一个字幕轨应被转换为哪一字符集。仅当后面的轨道 ID 对应文本字幕轨时有效。默认为 UTF\-8。
.RE
.PP
\fB\-\-blockadd\fR \fI层级\fR
.RS 4
只保留低于或等于此层级的 BlockAdditions 附加块。默认保留所有层级。 本选项仅影响特定类别的编解码器,如 WAVPACK4。
.RE
.PP
\fB\-\-cuesheet\fR
.RS 4
\fBmkvextract\fR(1)
根据下一轨道的标签数据与章节信息提取出
CUE
表单,输出文件名为轨道的输出名后接 \*(Aq\&.cue\*(Aq 扩展名。
.RE
.PP
\fB\-\-raw\fR
.RS 4
将原始数据提取为文件,输出文件的周围没有任何容器数据。 与
\fB\-\-fullraw\fR
标记不同的是,此标记不会将
CodecPrivate
元素的内容写入输出文件。 此模式对所有
CodecIDs
有效,即使是
\fBmkvextract\fR(1)
不支持处理的,然而生成的文件可能无法使用。
.RE
.PP
\fB\-\-fullraw\fR
.RS 4
提取原始数据,输出文件的周围没有任何容器数据。 如果轨道包含
CodecPrivate
编解码器私有元素,它的内容将先被写入文件。 此模式对所有
CodecIDs
有效,即使是
\fBmkvextract\fR(1)
不支持的那些,但是生成的文件可能无法使用。
.RE
.PP
\fITID:输出文件名\fR
.RS 4
如果源文件中存在 ID 为
\fITID\fR
的轨道,则将其提取为文件
\fI输出文件名\fR。本选项可多次给出。轨道 ID 与
\fBmkvmerge\fR(1)
\fB\-\-identify\fR
选项所输出的相同。
.sp
每个输出文件名只能用一次。但 RealAudio 与 RealVideo 轨道例外。如果您为不同轨道使用了同样的输出文件名,这些轨道将被存入同一个文件中。示例:
.sp
.if n \{\
.RS 4
.\}
.nf
$ mkvextract tracks input\&.mkv 1:output\-two\-tracks\&.rm 2:output\-two\-tracks\&.rm
.fi
.if n \{\
.RE
.\}
.RE
.SS "标签提取模式"
.PP
语法:
\fBmkvextract\fR
\fBtags\fR
\fI源文件名\fR
[\fI选项\fR]
.PP
提取出的标签将被输出到命令行,除非输出被重定向(详情参见关于
输出重定向
的章节)。
.SS "附件提取模式"
.PP
语法:
\fBmkvextract\fR
\fBattachments\fR
\fI源文件名\fR
[\fI选项\fR]
\fIAID1:输出文件名1\fR
[\fIAID2:输出文件名2\fR \&.\&.\&.]
.PP
AID:输出文件名
.RS 4
如果源文件中存在 ID 为
\fIAID\fR
的附件,则将其提取为文件
\fI输出文件名\fR。如果
\fI输出文件名\fR
处留空,将使用所用
Matroska(TM)
文件中的附件名称。本选项可多次给出。附件 ID 与
\fBmkvmerge\fR(1)
\fB\-\-identify\fR
选项所输出的相同。
.RE
.SS "章节提取模式"
.PP
语法:
\fBmkvextract\fR
\fBchapters\fR
\fI源文件名\fR
[\fI选项\fR]
.PP
\fB\-s\fR, \fB\-\-simple\fR
.RS 4
将章节信息以
OGM
tools 所用的简单格式 (CHAPTER01=\&.\&.\&., CHAPTER01NAME=\&.\&.\&.) 导出。此模式下部分信息将被废弃。默认以
XML
格式输出章节。
.RE
.PP
提取出的章节将被输出到命令行,除非输出被重定向(详情参见关于
输出重定向
的章节)。
.SS "Cue 表单提取模式"
.PP
语法:
\fBmkvextract\fR
\fBcuesheet\fR
\fI源文件名\fR
[\fI选项\fR]
.PP
提取出的 cue 表单将被输出到命令行,除非输出被重定向(详情参见关于
输出重定向
的章节)。
.SS "时间码提取模式"
.PP
语法:
\fBmkvextract\fR
\fBtimecodes_v2\fR
\fI源文件名\fR
[\fI选项\fR]
\fITID1:目标文件名1\fR
[\fITID2:目标文件名2\fR \&.\&.\&.]
.PP
提取出的时间码将被输出到命令行,除非输出被重定向(详情参见关于
输出重定向
的章节)。
.PP
\fITID:输出文件名\fR
.RS 4
如果源文件中存在 ID 为
\fITID\fR
的轨道,则将其时间码提取为文件
\fI输出文件名\fR。本选项可多次给出。轨道 ID 与
\fBmkvmerge\fR(1)
\fB\-\-identify\fR
选项所输出的相同。
.sp
示例:
.sp
.if n \{\
.RS 4
.\}
.nf
$ mkvextract timecodes_v2 input\&.mkv 1:tc\-track1\&.txt 2:tc\-track2\&.txt
.fi
.if n \{\
.RE
.\}
.RE
.SH "输出重定向"
.PP
有些提取模式会使
\fBmkvextract\fR(1)
将提取出的数据输出到命令行。通常有两种方法将数据写入文件:一种由 shell 提供,另一种由
\fBmkvextract\fR(1)
自身提供。
.PP
shell 的报告重定向功能可以通过在命令行后追加 \*(Aq> 输出文件名\&.扩展名\*(Aq 命令实现。示例:
.sp
.if n \{\
.RS 4
.\}
.nf
$ mkvextract tags 源\&.mkv > 标签\&.xml
.fi
.if n \{\
.RE
.\}
.PP
\fBmkvextract\fR(1)
自身的重定向功能可通过
\fB\-\-redirect\-output\fR
选项唤出。示例:
.sp
.if n \{\
.RS 4
.\}
.nf
$ mkvextract tags 源\&.mkv \-\-redirect\-output 标签\&.xml
.fi
.if n \{\
.RE
.\}
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fB注意\fR
.ps -1
.br
.PP
在 Windows 平台上您应当使用
\fB\-\-redirect\-output\fR
选项,因为
\fBcmd\&.exe\fR
有时会在写入文件之前对特殊字符进行转义,导致输出文件损坏。
.sp .5v
.RE
.SH "输出文件格式"
.PP
输出文件的格式取决于轨道的类型,而不是输出文件名的扩展名。目前支持以下轨道类型:
.PP
V_MPEG4/ISO/AVC
.RS 4
H\&.264
/
AVC
视频轨将被输出为
H\&.264
基本流,可以使用如
GPAC(TM)
工具包中的
MP4Box(TM)
作进一步处理。
.RE
.PP
V_MS/VFW/FOURCC
.RS 4
使用此
CodecID
FPS
恒定的视频轨将被输出为
AVI
文件。
.RE
.PP
V_REAL/*
.RS 4
RealVideo(TM)
轨道将被输出为
RealMedia(TM)
文件。
.RE
.PP
A_MPEG/L3, A_AC3
.RS 4
这些将被输出为原始的
MP3
AC3
文件。
.RE
.PP
A_PCM/INT/LIT
.RS 4
原始
PCM
数据将被输出为
WAV
文件。
.RE
.PP
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
.RS 4
所有
AAC
文件将被输出为
AAC
文件,其中数据包前有
ADTS
头。ADTS
头将不含反增强字段deprecated emphasis field
.RE
.PP
A_VORBIS
.RS 4
Vorbis 音频将被输出为
OggVorbis(TM)
文件。
.RE
.PP
A_REAL/*
.RS 4
RealAudio(TM)
轨道将被输出为
RealMedia(TM)
文件。
.RE
.PP
A_TTA1
.RS 4
TrueAudio(TM)
轨道将被输出为
TTA
文件。请注意,由于
Matroska(TM)
时间码的精度限制,解开来的文件的头部有两个字段不同:\fIdata_length\fR
(文件的总采样数) 与
CRC。
.RE
.PP
S_TEXT/UTF8
.RS 4
简单的文本字幕将被输出为
SRT
文件。
.RE
.PP
S_TEXT/SSA, S_TEXT/ASS
.RS 4
SSA
ASS
文本字幕将分别被输出为
SSA/ASS
文件。
.RE
.PP
S_KATE
.RS 4
Kate(TM)
流将以
Ogg(TM)
为容器输出。
.RE
.PP
标签
.RS 4
标签将被转换为
XML
格式。此格式与
\fBmkvmerge\fR(1)
所支持读取的标签格式相同。
.RE
.PP
附件
.RS 4
附件将被以原样输出。不会进行任何转换。
.RE
.PP
章节
.RS 4
章节将被转换为
XML
格式。此格式与
\fBmkvmerge\fR(1)
所支持读取的章节格式相同。您也可以选择输出精简的简单
OGM
格式。
.RE
.PP
时间码
.RS 4
时间码会先被排序,然后以 timecode v2 格式文件输出,该文件适用于
\fBmkvmerge\fR(1)。不支持提取为其他格式 (v1, v3 或 v4)。
.RE
.SH "退出代码"
.PP
\fBmkvextract\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
\-\- 这种情况下
\fBmkvextract\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
\-\- 此退出代码用于错误发生之后。
\fBmkvextract\fR(1)
在输出错误信息后即中断处理。错误信息可能是错误的命令行参数,也可能是损坏文件的读取/写入错误。
.RE
.SH "文本中特殊字符的转义"
.PP
有时文本中的特殊字符必须或应该转义。转义规则很简单: 用反斜杠后接一字符替换需要转义的各字符。
.PP
规则为: \*(Aq \*(Aq 变为 \*(Aq\es\*(Aq\*(Aq"\*(Aq 变为 \*(Aq\e2\*(Aq\*(Aq:\*(Aq 变为 \*(Aq\ec\*(Aq\*(Aq#\*(Aq 变为 \*(Aq\eh\*(Aq\*(Aq\e\*(Aq 自己则变为 \*(Aq\e\e\*(Aq。
.SH "参阅"
.PP
\fBmkvmerge\fR(1),
\fBmkvinfo\fR(1),
\fBmkvpropedit\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