Multimedia

MKVToolNix

5  /  995 Reviews
20,582,866 Downloads
Jun 13, 2021 Last updated

Downloads

Older Versions

# Change Log

# Version 58.0.0 "Supper's Ready" 2021-06-13

## New features and enhancements

* mkvmerge, MKVToolNix GUI's multiplexer: the handling of the "default track"

flag has been changed to match the recent changes to the Matroska

specifications. The new semantics are that if it is set, it is supposed to

signal to the player that this track is eligible for being played by

default, potentially taking other factors such as user preferences regarding

languages into account.

This implies that more than one track of each type can have this flag

set. For example, a Blu-ray disc with three audio tracks might have

the main audio in both English and Japanese, whereas the third audio

track contains the director's comments. In such a case the first two

tracks should have the "default track" flag set, the third one

shouldn't.

Earlier `mkvmerge` was enforcing that only one track of each type could have

the flag set. This restriction has been removed, both in `mkvmerge` and in

the GUI's multiplexer.

`mkvpropedit` and the GUI's header editor are unaffected as they've always

allowed to set the flag on as many tracks as the user wanted.

* mkvmerge: AVC/H.264 & HEVC/H.265 identification: added the stream's pixel

dimensions (AVC only; were present for HEVC already) & default

duration. Implements #3116.

* mkvmerge, mkvextract: HEVC/H.265: added support for reading single-layer

Dolby Vision from Annex B type bitstreams (elementary streams, MPEG

transport streams). Patch by quietvoid. Implements #3113.

* mkvinfo: the option `-X`/`--full-hexdump` now affects all binary elements,

not just the frame data in `SimpleBlock` and `BlockGroup` elements.

* MKVToolNix GUI: multiplexer: the "delay" and "sync" options can now be used

for chapters in source files, too. Implements #3129.

* MKVToolNix GUI: when moving list entries up & down with the optional buttons

or the keyboard shortcuts (instead of using drag & drop), the GUI ensures

that the top-most selected entry remains visible after the move. Implements

#3123.

* MKVToolNix GUI: added an option in the preference to use legacy MIME types

for font attachments instead of the current standard ones

(e.g. 'application/x-truetype-font' instead of 'font/sfnt' and 'font/ttf').

## Bug fixes

* build system: fixed filtering out optimization options when compiling the

file `iso639_language_list.cpp` (before only numeric optimization levels

were filtered out and only if it wasn't the last option in the list of

flags). See #3105 for context.

* build system: when libmagic was detected via `pkg-config`, MKVToolNix was

actually compiled without support for libmagic due to a preprocessor symbol

not being defined.

* mkvmerge: MP4 reader: fixed an issue with timestamps overflowing when the

file's or the track's time scale is large. Fixes #3124.

* mkvmerge, mkvextract: fixed key frame handling for `BlockGroup` elements

with a forward reference but no backward references. Patches by Tom Yan.

* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: the programs will no

longer omit writing mandatory elements set to their default value if other

elements of the same type are present in the same master. This affects

mostly the "chapter language" element which may occur multiple times within

the same "chapter display" master. If it does occur multiple times and one

of them is set to "English" (which is that element's default value), that

element will now be written, too. Part of the fix of #3120.

* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: when parsing chapter

files IETF & legacy language elements as well as legacy country elements

will now be properly generated depending on which exist already, especially

when there's more than one language and/or country element in a "chapter

display" element. Part of the fix of #3120.

* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: fixed reading

OGM-style chapter files with timestamps that don't have exactly three

decimal places. Any number of decimal places between one and nine is now

supported for nanosecond precision. Fixes #3121.

* MKVToolNix GUI: chapter editor: added/fixed support for "chapter display"

elements with multiple languages or countries. Part of the fix of #3120.

## Build system changes

* Qt 6: added support for building with Qt 6. `configure` will look for Qt 6

first and only continue looking for Qt 5 if Qt 6 isn't found or disabled via

`--disable-qt6`.

Qt 6 detection works by first looking for the `qmake6` binary. Its location

can be specified with the `--with-qmake6=…` option.

All other Qt 6 related facts (such as compiler & linker flags or the

position of the other required tools such as `lconvert`, `moc`, `rcc` and

`uic`) will be derived from the output generated by `qmake6`.

Note that at this point Qt 6 is not yet supported for the cross-compilation

build to Windows, nor is a static Qt 6 build supported yet.

Note that the command line options `--enable-static-qt`,

`--with-qt-pkg-config-modules` and `--without-qt-pkg-config` only apply to

the Qt 5 and have no effect on Qt 6.

* Qt 5: the options for specifying the position of the tools (`--with-moc=…`,

`--with-rcc=…` and `--with-uic=…`) have been removed. Their position will

now be derived from the output generated by `qmake`.

* `configure`: completely disabling the GUI now requires passing both

`--disable-qt6` and `--disable-qt` options.

* Boost's multi-precision library is now required.

* Boost v1.66 or newer is now required.

## Other changes

* The Windows build is now using an updated version of the

`file`/`magic` library for MIME type detection of attachments. This

affects fonts whose MIME types will now be the current standard MIME

types (e.g. `font/sfnt` or `font/ttf` for TrueType fonts). As this

might pose problematic with older players that only support the

legacy MIME type (e.g. `application/x-truetype-font`), a new option

was added in the GUI's preferences to use the legacy MIME types

instead of the current standard ones. This is off by default.

Builds for other operating systems have already been using newer

versions of the `file`/`magic` library for a long time.

Description

MKVToolNix is a small collection of tools (mkvmerge, mkvinfo, mkvextract, mkvpropedit and mmg) that allows you to manipulate Matroska (MKV) files in several ways.

You can use MKVToolNix to create, split, edit, mux, demux, merge, extract or inspect Matroska files. The program will also work with other video formats (AVI, MPEG, MP4, MPEG, Ogg/OGM, RealVideo, MPEG1/2, h264/AVC, Dirac, VC1) including some video codecs (such as VP9 video codec support - reading from IVF/Matroska/WebM files, extract to IVF files). Audio formats (AAC, FLAC, MP2, MP3, (E)AC3, DTS/DTS-HD, Vorbis, RealAudio) and also most subtitle formats (SRT, PGS/SUP, VobSub, ASS, SSA, etc.). MKVToolNix is a cross-platform application that will work on Windows® (both 32 and 64-bit versions), Mac® OS X® and Linux. Please note that from this page you can download the Windows® (installer and portable) and Mac® OS X® versions. If you're looking for a Linux version, you can download one from MKVToolNix homepage.

Trademark Note 1: Microsoft®, Windows® and other product names are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Trademark Note 2: Mac and OS X are trademarks of Apple Inc., registered in the U.S. and other countries.

MKVToolNix Review

Note: I tested MKVToolNix on Windows® 7 Ultimate 32-bit using mkvmerge GUI and several other tools opened from the Command Prompt such as mkvinfo. Therefore, if you're looking for more information on how to compile MKVToolNix yourself, check the README file (online). I wanted to test two things: the mkvmerge GUI (software interface) and see how easy or hard is to use the command line for all the other tools such as "mkvinfo."

The software interface (mkvmerge GUI)

As soon as the setup finished, I opened the "mkvmerge GUI" shortcut from my desktop. At a first look, the interface seems quite intuitive, so my first action was to open an MKV file, select an option and see the result. I went to program interface at the "Input" tab and used the "Add" button (it also works using the "drag and drop" method. 

I selected a 710 MB MKV file and I wanted to split this (from "Global" tab - select "Split Mode" - "split after size" and then I specified the size - in this case 50M = 50MB) in smaller files with a size of 50 MB for each. Finally, I clicked on "Start Muxing" button. 

The program required just 45 seconds for this operation, and the result was 14 smaller MKV files. After this, I wanted to mux the content of an AVI file in MKV format. Again, I went to "Input" tab and used the "Add" button, I selected an AVI file from my computer, and I noticed that the program displayed the Output filename automatically with the name of the same file but this time in MKV (Matroska) format. 

Again, the same button called "Start Muxing" was doing all the magic. This time the process was even faster - at the end I could read the following message "Muxing took 34 seconds".

Other command line tools (example: mkvinfo)

To use all the other command line tools in Windows®, open a Command Prompt window. Just hit the "Start" button, click on "Search programs and files" (Windows® 7 and Vista) or "Run" (Windows® XP and others) and type either "cmd" or "command prompt" (without the quotes). 

In the command prompt, you can try each program (mkvmerge, mkvinfo, mkvextract, mkvpropedit) by typing its name and the usage parameters. An example would be: "mkvinfo --help" that will display a list with all the commands available. I tried mkvinfo using this command: "mkvinfo -g" and the result was a small interface that allowed me to open an MKV file and see all kind of technical details about it. I was also able to save the results in the TXT format.

Tips

You can launch an instance of mkvmerge GUI (software interface) directly from the command prompt. Just type "mmg" and hit "Enter."

Besides of the usual standard documentation from the command prompt (I hate it because it's hard to read) you can find and read the online documentation available on MKVToolNix documentation homepage here: (use the blue links for mkvmerge, mkvinfo, mkvextract, mkvpropedit and mmg to access the online help).

Final Conclusion

You can learn how to use several main features in minutes but to master the program, it does require more time. Your best bet is to experiment all of his options and whenever you need some help, check the FAQ section (filled with great answers to common issues), start with the guide of mkvmerge GUI here and check the documentation for all the other tools - here (provided once again). MKVToolNix is a "must-have" software if you work with MKV files. It has an incredible amount of features that are not listed on the homepage. Ultimately, if you appreciate this tool, please consider a DONATION to support the work of Mr. Moritz Bunkus, the author of MKVToolNix.

Found this software useful? Please consider a donation to the author.