MKVINFO(1)
π MKVINFO(1) π
okay bestie, welcome to mkvinfo(1) β your new fave little detective for Matroska(TM) files π΅οΈβοΈβ¨
πΈ NAME πΈ
mkvinfo β print information about elements in Matroska(TM) files π
β¨ SYNOPSIS β¨
mkvinfo [options] {source-filename}
π¦ DESCRIPTION π¦
So basically this program lists all the elements contained in a Matroska(TM). And if you don't want the whole firehose, the output can be limited to just a list of tracks in the file, plus info about the codecs used. cute, right? π
Here come the options, and yes, there are a LOT of them. slay.
-a,--allβ by defaultmkvinfo(1)stops the second it hits the first cluster, and it also hides certain elements that show up all the time. With this one it keeps going no matter what the verbosity level is, and shows you everything. no secrets. π-c,--checksumsβ calculates and displays the Adler-32 checksum for each frame. debugging only, bestie, don't make it your personality.-o,--continueβ same vibe as default behavior's enemy: normallymkvinfo(1)stops at the first cluster, but with this it keeps processing regardless of the verbosity level.-p,--hex-positionsβ shows the positions of all elements in hexadecimal, regardless of the verbosity level.-P,--positionsβ shows the positions of all elements in decimal, regardless of the verbosity level.-s,--summaryβ only shows a terse summary of whatmkvinfo(1)finds, not every single element. short & sweet, main character energy.-t,--track-infoβ shows statistics for each track in verbose mode. also sets verbosity to 1 if it was at level 0 before. it's giving helpful.-x,--hexdumpβ shows the first 16 bytes of each frame as a hex dump.-X,--full-hexdumpβ shows all bytes of each frame as a hex dump. go big or go home.-z,--sizeβ shows 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. defaults to the character set given by the system's current locale.--output-charset character-setβ sets the character set to which strings are converted that are to be output. defaults to the character set given by the system's current locale.-r,--redirect-output file-nameβ writes all messages to the file file-name instead of to the console. yeah you could just do output redirection, but sometimes you need this: when the terminal reinterprets the output before writing it to a file. the character set set with--output-charsetis honored. π«Ά--no-bomβ normally text files created & encoded in one of the UTF variants start with a byte order marker (BOM). this option disables writing that byte order marker. bye BOM π--ui-language codeβ forces the translations for the language code to be used (e.g.'de_DE'for the German translations). entering'list'as the code makes the program output a list of available translations.--abort-on-warningsβ tells the program to abort after the first warning is emitted. the program's exit code will be1.--debug topicβ turns on debugging for a specific feature. this option is only useful for developers. iykyk π--engage featureβ turns on experimental features. you can ask for a list of available features withmkvinfo --engage list. these features are not meant to be used in normal situations. lowkey risky, highkey fun.--gui-modeβ turns on GUI mode. in this mode specially-formatted lines may be output that can tell a controlling GUI what's happening. these messages follow the format'#GUI#message'. the message may be followed by key/value pairs as in'#GUI#message#key1=value1#key2=value2...'. neither the messages nor the keys are ever translated and always output in English.-v,--verboseβ be more verbose. see the section about verbosity levels for a description of which information will be output at which level.-h,--helpβ show usage information and exit.-V,--versionβ show version information and exit.@options-file.jsonβ reads additional command line arguments from the file options-file. for a full explanation on the supported formats for such files see the section called "Option files" in themkvmerge(1)man page. π
π VERBOSITY LEVELS π
The -v option can be used to increase mkvinfo(1)'s verbosity level and print more information about the current file. let's break it down level by level, bestie:
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.
The same effect can be achieved with the option --continue.
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.
The same effect can be achieved with the options --all --positions.
At level 3 and above mkvinfo(1) will print some information that is not directly connected to a Matroska(TM) element. At all other levels it only prints information 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. π
π§ TEXT FILES AND CHARACTER SET CONVERSIONS π§
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 mkvmerge(1) man page. yes, it's homework, but it's good homework. π
π EXIT CODES π
mkvinfo(1) exits with one of three exit codes:
0β this exit code means that the run has completed successfully. we love a happy ending β¨1β in this casemkvinfo(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. π
πΈ ENVIRONMENT VARIABLES πΈ
mkvinfo(1) uses the default variables that determine the system's locale (e.g. LANG and the LC_* family). Additional variables:
MKVINFO_DEBUG,MKVTOOLNIX_DEBUGand its short formMTX_DEBUGβ the content is treated as if it had been passed via the--debugoption.MKVINFO_ENGAGE,MKVTOOLNIX_ENGAGEand its short formMTX_ENGAGEβ the content is treated as if it had been passed via the--engageoption.
π SEE ALSO π
mkvmerge(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1)
π WWW π
The latest version can always be found at the MKVToolNix homepage[1].
π AUTHOR π
Moritz Bunkus <moritz@bunkus.org>
- Developer
π NOTES π
- the MKVToolNix homepage https://mkvtoolnix.download/
okay that's the whole page bestie, you ate that π«Ά this was MKVToolNix 102.0, dated 2026-09-14 β and it's MKVINFO(1) forever and always. periodt. πβ¨π¦
π¦ where this page comes from
- fedora 44: mkvtoolnix 102.0-1.fc44 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms