mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-23 19:31:44 +00:00
912 lines
36 KiB
HTML
912 lines
36 KiB
HTML
<html>
|
|
<head>
|
|
<title>A guide to mkvmerge GUI</title>
|
|
</head>
|
|
<body>
|
|
<h1>A guide to mkvmerge GUI (mmg)</h1>
|
|
|
|
<i>Moritz Bunkus</i>
|
|
<hr>
|
|
|
|
<h2>Table of contents</h2>
|
|
|
|
<p>
|
|
<ol>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#introduction">Introduction</a>
|
|
<br>
|
|
<ol>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#whatismatroska">What is Matroska?</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#whatismkvmerge">What is mkvmerge?
|
|
What is mkvmerge GUI?
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#latestversion">Obtaining the latest
|
|
version
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#scope">Scope of this guide</a>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#setup">Setting up mkvmerge GUI</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#muxing">Creating Matroska files</a>
|
|
<br>
|
|
<ol>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#basics">Basics</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#fileoptions">Options for input
|
|
files
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#trackoptions">Options for each
|
|
track
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#attachments">Attachments</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#globaloptions">Global options</a>
|
|
<br>
|
|
<ol>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#global_title">File/segment
|
|
title</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#global_split">Automatic
|
|
splitting and file linking</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#global_link">Manual
|
|
file/segment linking</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#global_chapters">Chapters</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#global_tags">Global tags</a>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#doit">Starting the merge
|
|
process
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#saveload">Saving and loading
|
|
muxing settings
|
|
</a>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#chaptereditor">The chapter editor</a>
|
|
<br>
|
|
<ol>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#chapterconcept">Matroska's
|
|
chapter concept
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#chapterexamples">Examples</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#chapterformats">Chapter formats
|
|
supported by mkvmerge
|
|
</a>
|
|
<br>
|
|
<ol>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#cfsimple">Simple/OGM style
|
|
chapter files
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#cfxml">Full-featured XML
|
|
style chapter files
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#cfkax">Chapters found in
|
|
Matroska files
|
|
</a>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#creatingchapters">Creating
|
|
chapter files
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="mkvmerge-gui.html#editingchapters">Editing existing
|
|
chapters
|
|
</a>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
</ol>
|
|
</p>
|
|
|
|
<hr>
|
|
|
|
<h2><a name="introduction">1. Introduction</a></h2>
|
|
|
|
<h3><a name="whatismatroska">1.1. What is Matroska?</a></h3>
|
|
|
|
<p>(<i>Note: simply copied from <a href="http://www.matroska.org/">
|
|
www.matroska.org</a>.</i>)</p>
|
|
|
|
<p><b>Matroska</b> aims to become THE Standard of Multimedia Container
|
|
Formats. It was derived from a project called MCF, but
|
|
differentiates from it significantly because it is based on EBML
|
|
(Extensible Binary Meta Language), a binary derivative of XML. EBML
|
|
enables the Matroska Development Team to gain significant advantages
|
|
in terms of future format extensibility, without breaking file
|
|
support in old parsers.</p>
|
|
|
|
<p>If you need any more info please head over to
|
|
<a href="http://www.matroska.org/">Matroska's homepage</a>.</p>
|
|
|
|
<h3><a name="whatismkvmerge">1.2. What is mkvmerge? What is mkvmerge
|
|
GUI?</a></h3>
|
|
|
|
<p><i>mkvmerge</i> and <i>mkvmerge GUI</i> (or just <i>mmg</i>) are
|
|
two programs created by <a href="mailto:moritz@bunkus.org">Moritz
|
|
Bunkus</a>. They're part of the <i>mkvtoolnix</i>
|
|
package. <i>mkvmerge</i> can read a lot of different multimedia
|
|
files and put their contents into Matroska files. Unfortunately this
|
|
is a command line program, and not everyone is comfortable working
|
|
on the command line. This is where <i>mkvmerge GUI</i> comes into
|
|
play. It is a GUI that provides the user with an intuitive but
|
|
powerful interface to <i>mkvmerge</i>.</p>
|
|
|
|
<p>Both programs are available for both Windows and GNU/Linux and
|
|
other Unix derivatives. The program is licensed under the GPL, so
|
|
the source code is available to anyone interested.</p>
|
|
|
|
<h3><a name="latestversion">1.3. Obtaining the latest version</a></h3>
|
|
|
|
<p>You can always find the latest version of <i>mkvtoolnix</i> on
|
|
<a href="http://www.bunkus.org/videotools/mkvtoolnix/">Moritz
|
|
Bunkus' website</a>. Windows users will have to download the runtime
|
|
DLLs as well as the <i>mkvtoolnix</i> binaries. Linux/Unix users
|
|
will probably download the sources and compile
|
|
<i>mkvtoolnix</i> themselves.</p>
|
|
|
|
<h3><a name="scope">1.4. Scope of this guide</a></h3>
|
|
|
|
<p>This guide only focusses on the GUI part of these tools. All
|
|
command line options are explained in detail in <a
|
|
href="mkvmerge.html"><i>mkvmerge</i>'s man page/HTML page</a>.</p>
|
|
|
|
<hr>
|
|
|
|
<h2><a name="setup">2. Setting up mkvmerge GUI</a></h2>
|
|
|
|
<p>(<i>Note: This section does not cover compilation and
|
|
installation. <i>mkvmerge</i>'s own documentation and the
|
|
<code>README</code> files that are included in the
|
|
<i>mkvtoolnix</i> package.</i>)</p>
|
|
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
<p>The only thing that <i>mmg</i> needs to know is the location
|
|
of the <i>mkvmerge</i> binary. Under normal circumstances it
|
|
will be found automatically. But if not then you can select
|
|
the binary to use on the <i>Settings</i> tab.</p>
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<img src="images/selectmkvmergeexecutable.png"
|
|
alt="selecting the mkvmerge executable">
|
|
<br>
|
|
<font size="-1">Use this button to select the path to the
|
|
<i>mkvmerge</i> program.</font>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<hr>
|
|
|
|
<h2><a name="muxing">3. Creating Matroska files</a></h2>
|
|
|
|
<h3><a name="basics">3.1. Basics</a></h3>
|
|
|
|
<p><i>mkvmerge</i> strictly differentiates between <i>files</i> and
|
|
<i>tracks</i>. An input <i>file</i> usually contains one or more
|
|
<i>tracks</i>. <i>mkvmerge</i> needs at least one input file and the
|
|
file name of the Matroska file it should create before it can do any
|
|
work. Starting with this minimal set of options the user can add
|
|
more input files, select advanced options for each track, apply some
|
|
more global options etc.</p>
|
|
|
|
<p>The typical basic steps are:<br>
|
|
<ol>
|
|
<li>Select some input <i>files</i>,</li>
|
|
<li>set language options for the <i>tracks</i>,</li>
|
|
<li>set the movie/file title,</li>
|
|
<li>select the file to write to and</li>
|
|
<li>start the muxing process.</li>
|
|
</ol>
|
|
</p>
|
|
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
|
|
<p>When <i>mmg</i> starts up it shows the first and probably
|
|
most important tab: the <i>input tab</i>. Here you see four
|
|
different elements. The topmost input box lists all input
|
|
<i>files</i>. Directly under this box are options that apply
|
|
to the currently selected input <i>file</i>.</p>
|
|
|
|
<p>The two buttons to the right of the upper list box can be
|
|
used to add files to the list box with the <i>+</i> button and
|
|
to remove the selected entry with the <i>-</i> button.</p>
|
|
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<img src="images/addremovefiles.png"
|
|
alt="adding and removing files">
|
|
<br>
|
|
<font size="-1">Use these buttons to add and remove
|
|
files.</font>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">
|
|
<p>Once the user selects an input <i>file</i> in the upper list
|
|
box the second list box will contains all <i>tracks</i> that
|
|
can be read from this <i>file</i>. Each track is ENabled by
|
|
default and will be muxed into the resulting file. However,
|
|
you can change that by simply clicking on the check box right
|
|
in front of the track's name in the second list box. For each
|
|
of these tracks the user can select track specific options
|
|
with the input boxes and check boxes below the track
|
|
listing. These options will be described in the following
|
|
sections.</p>
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<img src="images/trackselection.png"
|
|
alt="selecting specific tracks">
|
|
<br>
|
|
<font size="-1">Three enabled tracks and one disabled track. The
|
|
fourth track will not be copied into the output file.</font>
|
|
</td>
|
|
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<h3><a name="fileoptions">3.2. Options for input file</a></h3>
|
|
|
|
<p>Once the user has added and selected an input file he can set
|
|
options that apply to this specific file. At the moment three such
|
|
options have been implemented, and they all are only available for
|
|
Matroska files: <code>No chapters</code>, <code>No
|
|
attachments</code> and <code>No tags</code>. These options tell
|
|
<i>mkvmerge</i> not to copy any chapters / attachments / tags from
|
|
the current source file.
|
|
<br>
|
|
<b>Note:</b> At the time of writing <i>mkvmerge</i> cannot copy tags
|
|
from a source Matroska file. You have to extract them with
|
|
mkvextract first.</p>
|
|
|
|
<p>More information about chapters can be found in the section about
|
|
the <a href="mkvmerge-gui.html#chaptereditor">chapter editor</a> in
|
|
this document and in <i>mkvmerge</i>'s own documentation.</p>
|
|
|
|
<h3><a name="trackoptions">3.3. Options for each track</a></h3>
|
|
|
|
<p>Depending on the type of the currently selected track (audio,
|
|
video, subtitles) and even depending on the contents of the track
|
|
only a subset of all the track specific options are available. The
|
|
options are:</p>
|
|
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
<ul>
|
|
|
|
<li><code>Language:</code> The user can select the language
|
|
for each track regardless of its type. This language is
|
|
coded in the ISO639-2 language code. The drop-down box
|
|
contains all ISO639-2 codes so the user does not have to
|
|
worry about selecting the wrong language code.</li>
|
|
|
|
<li><code>Track name:</code> The user can set a name for the
|
|
current track. This name is a free-form string. Practical
|
|
examples could be 'director's comments' or 'great view of
|
|
Seattle'. Note that these names are not meant to contain the
|
|
movie title!</li>
|
|
|
|
<li><code>Cues:</code> The <i>cues</i> are for Matroska what
|
|
the index is for AVI files. They contain links to the key
|
|
frames. Usually this option should be left on the value
|
|
'default'. <i>mkvmerge</i> will automatically chose the best
|
|
method for any given track type. A full explanation of
|
|
tracks can be found in <a
|
|
href="mkvmerge.html"><i>mkvmerge</i>'s
|
|
documentation</a>.</li>
|
|
|
|
<li><code>Aspect ratio:</code> With this option the user can
|
|
set the aspect ratio that should be used upon playback. It
|
|
defaults to the aspect ratio that the movie was encoded with
|
|
but can be changed, e.g. for anamorphic encodings. The GUI
|
|
expects the format to be either a floating point number
|
|
(e.g. '2.33') or a fraction (e.g. '16/9').
|
|
<br>
|
|
This option is only available for video tracks.</li>
|
|
|
|
<li><code>FourCC:</code> Matroska does not normally store the
|
|
Four-CC which is used in other containers to identify the
|
|
codec used. Matroska has its own format, called
|
|
<i>CodecID</i>, but it also has an AVI compatibility
|
|
mode. In this mode the FourCC is also stored. With this
|
|
option the FourCC can be forced to a different
|
|
value. However, you cannot change the <i>CodecID</i> used by
|
|
<i>mkvmerge</i>.
|
|
<br>
|
|
This option is only available for video tracks.</li>
|
|
|
|
<li><code>Delay (in ms):</code> In some cases audio and video
|
|
are not synchronized properly. With this option the user can
|
|
offset the audio track by a given amount, either positive or
|
|
negative. <i>mkvmerge</i> will either remove samples at the
|
|
beginning or insert silence at the beginning to adjust the
|
|
track.
|
|
<br>
|
|
This option is available for audio and text subtitle tracks.</li>
|
|
|
|
<li><code>Stretch by:</code> In some cases audio and video
|
|
slowly drift apart during playback. This can be fixed by
|
|
supplying a factor of how much the time codes should be
|
|
stretched by <i>mkvmerge</i>. If nothing is given then '1.0'
|
|
is assumed which does not alter the time codes. Please note
|
|
that this option has not been implemented for all audio
|
|
track types yet.
|
|
<br>
|
|
This option is available for audio and text subtitle
|
|
tracks.</li>
|
|
|
|
<li><code>Subtitle charset:</code> Some text subtitle formats
|
|
do not store the charset that they were created with. This is
|
|
important because text subtitles are automatically converted
|
|
to the UTF-8 charset during muxing. <i>mkvmerge</i> will
|
|
normally assume that the system's current charset is the
|
|
same that the subtitle file was written in. But in case this
|
|
is not true the user can select the correct charset.
|
|
<br>
|
|
This option is only available for text subtitle tracks.</li>
|
|
|
|
<li><code>Make default track:</code> Matroska knows a flag
|
|
which tells the player that a specific track should be
|
|
preferred upon playback if the user does not chose another
|
|
one. Of course each track <i>type</i> has its own default
|
|
track - e.g. the default audio track is the English one, and
|
|
the default subtitle track is the French one. If no track is
|
|
set to be the default track then <i>mkvmerge</i> will
|
|
promote the first track of each type that it finds to be the
|
|
default track. This is consistent with the behaviour of
|
|
various media players.</li>
|
|
|
|
<li><code>AAC is SBR/HE-AAC/AAC+:</code> The new technology
|
|
called 'high efficiency AAC' has some drawbacks when it is
|
|
being stored in <code>.AAC</code> files: it is not possible
|
|
to detect the HE-AAC part for these files. Therefore the
|
|
user has to check this option manually if it applies. Please
|
|
note that this problem does not exist for HE-AAC stored in
|
|
<code>.MP4</code> files.</li>
|
|
|
|
<li><code>Tags:</code> For each track you can create a XML
|
|
tags file. For a full explanation of all tags please refer
|
|
to the example file and <a
|
|
href="mkvmerge.html"><i>mkvmerge</i>'s own
|
|
documentation</a>. In probably 99% of all cases you want to
|
|
use THIS option and associate tags with a specific
|
|
track. The tags option on the global tab is probably not
|
|
what you need.</li>
|
|
|
|
</ul>
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<p>
|
|
<img src="images/videotrackoptions.png"
|
|
alt="typical options for a video track">
|
|
<br>
|
|
<font size="-1">Typical options for a video track</font>
|
|
</p>
|
|
<p>
|
|
<img src="images/audiotrackoptions.png"
|
|
alt="typical options for an audio track">
|
|
<br>
|
|
<font size="-1">Typical options for an audio track</font>
|
|
</p>
|
|
<p>
|
|
<img src="images/textsubtitlestrackoptions.png"
|
|
alt="typical options for a text subtitle track">
|
|
<br>
|
|
<font size="-1">Typical options for a text subtitle track</font>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><a name="attachments">3.4. Attachments</a></h3>
|
|
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
|
|
<p>Matroska files can also contain other files, called
|
|
attachments. This works basically just like with your
|
|
favourite email program. The idea is to provide additional
|
|
information about the file. Some examples could be cover
|
|
photos for a CD rip, additional background information in text
|
|
form about the movie or even some compressed fonts for the
|
|
subtitles.</p>
|
|
|
|
<p>Every attachment needs two things: the file name (obviously)
|
|
and the MIME type that should be associated with the file. The
|
|
usage is very easy and similar to adding files on the
|
|
<i>input</i> tab.</p>
|
|
|
|
<p>On the second tab of the GUI, the <i>attachment</i> tab, you
|
|
can add a file with the <i>+</i> button and remove the
|
|
selected attachment with the <i>-</i> button. Once an
|
|
attachment has been selected the other controls on this tab
|
|
will be available. You do have to select a MIME type for each
|
|
attachment, but the description is optional - although it is a
|
|
good idea to always provide a description. This makes it
|
|
easier for others to identify what you've attached to this
|
|
Matroska file.</p>
|
|
|
|
<p>The last option, <code>attachment style</code>, is only
|
|
evaluated when you also split the output into several
|
|
files. (Splitting in general is explained in the following
|
|
section.) If the option <code>To all files</code> is selected
|
|
then the current file will be attached to all output files
|
|
created. If the option <code>Only to the first</code> is
|
|
selected then the file is only attached to the very first
|
|
output file created.</p>
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<p>
|
|
<img src="images/addingremovingattachments.png"
|
|
alt="adding and removing attachments">
|
|
<br>
|
|
<font size="-1">Add and remove attachments with these buttons.</font>
|
|
</p>
|
|
<p>
|
|
<img src="images/attachmentoptions.png"
|
|
alt="typical options for an attachment">
|
|
<br>
|
|
<font size="-1">Typical options for an attachment</font>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><a name="globaloptions">3.5. Global options</a></h3>
|
|
|
|
<p>The third tab, <i>Global</i>, is packed full of options that apply
|
|
to the complete file and not just to one or more tracks.</p>
|
|
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
|
|
<h4><a name="global_title">3.5.1. File/segment title</a></h4>
|
|
|
|
<p><code>File/segment title:</code> This title is used for the
|
|
actual movie title, e.g. 'Vanilla Skies'.</p>
|
|
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<p>
|
|
<img src="images/movietitle.png"
|
|
alt="selecting a movie title">
|
|
<br>
|
|
<font size="-1">Selecting a title for the movie</font>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">
|
|
<h4><a name="global_split">3.5.2. Automatic splitting and file
|
|
linking </a></h4>
|
|
|
|
<p>The <code>Split</code> section handles how the output file is
|
|
split into several smaller files. If no splitting is selected
|
|
then only one big file is generated. If splitting is activated
|
|
then you can tell <i>mkvmerge</i> to start a new output file
|
|
after either a specific amount of data has been written to the
|
|
current file or after a specific amount of time has
|
|
accumulated. The formats accepted are:
|
|
<br>
|
|
<ul>
|
|
<li>For the size: A number optionally followed by the letter
|
|
'K', 'M' or 'G' indicating kilobytes (1024 bytes),
|
|
megabytes (1024 * 1024 bytes) or gigabytes (1024 * 1024 *
|
|
1024 bytes). Examples: '700M' or '100000K'.</li>
|
|
|
|
<li>For the time: The format is either <code>HH:MM:SS</code>
|
|
or a number followed by the letter 's' indicating a number
|
|
of seconds. Examples: '01:20:00' (split after 1 hour, 20
|
|
minutes) or '1800s' (split after 1800 seconds = 30
|
|
minutes).</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<p><code>Don't link:</code> This option controls how
|
|
<i>mkvmerge</i> will handle splitting. A little explanation
|
|
about this feature:</p>
|
|
|
|
<p>Matroska supports file linking which simply says that a
|
|
specific file is the predecessor or successor of the current
|
|
file. To be precise, it's not really the files that are linked
|
|
but the Matroska segments. As most files will probably only
|
|
contain one Matroska segment I simply say 'file linking'
|
|
although 'segment linking' would be more appropriate.</p>
|
|
|
|
<p>Each segment is identified by a unique 128 bit wide segment
|
|
UID. This UID is automatically generated by
|
|
<i>mkvmerge</i>. The linking is done primarily via putting the
|
|
segment UIDs of the previous/next file into the segment header
|
|
information. <i>mkvinfo</i> prints these UIDs if it finds
|
|
them.</p>
|
|
|
|
<p>If a file is split into several smaller ones and linking is
|
|
used then the time codes 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 time codes should start at 0 for each file. By default
|
|
<i>mkvmerge</i> uses file linking. If you don't want that you
|
|
can turn it off by enabling this <code>Don't link</code>
|
|
check box.</p>
|
|
|
|
<h4><a name="global_link">3.5.3. Manual file/segment linking</a></h4>
|
|
|
|
<p>Regardless of whether splitting is active or not the user can tell
|
|
<i>mkvmerge</i> to link the produced files to specific
|
|
UIDs. This is done by entering a valid segment UID into the
|
|
two input boxes, <code>Previous segment UID</code> and
|
|
<code>Next segment UID</code>. These options accept a segment
|
|
UID in the format that <i>mkvinfo</i> outputs: 16 hexadecimal
|
|
numbers between 0x00 and 0xff prefixed with '0x' each and
|
|
separated with spaces, e.g. <code>0x41 0xda 0x73 0x66 0xd9
|
|
0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3
|
|
0x93</code>. Alternatively a shorter form can be used: 16
|
|
hexadecimal numbers between 0x00 and 0xff without the '0x'
|
|
prefixes and without the spaces, e.g.
|
|
<code>41da7366d9cfb21eae78ebb45ecab393</code>.</p>
|
|
|
|
<p>If splitting is used then the first file is linked to the UID
|
|
given in the <code>Previous segment UID</code> input box, and
|
|
the last file is linked to the UID given in the <code>Next
|
|
segment UID</code> input box. If splitting is not used then
|
|
the one output file will be linked to both of the two
|
|
UIDs.</p>
|
|
|
|
<h4><a name="global_chapters">3.5.4. Chapters</a></h4>
|
|
|
|
<p>With the browse button you can select the chapters to add to
|
|
the output file. A full explanation of all aspects around
|
|
chapters can be found in the <a
|
|
href="mkvmerge-gui.html#chaptereditor"> Chapter editor
|
|
section</a>.</p>
|
|
|
|
<h4><a name="global_tags">3.5.5. Global tags</a></h4>
|
|
|
|
<p>Unlike the tags you can select for each track on the input
|
|
tab the tags selected here have to contain the track
|
|
UIDs. These tags are not assigned to any track
|
|
automatically. In 99% of all cases this is NOT the option you
|
|
want to use!</p>
|
|
|
|
<p>The full explanation can be found in
|
|
<a href="mkvmerge.html">mkvmerge's documentation</a>.</p>
|
|
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<p>
|
|
<img src="images/splitting.png"
|
|
alt="typical options for splitting">
|
|
<br>
|
|
<font size="-1">Typical options for splitting. Create two
|
|
files which will be approx. 700megs big.</font>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><a name="doit">3.6. Starting the merge process</a></h3>
|
|
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
<p>Once everything has been set up the muxing process can be
|
|
started. The last thing to do is to chose where to mux
|
|
to. With the <code>browse</code> button you can select the
|
|
output file. After this has been done hit the <code>Start
|
|
muxing</code> button or select the same entry from the
|
|
<code>Muxing</code> menu.</p>
|
|
|
|
<p>If everything has been set up correctly <i>mmg</i> will show
|
|
the muxing dialog. The progress is shown at the top, as is a
|
|
general description of what <i>mkvmerge</i> is doing at the
|
|
moment (muxing, 1st pass of splitting files or 2nd pass of
|
|
splitting files).</p>
|
|
|
|
<p><i>mkvmerge</i> knows three different 'severity levels' for
|
|
its messages: status reports, warnings and errors. All status
|
|
report messages are shown in the upper window. These include
|
|
the track types encountered and other interesting things.</p>
|
|
|
|
<p>Warnings are shown in the middle window. <i>mkvmerge</i> will
|
|
not abort when it issues a warning, but it might stop muxing
|
|
the track for which the warning was printed. You should pay
|
|
close attention to all warning messages.</p>
|
|
|
|
<p>Errors are show in the lower window. Errors are always fatal,
|
|
and <i>mkvmerge</i> will stop muxing right after it has printed
|
|
the error message. Such a message might be that the hard disc
|
|
is full or that the source file is damaged and cannot be
|
|
processed any further.</p>
|
|
|
|
<p>The button <code>Abort</code> sends <i>mkvmerge</i> the
|
|
signal to stop muxing. Unless <i>mkvmerge</i> is stuck in some
|
|
endless loop it will stop soon after you've pressed the
|
|
button. With <code>Save log</code> you can save the complete
|
|
output from <i>mkvmerge</i> into a text file for further study
|
|
or in case you've encountered a bug and want to send me some
|
|
additional information.</p>
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<p>
|
|
<img src="images/muxingwindow.png"
|
|
alt="the muxing window">
|
|
<br>
|
|
<font size="-1">The muxing window</font>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><a name="saveload">3.7. Saving and loading muxing settings</a></h3>
|
|
|
|
<p>All your hard work of setting options does not have to be lost when
|
|
you exit the program. You can save all your muxing settings into
|
|
text based configuration files with the <code>Save settings</code>
|
|
option in the <code>File</code> menu and restore them later with the
|
|
<code>Load settings</code> option. The default extension is
|
|
<code>.mmg</code> and is usually not used by other programs. You can
|
|
also associate this extension with <i>mmg</i> so that it
|
|
automatically loads the settings if it is called with the name of
|
|
such a settings file.</p>
|
|
|
|
<hr>
|
|
|
|
<h2><a name="chaptereditor">4. The chapter editor</a></h2>
|
|
|
|
<p>One of the new features of <i>mmg</i> is a full-featured chapter
|
|
editor. It can read text based chapter files, import chapters from
|
|
existing Matroska files, write text based chapter files that can be
|
|
selected on the global tab and write chapters directly to existing
|
|
Matroska files.</p>
|
|
|
|
<h3><a name="chapterconcept">4.1. Matroska's chapter concept</a></h3>
|
|
|
|
<p>Unlike a lot of other systems Matroska supports <i>nested</i>
|
|
chapters. This basically means that you can define sub chapters for
|
|
chapters.</p>
|
|
|
|
<p>A chapter entity in Matroska consists of at least four items: The
|
|
UID of the track(s) it applies to, the chapter title/name, it's
|
|
start time and the language code associated with it. Additional
|
|
elements are optional and include the end time, more language codes
|
|
and country codes. Usually the user will only need the mandatory
|
|
elements. Of these he can only specify the name, the start time and
|
|
the language code. <i>mkvmerge</i> will then automatically assign
|
|
all chapters to the complete file.</p>
|
|
|
|
<h3><a name="chapterexamples">4.2. Examples</a></h3>
|
|
|
|
<p>The first example is a simple one. The movie in question contains
|
|
four parts: The intro starting at the beginning, the first act, the
|
|
second act, and the credits. Note that the end timestamps are
|
|
optional.</p>
|
|
|
|
<p><code>Intro (from 00:00:00, language English)<br>
|
|
Act 1 (from 00:01:00, language English)<br>
|
|
Act 2 (from 00:05:30, language English)<br>
|
|
Credits (from 00:12:20 until 00;12:55, language
|
|
English)</code></p>
|
|
|
|
<p>A more complex example including sub chapters. Let's take Ludwig
|
|
van Beethoven's opera Fidelio. For the sake of brevity I'm only
|
|
including the first three pieces of the two acts.</p>
|
|
|
|
<p>The first act contains:
|
|
<ol>
|
|
<li>Overtüre (6:24 long),</li>
|
|
<li>Arie: 'Jetzt, Schätzchen, jetzt sind wir allein' (4:46
|
|
long) and</li>
|
|
<li>Dialog: 'Armer Jaquino' (0:10 long).</li>
|
|
</ol>
|
|
The second act contains:
|
|
<ol>
|
|
<li>Ouvertüre und Arie: 'Gott! welch Dunkel hier!' (10:46
|
|
long),</li>
|
|
<li>Melodrama und Duett: 'Wie kalt ist es' (5:21 long) and</li>
|
|
<li>Dialog: 'Er erwacht!' (0:59 long).</li>
|
|
</ol>
|
|
</p>
|
|
|
|
<p>The first act, which will be our first chapter, has a combined
|
|
length of 11:20. Our second act has a length of 17:06. These
|
|
chapters would look like this:</p>
|
|
|
|
<p><code>Erster Akt (from 00:00:00 until 00:11:20, language German,
|
|
country Germany)<br>
|
|
|
|
Ouvertüre (from 00:00:00 until 00:06:24, language German,
|
|
country Germany)<br>
|
|
|
|
Arie: 'Jetzt, Schätzchen, jetzt sind wir allein' (from
|
|
00:06:24 until 00:11:10, language German, country Germany)<br>
|
|
|
|
Dialog: 'Armer Jaquino' (from 00:11:10 until 00:11:20, language
|
|
German, country Germany)<br>
|
|
|
|
Zweiter Akt (from 00:11:20 until 00:28:26, language German,
|
|
country Germany)<br>
|
|
|
|
Ouvertüre und Arie: 'Gott! welch Dunkel hier!' (from 00:11:20
|
|
until 00:22:06, language German, country Germany)<br>
|
|
|
|
Melodrama und Duett: 'Wie kalt ist es' (from 00:22:06 until
|
|
00:27:27, language German, country Germany)<br>
|
|
|
|
Dialog: 'Er erwacht!' (from 00:27:27 until 00:28:26, language
|
|
German, country Germany)
|
|
</code>
|
|
</p>
|
|
|
|
<h3><a name="chapterformats">4.3. Chapter formats supported by mkvmerge
|
|
</a></h3>
|
|
|
|
<p><i>mkvmerge</i> and <i>mmg</i>'s chapter editor both support
|
|
different formats for chapter files.</p>
|
|
|
|
<h4><a name="cfsimple">4.3.1. Simple/OGM style chapter files</a></h4>
|
|
|
|
<p>One of the most basic formats is the format used in OGM files. It
|
|
is a text based format. Each chapter entry contains of two lines,
|
|
the first containing the start time, the second the chapter's
|
|
title/name. All lines are numbered.</p>
|
|
|
|
<p>The first example from above can be expressed in this format:<br>
|
|
<code>CHAPTER01=00:00:00.000<br>
|
|
CHAPTER01NAME=Intro<br>
|
|
CHAPTER02=00:01:00.000<br>
|
|
CHAPTER02NAME=Act 1<br>
|
|
CHAPTER03=00:05:30.000<br>
|
|
CHAPTER03NAME=Act 2<br>
|
|
CHAPTER04=00:12:20.000<br>
|
|
CHAPTER04NAME=Credits
|
|
</code>
|
|
</p>
|
|
|
|
<p>The second example cannot be expressed in this format because it
|
|
supports neither language specifications nor end times or nested
|
|
chapters. The advantage is that such files are very easy to create,
|
|
and there are several tools available for both Windows and
|
|
Unix/Linux that create such files directly from DVDs.</p>
|
|
|
|
<p>Due to its limitations <i>mmg</i> cannot output chapters in this
|
|
format.</p>
|
|
|
|
<h4><a name="cfxml">4.3.2. Full-featured XML style chapter files</a></h4>
|
|
|
|
<p>I've created a XML based chapter format that closely matches the
|
|
system Matroska uses. With this format you have the full control
|
|
over all features. I won't describe this format here in
|
|
detail. Please have a look at the example XML chapter files that
|
|
came with <i>mkvtoolnix</i>.</p>
|
|
|
|
<h4><a name="cfkax">4.3.3. Chapters found in Matroska files</a></h4>
|
|
|
|
<p>The chapter editor can read chapters directly from Matroska
|
|
files. These can be written to XML chapter files or back to the same
|
|
Matroska file or another Matroska file. All features are
|
|
supported.</p>
|
|
|
|
<h3><a name="creatingchapters">4.4. Creating chapter files</a></h3>
|
|
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
<p>The chapter editor consists of three parts: the tree view of
|
|
all chapters, the three buttons used for adding and removing
|
|
chapter entries, and the input boxes which are used for
|
|
setting the chapter entry's data.</p>
|
|
|
|
<p>A new chapter file is started with the <code>New</code>
|
|
option from the <code>Chapter editor</code> menu. You can add
|
|
a new chapter with the <code>Add chapter</code> or <code>Add
|
|
subchapter</code> buttons. The difference between these two
|
|
buttons is that when a chapter has been selected <code>Add
|
|
chapter</code> will append a new chapter directly after the
|
|
selected chapter on the same level, and <code>Add
|
|
subchapter</code> will add a new chapter as the last child of
|
|
the currently selected chapter.</p>
|
|
|
|
<p>The <code>Remove chapter</code> has to be used with care. It
|
|
removes the complete subtree without asking for confirmation,
|
|
and there is no undo option available at the moment.</p>
|
|
|
|
<p>After selecting a chapter entry you can change its data. The
|
|
format for the start and end time are either
|
|
<code>HH:MM:SS.mmm</code> or simply <code>HH:MM:SS</code>. The
|
|
language codes are the same ISO639-2 language codes used
|
|
everywhere else. Please note that you can use more than one
|
|
language codes by separating them with spaces. You can add a
|
|
language code to the already entered codes by selecting it
|
|
from the drop down box. The same is true for the country codes
|
|
which are ISO639-1 codes. You can have more than country code
|
|
by separating them with spaces.</p>
|
|
|
|
<p>Saving chapters to XML files can be done with <code>Save</code> or
|
|
<code>Save as</code>. <code>Save as</code> cannot be used to
|
|
write chapters to an existing Matroska file - you'll have to
|
|
use <code>Save to Matroska file</code> for that.</p>
|
|
</td>
|
|
<td> </td>
|
|
<td valign="top">
|
|
<p>
|
|
<img src="images/chaptereditor.png"
|
|
alt="the chapter editor">
|
|
<br>
|
|
<font size="-1">The chapter editor showing the example from
|
|
above</font>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><a name="editingchapters">4.5. Editing existing chapters</a></h3>
|
|
|
|
<p>You can load existing chapter files or chapters from Matroska files
|
|
by selecting the <code>Load</code> option from the <code>Chapter
|
|
editor</code> menu. <i>mmg</i> will automatically detect the file
|
|
type used and read the chapters.</p>
|
|
|
|
</body>
|
|
</html>
|