MKVToolNix v9.3.1 released

“Nothing major, mind you” I said. Maybe I shouldn’t have ;)

Yesterday’s release v9.3.0 contains a rather nasty one causing a lot of errors from mkvmerge about an “invalid probe range percentage”. As this affects everyone I’ve fixed the issue and am now releasing v9.3.1.

Apart from that fix it’s the same as v9.3.0. It implements several enhancements requested by users, and of course it contains the usual list of bug fixes. Nothing major, mind you. But see below.

Dear package maintainers: please note that MKVToolNix v9.3.1 requires the recently released libEBML v1.3.4 and libMatroska v1.4.5.

You can download the source code or one of the binaries. The Windows and Mac OS binaries are available. Most of the Linux binaries are still being built and will be available in a couple of hours.

Here’s the full ChangeLog since the previous release:

  • 2016-07-14 Moritz Bunkus <>
    • Released v9.3.1 "Mask Machine".
  • 2016-07-13 Moritz Bunkus <>
    • MKVToolNix GUI: merge tool bug fix: the GUI v9.3.0 was often creating an invalid syntax for the –probe-range-percentage parameter for mkvmerge due to uninitialized memory. Fixes #1741.
    • Released v9.3.0 "Second Sight".
  • 2016-07-10 Moritz Bunkus <>
    • mkvmerge, MKVToolNix GUI: new chapter generation feature: two new placeholders have been introduced when generating chapters for appended files, <FILE_NAME> and <FILE_NAME_WITH_EXT>. The former will be replaced by the appended file’s name without its extension; the latter with its extension. Implements #1737.
    • MKVToolNix GUI: merge tool enhancement: when opening a saved configuration (via the menu as well as via drag & drop) the current tab will be replaced if it is empty ( = in the same state it is in right after creating new mux settings). Implements #1738.
    • mkvmerge, MKVToolNix GUI: added an option for specifying how much of a MPEG PS or TS file is probed for tracks (–probe-range-percentage). Implements #1734.
  • 2016-07-09 Moritz Bunkus <>
    • mkvmerge: MPEG TS: considerable parts of the module have been rewritten. Due to its convoluted structure didn’t buffer PES packets properly before trying to parse the PES header leading to invalid memory accesses in certain cases.
  • 2016-07-03 Moritz Bunkus <>
    • mkvmerge: bug fix: fixed overly long file type detection in some cases when text subtitle type probing read a lot of data due to there being no carriage returns near the start of the file.
    • mkvmerge, mkvextract, MKVToolNix GUI: bug fix: several fixes to the handling of country codes. The list has been updated to reflect the currently valid top level domain country codes. Deprecated codes such as "gb" for "Great Britain" are now mapped to their updated values ("uk" for "United Kingdom" in this case). Fixes #1731.
    • mkvmerge: WavPack4 bug fix: relaxed the stream detection criteria to only require the major version to be 4 and not to check the minor version. Fixes #1720.
  • 2016-07-02 Chao Chen <>
    • mkvmerge, mkvinfo: new feature: added flags to support the Colour elements in the video tracks of Matroska containers. Users can use those flags to specify the colour space, transfer function, chromaticity coordinates etc. These properties are useful for correct colour reproduction of high dynamic range / wide colour gamut videos.
  • 2016-07-02 Moritz Bunkus <>
    • configure: fixed the Qt detection with Qt 5.7.0 which now requires the compiler to be in C++11 mode.
    • build system: libEBML v1.3.4 and libMatroska v1.4.5 are now required due to the usage of new elements introduced in libMatroska v1.4.5. The copies included in the MKVToolNix source code have been updated to those releases as well.
  • 2016-06-28 Moritz Bunkus <>
    • mkvmerge: MP4 bug fix wrt. DTS handling: mkvmerge will re-derive parameters such as number of channels and sampling frequency from the DTS bitstream circumventing invalid values in the track headers (e.g. a channel count of 0). Fixes #1727/1728.
  • 2016-06-27 Moritz Bunkus <>
    • mkvmerge: TrueHD bug fix: fixed detection of 96 kHz sampling frequency.
  • 2016-06-24 Moritz Bunkus <>
    • mkvinfo’s GUI: fix a crash due to wrong usage of referenced temporary objects. Fixes #1725.
  • 2016-06-05 Moritz Bunkus <>
    • MKVToolNix GUI: merge tool enhancement: the default track languages to set can now also be set whenever the language in the source file is ‘undefined’ (‘und’). This is now the default and can be changed back to the old behavior (only set if the source file doesn’t contain a language attribute) in the preferences. Implements #1697.
  • 2016-06-04 Moritz Bunkus <>
    • MKVToolNix GUI: merge tool enhancement: menus have been added to both the "start muxing" and the "add to job queue" buttons. The menus let the user override the preferences regarding clearing merge settings after starting to mux and after adding a job to the queue respectively. Implements #1696.
    • mkvmerge: the warning about not being able to determine whether a raw AAC file contains HE-AAC/AAC+/SBR has been removed. Implements #1701.
    • MKVToolNix GUI: enhancement: all file names are now displayed with their native path separators (e.g. "C:\some\where\output.mkv" on Windows). Implements #1298, #1456.
    • MKVToolNix GUI: merge tool bug fix: the GUI now takes into account whether splitting is activated when looking for and warning due to existing destination files. Fixes #1694.
    • mkvmerge: bug fix: the parser for the –default-duration argument was wrongfully handling arguments of the form "123/456i" (only this specific syntax and only with "i" as the unit; other formats and units were fine). This is part of #1673. Additionally the parser doesn’t use the "double" data type internally anymore fixing loss of precision and failing test cases on certain 32bit platforms. This fixes #1705.

Have fun :)

9 thoughts on “MKVToolNix v9.3.1 released

    1. mosu Post author

      Can you please describe exactly what you’ve done, what the expected result is and what the actual result was? Each and every step, if possible.

    1. mosu Post author

      Thanks. This is likely due to the change that the GUI shows \ instead of / as path separators. The GUI won’t change the file name & extension automatically if the user has changed the file name manually, and the aforementioned change probably interferes with that detection.

      I’ll look into it. Should be fixed by the time the next release will be made (~four to six weeks).

  1. fs

    Quick question: how to use the –generate-chapters option?

    I tried the following:

    mkvmerge –generate-chapters when-appending -o 201606-June.mkv 20160601.mkv +20160602.mkv +20160603.mkv

    which results in this:

    Error: The file ‘–generate-chapters’ could not be opened for reading: open file error.

    mkvmerge -o 201606-June.mkv 20160601.mkv +20160602.mkv +20160603.mkv –generate-chapters when-appending

    (this does not feel right, same error)

    mkvmerge -o 201606-June.mkv 20160601.mkv –generate-chapters when-appending +20160602.mkv +20160603.mkv

    same error

    mkvmerge -o 201606-June.mkv –generate-chapters when-appending 20160601.mkv +20160602.mkv +20160603.mkv

    also, the same error

    Thanks for any help.

Comments are closed.