mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-01-03 16:54:22 +00:00
619 lines
14 KiB
Groff
619 lines
14 KiB
Groff
'\" 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 sheets(CUE 表单)以及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
|