Big updates to the man-to-docbook conversion. Don't use <arg> inside <term>.

This commit is contained in:
Moritz Bunkus 2009-08-08 17:32:19 +02:00
parent f5d7c04a78
commit 670ea269ce

View File

@ -4,6 +4,12 @@
[
<!ENTITY product "mkvmerge">
<!ENTITY version "2.9.7">
<!ENTITY mkvmerge "<citerefentry><refentrytitle>mkvmerge</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
<!ENTITY mkvinfo "<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
<!ENTITY mkvextract "<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
<!ENTITY mmg "<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
]>
<refentry lang="en" id="mkvmerge">
@ -74,34 +80,34 @@
</varlistentry>
<varlistentry>
<term><option>-o</option>, <option>--out</option> <arg choice="req">out</arg></term>
<term><option>-o</option>, <option>--out</option> <parameter>file-name</parameter></term>
<listitem>
<para>Write to the file <parameter>out</parameter>. If splitting is used then this parameter is treated a bit
differently. See the explanation for the <link
linkend="mkvmerge.description.split"><option>--split</option></link> option for details.</para>
<para>Write to the file <parameter>file-name</parameter>. If splitting is used then this parameter is treated a bit differently. See
the explanation for the <link linkend="mkvmerge.description.split"><option>--split</option></link> option for details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--title</option> <arg choice="req">title</arg></term>
<term><option>--title</option> <parameter>title</parameter></term>
<listitem>
<para>Sets the general title for the output file, e.g. the movie name.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--tags</option> <arg choice="req">file</arg></term>
<term><option>--tags</option> <parameter>file-name</parameter></term>
<listitem>
<para>Read global tags from the <abbrev>XML</abbrev> file <parameter>file</parameter>. See the section about tags
below for details.</para>
<para>Read global tags from the <abbrev>XML</abbrev> file <parameter>file-name</parameter>. See the section about tags below for
details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--default-language</option> <arg choice="req">code</arg></term>
<term><option>--default-language</option> <parameter>language-code</parameter></term>
<listitem>
<para>Sets the default language code that will be used for all tracks unless overwritten with the
<option>--language</option> option. The default language code is '<literal>und</literal>' for 'undefined'.</para>
<para>Sets the default language code that will be used for all tracks unless overwritten with the <link
linkend="mkvmerge.description.language"><option>--language</option></link> option. The default language code is
'<literal>und</literal>' for 'undefined'.</para>
</listitem>
</varlistentry>
</variablelist>
@ -112,28 +118,27 @@
<variablelist>
<varlistentry>
<term><option>--chapter-language</option> <arg choice="req">language</arg></term>
<term><option>--chapter-language</option> <parameter>language-code</parameter></term>
<listitem>
<para>
Sets the ISO639-2 language code that is written for each chapter entry.
Defaults to '<literal>eng</literal>'.
See the section about chapters below for details.
Sets the ISO639-2 language code that is written for each chapter entry. Defaults to '<literal>eng</literal>'. See the section about
<link linkend="mkvmerge.chapters">chapters</link> below for details.
</para>
<para>
This option can be used both for simple chapter files and for source files
that contain chapters but no information about the chapters' language,
e.g. MP4 and OGM files.
This option can be used both for simple chapter files and for source files that contain chapters but no information about the
chapters' language, e.g. MP4 and OGM files.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--chapter-charset</option> <arg choice="req">charset</arg></term>
<term><option>--chapter-charset</option> <parameter>character-set</parameter></term>
<listitem>
<para>
Sets the charset that is used for the conversion to UTF-8 for simple chapter files. Defaults to the current system
locale.
Sets the character set that is used for the conversion to UTF-8 for simple chapter files. See the section about <link
linkend="mkvmerge.text_files_and_charsets">text files and character sets</link> for an explanation how
&mkvmerge; converts between character sets.
</para>
<para>
@ -144,18 +149,17 @@
</varlistentry>
<varlistentry>
<term><option>--cue-chapter-name-format</option> <arg choice="req">format</arg></term>
<term><option>--cue-chapter-name-format</option> <parameter>format</parameter></term>
<listitem>
<para>
<productname>mkvmerge</productname> supports reading <abbrev>CUE</abbrev> sheets for audio files as the input for
chapters. <abbrev>CUE</abbrev> sheets usually contain the entries <varname>PERFORMER</varname> and
<varname>TITLE</varname> for each index entry. <productname>mkvmerge</productname> uses these two strings in order
to construct the chapter name. With this option the format used for this name can be set.
&mkvmerge; supports reading <abbrev>CUE</abbrev> sheets for audio files as the input for chapters. <abbrev>CUE</abbrev> sheets usually
contain the entries <varname>PERFORMER</varname> and <varname>TITLE</varname> for each index entry. &mkvmerge; uses these two strings
in order to construct the chapter name. With this option the format used for this name can be set.
</para>
<para>
If this option is not given then <productname>mkvmerge</productname> defaults to the format '<code>%p - %t</code>'
(the performer, followed by a space, a dash, another space and the title).
If this option is not given then &mkvmerge; defaults to the format '<code>%p - %t</code>' (the performer, followed by a space, a dash,
another space and the title).
</para>
<para>
@ -182,11 +186,11 @@
</varlistentry>
<varlistentry>
<term><option>--chapters</option> <parameter>file</parameter></term>
<term><option>--chapters</option> <parameter>file-name</parameter></term>
<listitem>
<para>
Read chapter information from the file <parameter>file</parameter>. See the section about chapters below for
details.
Read chapter information from the file <parameter>file-name</parameter>. See the section about <link
linkend="mkvmerge.chapters">chapters</link> below for details.
</para>
</listitem>
</varlistentry>
@ -198,25 +202,43 @@
<variablelist>
<varlistentry>
<term><option>--track-order</option> <arg choice="req">FID1:TID1,FID2:TID2,...</arg></term>
<term><option>--track-order</option> <parameter>FID1:TID1,FID2:TID2,...</parameter></term>
<listitem>
<para>
This option changes the order in which the tracks for an input file are created. The argument is a comma separated
list of pairs IDs. Each pair contains first the file ID which is simply the number of the file on the command line
starting at 0. The second is a track ID from that file. If some track IDs are omitted then those tracks are
created after the ones given with this option have been created.
This option changes the order in which the tracks for an input file are created. The argument is a comma separated list of pairs
IDs. Each pair contains first the file ID (<parameter>FID1</parameter>) which is simply the number of the file on the command line
starting at 0. The second is a track ID (<parameter>TID1</parameter>) from that file. If some track IDs are omitted then those tracks
are created after the ones given with this option have been created.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--cluster-length</option> <arg choice="req">n</arg>ms</term>
<term><option>--cluster-length</option> <parameter>spec</parameter></term>
<listitem>
<para>
Put at most <parameter>n</parameter> data blocks into each cluster. If the number is postfixed with 'ms' then put
at most <parameter>n</parameter> milliseconds of data into each cluster. The maximum length for a cluster that
<productname>mkvmerge</productname> accepts is 60000 blocks and 32000ms; the minimum length is 100ms. Programs
will only be able to seek to clusters, so creating larger clusters may lead to imprecise or slow seeking.
Limit the number of data blocks or the duration of data in each cluster. The <parameter>spec</parameter> parameter can either be a
number <parameter>n</parameter> without a unit or a number <parameter>d</parameter> postfixed with '<literal>ms</literal>'.
</para>
<para>
If no unit is used then &mkvmerge; will put at most <parameter>n</parameter> data blocks into each cluster. The maximum number of
blocks is 65535.
</para>
<para>
If the number <parameter>n</parameter> is postfixed with '<literal>ms</literal>' then &mkvmerge; puts at most <parameter>d</parameter>
milliseconds of data into each cluster. The minimum for <parameter>d</parameter> is '<literal>100ms</literal>', and the maximum is
'<literal>32000ms</literal>'.
</para>
<para>
&mkvmerge; defaults to putting at most 65535 data blocks and 2000ms of data into a cluster.
</para>
<para>
Programs trying to find a certain frame can only seek directly to a cluster and have to read the whole cluster afterwards. Therefore
creating larger clusters may lead to imprecise or slow seeking.
</para>
</listitem>
</varlistentry>
@ -225,10 +247,10 @@
<term><option>--no-cues</option></term>
<listitem>
<para>
Tells <productname>mkvmerge</productname> not to create and write the cue data which can be compared to an index
in an AVI. Matroska files can be played back without the cue data, but seeking will probably be imprecise and
slower. Use this only if you're really desperate for space or for testing purposes. See also option
<option>--cues</option> which can be specified for each input file.
Tells &mkvmerge; not to create and write the cue data which can be compared to an index in an AVI. Matroska files can be played back
without the cue data, but seeking will probably be imprecise and slower. Use this only if you're really desperate for space or for
testing purposes. See also option <link linkend="mkvmerge.description.cues"><option>--cues</option></link> which can be specified for
each input file.
</para>
</listitem>
</varlistentry>
@ -237,8 +259,8 @@
<term><option>--no-clusters-in-meta-seek</option></term>
<listitem>
<para>
Tells <productname>mkvmerge</productname> not to create a meta seek element at the end of the file containing all
clusters. See also the section about the <link linkend="mkvmerge.file_layout">Matroska file layout</link>.
Tells &mkvmerge; not to create a meta seek element at the end of the file containing all clusters. See also the section about the
<link linkend="mkvmerge.file_layout">Matroska file layout</link>.
</para>
</listitem>
</varlistentry>
@ -247,8 +269,8 @@
<term><option>--disable-lacing</option></term>
<listitem>
<para>
Disables lacing for all tracks. This will increase the file's size, especially if there are many audio
tracks. This option is not intended for everyday use.
Disables lacing for all tracks. This will increase the file's size, especially if there are many audio tracks. This option is not
intended for everyday use.
</para>
</listitem>
</varlistentry>
@ -257,31 +279,28 @@
<term><option>--enable-durations</option></term>
<listitem>
<para>
Write durations for all blocks. This will increase file size and does not offer any additional value for players
at the moment.
Write durations for all blocks. This will increase file size and does not offer any additional value for players at the moment.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--timecode-scale</option> <arg choice="req">n</arg></term>
<term><option>--timecode-scale</option> <parameter>factor</parameter></term>
<listitem>
<para>
Forces the timecode scale factor to <parameter>n</parameter>. Valid values are in the range
<literal>1000</literal>..<literal>10000000</literal> or the special value <literal>-1</literal>.
Forces the timecode scale factor to <parameter>factor</parameter>. Valid values are in the range
<constant>1000</constant>..<constant>10000000</constant> or the special value <constant>-1</constant>.
</para>
<para>
Normally <productname>mkvmerge</productname> will use a value of <literal>1000000</literal> which means that
timecodes and durations will have a precision of 1ms. For files that will not contain a video track but at least
one audio track <productname>mkvmerge</productname> will automatically chose a timecode scale factor so that all
timecodes and durations have a precision of one audio sample. This causes bigger overhead but allows precise seeking
and extraction.
Normally &mkvmerge; will use a value of <constant>1000000</constant> which means that timecodes and durations will have a precision of
1ms. For files that will not contain a video track but at least one audio track &mkvmerge; will automatically chose a timecode scale
factor so that all timecodes and durations have a precision of one audio sample. This causes bigger overhead but allows precise
seeking and extraction.
</para>
<para>
If the special value <literal>-1</literal> is used then <productname>mkvmerge</productname> will use sample
precision even if a video track is present.
If the special value <constant>-1</constant> is used then &mkvmerge; will use sample precision even if a video track is present.
</para>
</listitem>
</varlistentry>
@ -293,17 +312,17 @@
<variablelist>
<varlistentry id="mkvmerge.description.split">
<term><option>--split</option> <arg choice="req">specification</arg></term>
<term><option>--split</option> <parameter>specification</parameter></term>
<listitem>
<para>
Splits the output file after a given size or a given time. Please note that tracks can only be split right before a key frame. Due
to buffering <productname>mkvmerge</productname> will split right before the next key frame after the split point has been reached.
Therefore the split point may be a bit off from what the user has specified.
to buffering &mkvmerge; will split right before the next key frame after the split point has been reached. Therefore the split point
may be a bit off from what the user has specified.
</para>
<para>
At the moment <productname>mkvmerge</productname> supports three different modes.
At the moment &mkvmerge; supports three different modes.
</para>
<orderedlist>
@ -313,7 +332,7 @@
</para>
<para>
Syntax: <option>--split </option> <arg choice="req"><arg>size:</arg><parameter>d</parameter><arg>k|m|g</arg></arg>
Syntax: <option>--split</option> <optional>size:</optional><parameter>d</parameter><optional>k|m|g</optional>
</para>
<para>
@ -337,7 +356,7 @@
</para>
<para>
Syntax: <option>--split</option> <arg choice="req"><arg>duration:</arg><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>n</parameter>s</arg>
Syntax: <option>--split</option> <optional>duration:</optional><parameter>HH:MM:SS.nnnnnnnnn</parameter>|<parameter>d</parameter>s
</para>
<para>
@ -346,7 +365,7 @@
<para>
The paramter must either have the form <parameter>HH:MM:SS.nnnnnnnnn</parameter> for specifying the duration in up to nano-second
precision or be a number <parameter>n</parameter> followed by the letter '<literal>s</literal>' for the duration in
precision or be a number <parameter>d</parameter> followed by the letter '<literal>s</literal>' for the duration in
seconds. <parameter>HH</parameter> is the number of hours, <parameter>MM</parameter> the number of minutes,
<parameter>SS</parameter> the number of seconds and <parameter>nnnnnnnnn</parameter> the number of nanoseconds. Both the number of
hours and the number of nanoseconds can be omitted. There can be up to nine digits after the decimal point. After the duration of
@ -364,7 +383,7 @@
</para>
<para>
Syntax: <option>--split</option> <arg choice="req">timecodes:<parameter>A</parameter><arg>,<parameter>B</parameter><arg>,<parameter>C</parameter>...</arg></arg></arg>
Syntax: <option>--split</option> timecodes:<parameter>A</parameter><optional>,<parameter>B</parameter><optional>,<parameter>C</parameter>...</optional></optional>
</para>
<para>
@ -372,9 +391,9 @@
</para>
<para>
The parameters <parameter>A</parameter>, <parameter>B</parameter> etc must all have the same format as the ones used for the
duration (see above). The list of timecodes is separated by commas. After the input stream has reached the current split point's
timecode a new file is created. Then the next split point given in this list is used.
The parameters <parameter>A</parameter>, <parameter>B</parameter>, <parameter>c</parameter> etc must all have the same format as the
ones used for the duration (see above). The list of timecodes is separated by commas. After the input stream has reached the
current split point's timecode a new file is created. Then the next split point given in this list is used.
</para>
<para>
@ -394,7 +413,7 @@
</listitem>
</varlistentry>
<varlistentry>
<varlistentry id="mkvmerge.description.link">
<term><option>--link</option></term>
<listitem>
<para>
@ -405,21 +424,82 @@
</varlistentry>
<varlistentry>
<term><option>--link-to-previous</option> <arg choice="req">SID</arg></term>
<term><option>--link-to-previous</option> <parameter>segment-UID</parameter></term>
<listitem>
<para>
Links the first output file to the segment with the segment UID given by the <parameter>SID</parameter> parameter. See the section on
<link linkend="mkvmerge.file_linking">file linking</link> below for details.
Links the first output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the
section on <link linkend="mkvmerge.file_linking">file linking</link> below for details.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--link-to-next</option> <arg choice="req">SID</arg></term>
<term><option>--link-to-next</option> <parameter>segment-UID</parameter></term>
<listitem>
<para>
Links the last output file to the segment with the segment UID given by the <parameter>SID</parameter> parameter. See the section on
<link linkend="mkvmerge.file_linking">file linking</link> below for details.
Links the last output file to the segment with the segment UID given by the <parameter>segment-UID</parameter> parameter. See the
section on <link linkend="mkvmerge.file_linking">file linking</link> below for details.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Attachment support (more global options):
</para>
<variablelist>
<varlistentry>
<term><option>--attachment-description</option> <parameter>description</parameter></term>
<listitem>
<para>
Plain text description of the following attachment. Applies to the next <link
linkend="mkvmerge.description.attach_file"><option>--attach-file</option></link> or <option>--attach-file-once</option> option.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--attachment-mime-type</option> <parameter>MIME type</parameter></term>
<listitem>
<para>
<abbrev >MIME</abbrev> type of the following attachment. Applies to the next <link
linkend="mkvmerge.description.attach_file"><option>--attach-file</option></link> or <link
linkend="mkvmerge.description.attach_file"><option>--attach-file-once</option></link> option. A list of officially recognized
<abbrev>MIME</abbrev> types can be found e.g. at <ulink url="http://www.iana.org/assignments/media-types/">the IANA
homepage</ulink>. The <abbrev>MIME</abbrev> type is mandatory for an attachment.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--attachment-name</option> <parameter>name</parameter></term>
<listitem>
<para>
Sets the name that will be stored in the output file for this attachment. If this option is not given then the name will be derived
from the file name of the attachment as given with the <link
linkend="mkvmerge.description.attach_file"><option>--attach-file</option></link> or the <link
linkend="mkvmerge.description.attach_file"><option>--attach-file-once</option></link> option.
</para>
</listitem>
</varlistentry>
<varlistentry id="mkvmerge.description.attach_file">
<term>
<option>--attach-file</option> <parameter>file-name</parameter>,
<option>--attach-file-once</option> <parameter>file-name</parameter>
</term>
<listitem>
<para>
Creates a file attachment inside the Matroska file. The <abbrev>MIME</abbrev> type must have been set before this option can used. The
difference between the two forms is that during splitting the files attached with <option>--attach-file</option> are attached to all
output files while the ones attached with <option>--attach-file-once</option> are only attached to the first file created. If
splitting is not used then both do the same.
</para>
<para>
&mkvextract; can be used to extract attached files from a Matroska file.
</para>
</listitem>
</varlistentry>
@ -442,36 +522,26 @@
</para>
<para>
Each segment is identified by a unique 128 bit wide segment UID. This UID is automatically generated by
<productname>mkvmerge</productname>. The linking is done primarily via putting the segment UIDs (short: <abbrev>SID</abbrev>) of the
previous/next file into the segment header information.
<citerefentry>
<refentrytitle>mkvinfo</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
prints these <abbrev>SIDs</abbrev> if it finds them.
Each segment is identified by a unique 128 bit wide segment UID. This UID is automatically generated by &mkvmerge;. The linking is done
primarily via putting the segment UIDs (short: <abbrev>SID</abbrev>) of the previous/next file into the segment header
information. &mkvinfo; prints these <abbrev>SIDs</abbrev> if it finds them.
</para>
<para>
If a file is split into several smaller ones and linking is used then the timecodes will not start at 0 again but will continue where the
last file has left off. This way the absolute time is kept even if the previous files are not available (e.g. when streaming). If no
linking is used then the timecodes should start at 0 for each file. By default <productname>mkvmerge</productname> does not use file
linking. If you want that you can turn it on with the <option>--link</option> option. This option is only useful if splitting is
activated as well.
linking is used then the timecodes should start at 0 for each file. By default &mkvmerge; does not use file linking. If you want that you
can turn it on with the <option>--link</option> option. This option is only useful if splitting is activated as well.
</para>
<para>
Regardless of whether splitting is active or not the user can tell <productname>mkvmerge</productname> to link the produced files to
specific <abbrev>SIDs</abbrev>. This is achieved with the options <option>--link-to-previous</option> and
<option>--link-to-next</option>. These options accept a segment <abbrev>SID</abbrev> in the format that
<citerefentry>
<refentrytitle>mkvinfo</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
outputs: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> prefixed with '<literal>0x</literal>'
each, e.g. '<literal>0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. Alternatively a shorter
form can be used: 16 hexadecimal numbers between <constant>0x00</constant> and <constant>0xff</constant> without the
'<literal>0x</literal>' prefixes and without the spaces, e.g. '<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'.
Regardless of whether splitting is active or not the user can tell &mkvmerge; to link the produced files to specific
<abbrev>SIDs</abbrev>. This is achieved with the options <option>--link-to-previous</option> and <option>--link-to-next</option>. These
options accept a segment <abbrev>SID</abbrev> in the format that &mkvinfo; outputs: 16 hexadecimal numbers between
<constant>0x00</constant> and <constant>0xff</constant> prefixed with '<literal>0x</literal>' each, e.g. '<literal>0x41 0xda 0x73 0x66
0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93</literal>'. Alternatively a shorter form can be used: 16 hexadecimal numbers
between <constant>0x00</constant> and <constant>0xff</constant> without the '<literal>0x</literal>' prefixes and without the spaces, e.g.
'<literal>41da7366d9cfb21eae78ebb45ecab393</literal>'.
</para>
<para>
@ -484,9 +554,14 @@
<refsect1 id="mkvmerge.seealso">
<title>See also</title>
<para>
<citerefentry><refentrytitle>mkvinfo</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>mkvextract</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>mmg</refentrytitle><manvolnum>1</manvolnum></citerefentry>
&mkvinfo;, &mkvextract;, &mmg;
</para>
</refsect1>
<refsect1 id="mkvmerge.www">
<title>WWW</title>
<para>
The latest version can always be found at <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/">the MKVToolNix homepage</ulink>.
</para>
</refsect1>