MKVINFO(1)

NAME
mkvinfo - Print information about elements in Matroska(TM) files

SYNOPSIS

mkvinfo [options] {source-filename}

DESCRIPTION

This program lists all elements contained in a Matroska(TM). The output can be limited to a list of tracks in the file including information about the codecs used.

-g, --gui
    Start the GUI. This option is only available if mkvinfo was compiled with GUI support.

-c, --checksums
    Calculates and display the Adler32 checksum for each frame. Useful for debugging only.

-s, --summary
    Only show a terse summary of what mkvinfo(1) finds and not each element.

-t, --track-info
    Show statistics for each track in verbose mode. Also sets verbosity to 1 if it was at level 0 before.

-x, --hexdump
    Show the first 16 bytes of each frame as a hex dump.

-X, --full-hexdump
    Show all bytes of each frame as a hex dump.

-z, --size
    Show the size of each element including its header.

--command-line-charset character-set
    Sets the character set to convert strings given on the command line from. It defaults to the character set given by system's current locale.

--output-charset character-set
    Sets the character set to which strings are converted that are to be output. It defaults to the character set given by system's current locale.

-r, --redirect-output file-name
    Writes all messages to the file file-name 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 --output-charset is honored.

--ui-language code
    Forces the translations for the language code to be used (e.g. 'de_DE' for the German translations). It is preferable to use the environment variables LANG, LC_MESSAGES and LC_ALL though. Entering 'list' as the code will cause mkvinfo(1) to output a list of available translations.

--debug topic
    Turn on debugging for a specific feature. This option is only useful for developers.

--engage feature
    Turn on experimental features. A list of available features can be requested with mkvinfo --engage list. These features are not meant to be used in normal situations.

-v, --verbose
    Be more verbose. See the section about verbosity levels for a description which information will be output at which level.

-h, --help
    Show usage information and exit.

-V, --version
    Show version information and exit.

--check-for-updates
    Checks online for new releases by downloading the URL http://mkvtoolnix-releases.bunkus.org/latest-release.xml. 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's version (key available_version) and the download URL (key download_url).

    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).

    This option is only available if the program was built with support for libcurl.

@options-file
    Reads additional command line arguments from the file options-file. Lines whose first non-whitespace character is a hash mark ('#') 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.

    Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in the section about escaping text.

    The command line 'mkvinfo -v -v input.mkv --redirect-output info.txt' could be converted into the following option file:

        # Be more verbose
        -v
        -v
        # Parse input.mkv
        input.mkv
        # and write the output to info.txt
        --redirect-output
        info.txt

VERBOSITY LEVELS

The -v option can be used to increase mkvinfo(1)'s verbosity level and print more information about the current file.

At level 0 mkvinfo(1) will print only the track headers it finds and their types. mkvinfo(1) will exit as soon as the headers are parsed completely (more technical: as soon as the first cluster is encountered). In this level the seek head entries and the cues will not be displayed -- even if they're located in front of the track information.

At level 1 mkvinfo(1) will also print all Matroska(TM) elements encountered for the complete file but the seek head entries and the cue entries. If the summary mode is enabled then mkvinfo(1) will output the frame position as well.

At level 2 mkvinfo(1) will also print the seek head entries, the cue entries and the file position at which each Matroska(TM) element can be found at.

At level 3 and above mkvinfo(1) will print some information that is not directly connected to a Matroska(TM) element. All other elements only print stuff about the elements that were just found. Level 3 adds meta information to ease debugging (read: it's intended for developers only). All lines written by level 3 are enclosed in square brackets to make filtering them out easy.

EXIT CODES

mkvinfo(1) exits with one of three exit codes:

    • 0 -- This exit codes means that the run has completed successfully.

    • 1 -- In this case mkvinfo(1) has output at least one warning, but the run did continue. A warning is prefixed with the text 'Warning:'.

    • 2 -- This exit code is used after an error occurred. mkvinfo(1) aborts right after outputting the error message. Error messages range from wrong command line arguments over read/write errors to broken files.

ESCAPING SPECIAL CHARS IN TEXT

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.

The rules are: ' ' (a space) becomes '\s', '"' (double quotes) becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' (a single backslash) itself becomes '\\'.

ENVIRONMENT VARIABLES

mkvinfo(1) uses the default variables that determine the system's locale (e.g. LANG and the LC_* family). Additional variables:

MKVTOOLNIX_DEBUG and its short form MTX_DEBUG
    The content is treated as if it had been passed via the --debug option.

MKVTOOLNIX_ENGAGE and its short form MTX_ENGAGE
    The content is treated as if it had been passed via the --engage option.

MKVTOOLNIX_OPTIONS and its short form MTX_OPTIONS
    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).

SEE ALSO

mkvmerge(1), mkvextract(1), mkvpropedit(1), mmg(1)

WWW

The latest version can always be found at the MKVToolNix homepage[1].

AUTHOR

Moritz Bunkus <moritz@bunkus.org>
    Developer

NOTES

1.  the MKVToolNix homepage
    http://www.bunkus.org/videotools/mkvtoolnix/