mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-28 13:57:22 +00:00
738 lines
21 KiB
Groff
738 lines
21 KiB
Groff
'\" t
|
|
.\" Title: mkvpropedit
|
|
.\" Author: Moritz Bunkus <moritz@bunkus.org>
|
|
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
|
.\" Date: 2014-10-22
|
|
.\" Manual: User Commands
|
|
.\" Source: MKVToolNix 7.3.0
|
|
.\" Language: English
|
|
.\"
|
|
.TH "MKVPROPEDIT" "1" "2014\-10\-22" "MKVToolNix 7\&.3\&.0" "User Commands"
|
|
.\" -----------------------------------------------------------------
|
|
.\" * 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 "NAME"
|
|
mkvpropedit \- Modify properties of existing Matroska(TM) files without a complete remux
|
|
.SH "SYNOPSIS"
|
|
.HP \w'\fBmkvpropedit\fR\ 'u
|
|
\fBmkvpropedit\fR [options] {source\-filename} {actions}
|
|
.SH "DESCRIPTION"
|
|
.PP
|
|
This program analyses an existing
|
|
Matroska(TM)
|
|
file and modifies some of its properties\&. Then it writes those modifications to the existing file\&. Among the properties that can be changed are the segment information elements (e\&.g\&. the title) and the track headers (e\&.g\&. the language code, \*(Aqdefault track\*(Aq flag or the name)\&.
|
|
.PP
|
|
Options:
|
|
.PP
|
|
\fB\-l\fR, \fB\-\-list\-property\-names\fR
|
|
.RS 4
|
|
Lists all known and editable property names, their type (string, integer, boolean etc) and a short description\&. The program exits afterwards\&. Therefore the
|
|
\fIsource\-filename\fR
|
|
parameter does not have to be supplied\&.
|
|
.RE
|
|
.PP
|
|
\fB\-p\fR, \fB\-\-parse\-mode\fR \fImode\fR
|
|
.RS 4
|
|
Sets the parse mode\&. The parameter \*(Aq\fImode\fR\*(Aq can either be \*(Aqfast\*(Aq (which is also the default) or \*(Aqfull\*(Aq\&. The \*(Aqfast\*(Aq mode does not parse the whole file but uses the meta seek elements for locating the required elements of a source file\&. In 99% of all cases this is enough\&. But for files that do not contain meta seek elements or which are damaged the user might have to set the \*(Aqfull\*(Aq parse mode\&. A full scan of a file can take a couple of minutes while a fast scan only takes seconds\&.
|
|
.RE
|
|
.PP
|
|
Actions that deal with track and segment info properties:
|
|
.PP
|
|
\fB\-e\fR, \fB\-\-edit\fR \fIselector\fR
|
|
.RS 4
|
|
Sets the
|
|
Matroska(TM)
|
|
file section (segment information or a certain track\*(Aqs headers) that all following
|
|
add,
|
|
set
|
|
and
|
|
delete
|
|
actions operate on\&. This option can be used multiple times in order to make modifications to more than one element\&.
|
|
.sp
|
|
By default
|
|
\fBmkvpropedit\fR(1)
|
|
will edit the segment information section\&.
|
|
.sp
|
|
See the section about
|
|
edit selectors
|
|
for a full description of the syntax\&.
|
|
.RE
|
|
.PP
|
|
\fB\-a\fR, \fB\-\-add\fR \fIname\fR=\fIvalue\fR
|
|
.RS 4
|
|
Adds a property
|
|
\fIname\fR
|
|
with the value
|
|
\fIvalue\fR\&. The property will be added even if such a property exists already\&. Note that most properties are unique and cannot occur more than once\&.
|
|
.RE
|
|
.PP
|
|
\fB\-s\fR, \fB\-\-set\fR \fIname\fR=\fIvalue\fR
|
|
.RS 4
|
|
Sets all occurrences of the property
|
|
\fIname\fR
|
|
to the value
|
|
\fIvalue\fR\&. If no such property exists then it will be added\&.
|
|
.RE
|
|
.PP
|
|
\fB\-d\fR, \fB\-\-delete\fR \fIname\fR
|
|
.RS 4
|
|
Deletes all occurrences of the property
|
|
\fIname\fR\&. Note that some properties are required and cannot be deleted\&.
|
|
.RE
|
|
.PP
|
|
Actions that deal with tags and chapters:
|
|
.PP
|
|
\fB\-t\fR, \fB\-\-tags\fR \fIselector\fR:\fIfilename\fR
|
|
.RS 4
|
|
Add or replace tags in the file with the ones from
|
|
filename
|
|
or remove them if
|
|
filename
|
|
is empty\&.
|
|
\fBmkvpropedit\fR(1)
|
|
reads the same XML tag format that
|
|
\fBmkvmerge\fR(1)
|
|
reads as well\&.
|
|
.sp
|
|
The
|
|
\fIselector\fR
|
|
must be one of the words
|
|
\fBall\fR,
|
|
\fBglobal\fR
|
|
or
|
|
\fBtrack\fR\&. For
|
|
\fBall\fR\fBmkvpropedit\fR(1)
|
|
will replace or remove all tags in a file\&. With
|
|
\fBglobal\fR
|
|
only global tags will be replaced or removed\&.
|
|
.sp
|
|
With
|
|
\fBtrack\fR\fBmkvpropedit\fR(1)
|
|
will replace tags for a specific track\&. Additionally the tags read from
|
|
filename
|
|
will be assigned to the same track\&. The track is specified in the same way
|
|
edit selectors
|
|
are specified (see below), e\&.g\&.
|
|
\-\-tags track:a1:new\-audio\-tags\&.xml\&.
|
|
.RE
|
|
.PP
|
|
\fB\-c\fR, \fB\-\-chapters\fR \fIfilename\fR
|
|
.RS 4
|
|
Add or replace chapters in the file with the ones from
|
|
filename
|
|
or remove them if
|
|
filename
|
|
is empty\&.
|
|
\fBmkvpropedit\fR(1)
|
|
reads the same XML and simple chapter formats that
|
|
\fBmkvmerge\fR(1)
|
|
reads as well\&.
|
|
.RE
|
|
.PP
|
|
Actions for handling attachments:
|
|
.PP
|
|
\fB\-\-add\-attachment\fR \fIfilename\fR
|
|
.RS 4
|
|
Adds a new attachment from
|
|
\fIfilename\fR\&.
|
|
.sp
|
|
If the option
|
|
\fB\-\-attachment\-name\fR
|
|
has been used prior to this option then its value is used as the new attachment\*(Aqs name\&. Otherwise it is derived from
|
|
\fIfilename\fR\&.
|
|
.sp
|
|
If the option
|
|
\fB\-\-attachment\-mime\-type\fR
|
|
has been used prior to this option then its value is used as the new attachment\*(Aqs MIME type\&. Otherwise it is auto\-detected from the content of
|
|
\fIfilename\fR\&.
|
|
.sp
|
|
If the option
|
|
\fB\-\-attachment\-description\fR
|
|
has been used prior to this option then its value is used as the new attachment\*(Aqs description\&. Otherwise no description will be set\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-replace\-attachment\fR \fIselector\fR:\fIfilename\fR
|
|
.RS 4
|
|
Replaces one or more attachments that match
|
|
\fIselector\fR
|
|
with the file
|
|
\fIfilename\fR\&. If more than one existing attachment matches
|
|
\fIselector\fR
|
|
then all of their contents will be replaced by the content of
|
|
\fIfilename\fR\&.
|
|
.sp
|
|
The
|
|
\fIselector\fR
|
|
can have one of four forms\&. They\*(Aqre exlained below in the section
|
|
attachment selectors\&.
|
|
.sp
|
|
If the option
|
|
\fB\-\-attachment\-name\fR
|
|
has been used prior to this option then its value is used as the replaced attachment\*(Aqs name\&. Otherwise the name is not changed\&.
|
|
.sp
|
|
If the option
|
|
\fB\-\-attachment\-mime\-type\fR
|
|
has been used prior to this option then its value is used as the replaced attachment\*(Aqs MIME type\&. Otherwise the MIME type is not changed\&.
|
|
.sp
|
|
If the option
|
|
\fB\-\-attachment\-description\fR
|
|
has been used prior to this option then its value is used as the replaced attachment\*(Aqs description\&. Otherwise no description is not changed\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-delete\-attachment\fR \fIselector\fR
|
|
.RS 4
|
|
Deletes one or more attachments that match
|
|
\fIselector\fR\&.
|
|
.sp
|
|
The
|
|
\fIselector\fR
|
|
can have one of four forms\&. They\*(Aqre exlained below in the section
|
|
attachment selectors\&.
|
|
.RE
|
|
.PP
|
|
Options for attachment actions:
|
|
.PP
|
|
\fB\-\-attachment\-name\fR \fIname\fR
|
|
.RS 4
|
|
Sets the name to use for the following
|
|
\fB\-\-add\-attachment\fR
|
|
or
|
|
\fB\-\-replace\-attachment\fR
|
|
operation\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-attachment\-mime\-type\fR \fImime\-type\fR
|
|
.RS 4
|
|
Sets the MIME type to use for the following
|
|
\fB\-\-add\-attachment\fR
|
|
or
|
|
\fB\-\-replace\-attachment\fR
|
|
operation\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-attachment\-description\fR \fIdescription\fR
|
|
.RS 4
|
|
Sets the description to use for the following
|
|
\fB\-\-add\-attachment\fR
|
|
or
|
|
\fB\-\-replace\-attachment\fR
|
|
operation\&.
|
|
.RE
|
|
.PP
|
|
Other options:
|
|
.PP
|
|
\fB\-\-command\-line\-charset\fR \fIcharacter\-set\fR
|
|
.RS 4
|
|
Sets the character set to convert strings given on the command line from\&. It defaults to the character set given by system\*(Aqs current locale\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-output\-charset\fR \fIcharacter\-set\fR
|
|
.RS 4
|
|
Sets the character set to which strings are converted that are to be output\&. It defaults to the character set given by system\*(Aqs current locale\&.
|
|
.RE
|
|
.PP
|
|
\fB\-r\fR, \fB\-\-redirect\-output\fR \fIfile\-name\fR
|
|
.RS 4
|
|
Writes all messages to the file
|
|
\fIfile\-name\fR
|
|
instead of to the console\&. While this can be done easily with output redirection there are cases in which this option is needed: when the terminal reinterprets the output before writing it to a file\&. The character set set with
|
|
\fB\-\-output\-charset\fR
|
|
is honored\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-ui\-language\fR \fIcode\fR
|
|
.RS 4
|
|
Forces the translations for the language
|
|
\fIcode\fR
|
|
to be used (e\&.g\&. \*(Aqde_DE\*(Aq for the German translations)\&. It is preferable to use the environment variables
|
|
\fILANG\fR,
|
|
\fILC_MESSAGES\fR
|
|
and
|
|
\fILC_ALL\fR
|
|
though\&. Entering \*(Aqlist\*(Aq as the
|
|
\fIcode\fR
|
|
will cause
|
|
\fBmkvextract\fR(1)
|
|
to output a list of available translations\&.
|
|
.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\-\-gui\-mode\fR
|
|
.RS 4
|
|
Turns on GUI mode\&. In this mode specially\-formatted lines may be output that can tell a controlling GUI what\*(Aqs happening\&. These messages follow the format \*(Aq#GUI#message\*(Aq\&. The message may be followed by key/value pairs as in \*(Aq#GUI#message#key1=value1#key2=value2\&...\*(Aq\&. Neither the messages nor the keys are ever translated and always output in English\&.
|
|
.RE
|
|
.PP
|
|
\fB\-v\fR, \fB\-\-verbose\fR
|
|
.RS 4
|
|
Be verbose and show all the important
|
|
Matroska(TM)
|
|
elements as they\*(Aqre read\&.
|
|
.RE
|
|
.PP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
.RS 4
|
|
Show usage information and exit\&.
|
|
.RE
|
|
.PP
|
|
\fB\-V\fR, \fB\-\-version\fR
|
|
.RS 4
|
|
Show version information and exit\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-check\-for\-updates\fR
|
|
.RS 4
|
|
Checks online for new releases by downloading the URL
|
|
\m[blue]\fBhttp://mkvtoolnix\-releases\&.bunkus\&.org/latest\-release\&.xml\fR\m[]\&. Four 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), the latest release\*(Aqs version (key
|
|
available_version) and the download URL (key
|
|
download_url)\&.
|
|
.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\fIoptions\-file\fR
|
|
.RS 4
|
|
Reads additional command line arguments from the file
|
|
\fIoptions\-file\fR\&. Lines whose first non\-whitespace character is a hash mark (\*(Aq#\*(Aq) are treated as comments and ignored\&. White spaces at the start and end of a line will be stripped\&. Each line must contain exactly one option\&.
|
|
.sp
|
|
Several chars can be escaped, e\&.g\&. if you need to start a non\-comment line with \*(Aq#\*(Aq\&. The rules are described in
|
|
the section about escaping text\&.
|
|
.sp
|
|
The command line \*(Aq\fBmkvpropedit source\&.mkv \-\-edit track:a2 \-\-set name=Comments\fR\*(Aq could be converted into the following option file:
|
|
.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
|
|
name=Comments
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.RE
|
|
.SH "EDIT SELECTORS"
|
|
.PP
|
|
The
|
|
\fB\-\-edit\fR
|
|
option sets the
|
|
Matroska(TM)
|
|
file section (segment information or a certain track\*(Aqs headers) that all following
|
|
add,
|
|
set
|
|
and
|
|
delete
|
|
actions operate on\&. This stays valid until the next
|
|
\fB\-\-edit\fR
|
|
option is found\&. The argument to this option is called the edit selector\&.
|
|
.PP
|
|
By default
|
|
\fBmkvpropedit\fR(1)
|
|
will edit the segment information section\&.
|
|
.SS "Segment information"
|
|
.PP
|
|
The segment information can be selected with one of these three words: \*(Aqinfo\*(Aq, \*(Aqsegment_info\*(Aq or \*(Aqsegmentinfo\*(Aq\&. It contains properties like the segment title or the segment
|
|
UID\&.
|
|
.SS "Track headers"
|
|
.PP
|
|
Track headers can be selected with a slightly more complex selector\&. All variations start with \*(Aqtrack:\*(Aq\&. The track header properties include elements like the language code, \*(Aqdefault track\*(Aq flag or the track\*(Aqs name\&.
|
|
.PP
|
|
\fBtrack:\fR\fIn\fR
|
|
.RS 4
|
|
If the parameter
|
|
\fIn\fR
|
|
is a number then the
|
|
\fIn\fRth track will be selected\&. The track order is the same that
|
|
\fBmkvmerge\fR(1)\*(Aqs
|
|
\fB\-\-identify\fR
|
|
option outputs\&.
|
|
.sp
|
|
Numbering starts at 1\&.
|
|
.RE
|
|
.PP
|
|
\fBtrack:\fR\fIt\fR\fIn\fR
|
|
.RS 4
|
|
If the parameter starts with a single character
|
|
\fIt\fR
|
|
followed by a
|
|
\fIn\fR
|
|
then the
|
|
\fIn\fRth track of a specific track type will be selected\&. The track type parameter
|
|
\fIt\fR
|
|
must be one of these four characters: \*(Aqa\*(Aq for an audio track, \*(Aqb\*(Aq for a button track, \*(Aqs\*(Aq for a subtitle track and \*(Aqv\*(Aq for a video track\&. The track order is the same that
|
|
\fBmkvmerge\fR(1)\*(Aqs
|
|
\fB\-\-identify\fR
|
|
option outputs\&.
|
|
.sp
|
|
Numbering starts at 1\&.
|
|
.RE
|
|
.PP
|
|
\fBtrack:\fR=\fIuid\fR
|
|
.RS 4
|
|
If the parameter starts with a \*(Aq=\*(Aq followed by a number
|
|
\fIuid\fR
|
|
then the track whose track
|
|
UID
|
|
element equals this
|
|
\fIuid\fR\&. Track
|
|
UIDs
|
|
can be obtained with
|
|
\fBmkvinfo\fR(1)\&.
|
|
.RE
|
|
.PP
|
|
\fBtrack:\fR@\fInumber\fR
|
|
.RS 4
|
|
If the parameter starts with a \*(Aq@\*(Aq followed by a number
|
|
\fInumber\fR
|
|
then the track whose track number element equals this
|
|
\fInumber\fR\&. Track number can be obtained with
|
|
\fBmkvinfo\fR(1)\&.
|
|
.RE
|
|
.SS "Notes"
|
|
.PP
|
|
Due to the nature of the track edit selectors it is possible that several selectors actually match the same track headers\&. In such cases all actions for those edit selectors will be combined and executed in the order in which they\*(Aqre given on the command line\&.
|
|
.SH "ATTACHMENT SELECTORS"
|
|
.PP
|
|
An attachment selector is used with the two actions
|
|
\fB\-\-replace\-attachment\fR
|
|
and
|
|
\fB\-\-delete\-attachment\fR\&. It can have one of the following four forms:
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04' 1.\h'+01'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP " 1." 4.2
|
|
.\}
|
|
Selection by attachment ID\&. In this form the selector is simply a number, the attachment\*(Aqs ID as output by
|
|
\fBmkvmerge\fR(1)\*(Aqs identification command\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04' 2.\h'+01'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP " 2." 4.2
|
|
.\}
|
|
Selection by attachment UID (unique ID)\&. In this form the selector is the equal sign
|
|
=
|
|
followed by a number, the attachment\*(Aqs unique ID as output by
|
|
\fBmkvmerge\fR(1)\*(Aqs verbose identification command\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04' 3.\h'+01'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP " 3." 4.2
|
|
.\}
|
|
Selection by attachment name\&. In this form the selector is the literal word
|
|
name:
|
|
followed by the existing attachment\*(Aqs name\&. If this selector is used with
|
|
\fB\-\-replace\-attachment\fR
|
|
then colons within the name to match must be escaped as
|
|
\ec\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04' 4.\h'+01'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP " 4." 4.2
|
|
.\}
|
|
Selection by MIME type\&. In this form the selector is the literal word
|
|
mime\-type:
|
|
followed by the existing attachment\*(Aqs MIME type\&. If this selector is used with
|
|
\fB\-\-replace\-attachment\fR
|
|
then colons within the MIME type to match must be escaped as
|
|
\ec\&.
|
|
.RE
|
|
.SH "EXAMPLES"
|
|
.PP
|
|
The following example edits a file called \*(Aqmovie\&.mkv\*(Aq\&. It sets the segment title and modifies the language code of an audio and a subtitle track\&. Note that this example can be shortened by leaving out the first
|
|
\fB\-\-edit\fR
|
|
option because editing the segment information element is the default for all options found before the first
|
|
\fB\-\-edit\fR
|
|
option anyway\&.
|
|
.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
|
|
The second example removes the \*(Aqdefault track flag\*(Aq from the first subtitle track and sets it for the second one\&. Note that
|
|
\fBmkvpropedit\fR(1), unlike
|
|
\fBmkvmerge\fR(1), does not set the \*(Aqdefault track flag\*(Aq of other tracks to \*(Aq0\*(Aq if it is set to \*(Aq1\*(Aq for a different track automatically\&.
|
|
.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
|
|
Replacing the tags for the second subtitle track in a file looks like this:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-tags track:s2:new\-subtitle\-tags\&.xml
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Removing all tags requires leaving out the file name:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-tags all:
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Replacing the chapters in a file looks like this:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-chapters new\-chapters\&.xml
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Removing all chapters requires leaving out the file name:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-chapters \*(Aq\*(Aq
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Adding a font file (Arial\&.ttf) as an attachment:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-add\-attachment Arial\&.ttf
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Adding a font file (89719823\&.ttf) as an attachment and providing some information as it really is just Arial:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-attachment\-name Arial\&.ttf \-\-attachment\-description \*(AqThe Arial font as a TrueType font\*(Aq \-\-attachment\-mime\-type application/x\-truetype\-font \-\-add\-attachment 89719823\&.ttf
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Replacing one attached font (Comit\&.ttf) file with another one (Arial\&.ttf):
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-attachment\-name Arial\&.ttf \-\-attachment\-description \*(AqThe Arial font as a TrueType font\*(Aq \-\-replace\-attachment name:Comic\&.ttf:Arial\&.ttf
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Deleting the second attached file, whatever it may be:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-delete\-attachment 2
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.PP
|
|
Deleting all attached fonts by MIME type:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ mkvpropedit movie\&.mkv \-\-delete\-attachment mime\-type:application/x\-truetype\-font
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.SH "EXIT CODES"
|
|
.PP
|
|
\fBmkvpropedit\fR(1)
|
|
exits with one of three exit codes:
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
\fB0\fR
|
|
\-\- This exit codes means that the modification has completed successfully\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
\fB1\fR
|
|
\-\- In this case
|
|
\fBmkvpropedit\fR(1)
|
|
has output at least one warning, but the modification did continue\&. A warning is prefixed with the text \*(AqWarning:\*(Aq\&. Depending on the issues involved the resulting files might be ok or not\&. The user is urged to check both the warning and the resulting files\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
\fB2\fR
|
|
\-\- This exit code is used after an error occurred\&.
|
|
\fBmkvpropedit\fR(1)
|
|
aborts right after outputting the error message\&. Error messages range from wrong command line arguments over read/write errors to broken files\&.
|
|
.RE
|
|
.SH "TEXT FILES AND CHARACTER SET CONVERSIONS"
|
|
.PP
|
|
For an in\-depth discussion about how all tools in the MKVToolNix suite handle character set conversions, input/output encoding, command line encoding and console encoding please see the identically\-named section in the
|
|
\fBmkvmerge\fR(1)
|
|
man page\&.
|
|
.SH "ESCAPING SPECIAL CHARS IN TEXT"
|
|
.PP
|
|
There are a few places in which special characters in text must or should be escaped\&. The rules for escaping are simple: each character that needs escaping is replaced with a backslash followed by another character\&.
|
|
.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 "SEE ALSO"
|
|
.PP
|
|
\fBmkvmerge\fR(1),
|
|
\fBmkvinfo\fR(1),
|
|
\fBmkvextract\fR(1),
|
|
\fBmmg\fR(1)
|
|
.SH "WWW"
|
|
.PP
|
|
The latest version can always be found at
|
|
\m[blue]\fBthe MKVToolNix homepage\fR\m[]\&\s-2\u[1]\d\s+2\&.
|
|
.SH "AUTHOR"
|
|
.PP
|
|
\fBMoritz Bunkus\fR <\&moritz@bunkus\&.org\&>
|
|
.RS 4
|
|
Developer
|
|
.RE
|
|
.SH "NOTES"
|
|
.IP " 1." 4
|
|
the MKVToolNix homepage
|
|
.RS 4
|
|
\%http://www.bunkus.org/videotools/mkvtoolnix/
|
|
.RE
|