Download MKVToolnix 9.9.0

Spread the love

Version 9.9.0 of MKVToolNix has been released. This collection of open source programs allows viewing, editing and conversion of Matroska files. For example, sound tracks and subtitles can be added, removed or set as default. MKVToolNix is ​​a collection of separate command line tools, but a graphical user interface is also included. Downloads are available for Windows, various Linux distributions, and macOS. The changelog for this release looks like this:

New features and enhancements

  • GUI: chapter editor: added a character set selection in the preferences for text files. If a character set is selected there, it will be used instead of asking the user when opening text chapter files. implementations #1874.
  • GUI: multiplexer: added a column “character set” to the “tracks, chapters and tags” list view showing the currently selected character set for that track. implementations #1873.
  • mkvmerge: added an –engage option “all_i_slices_are_key_frames” for treating all I slices of an h.264/AVC stream as key frames in pathological streams that lack real key frames. implementations #1876.
  • GUI: running programs after jobs: added a new variable for the directory the MKVToolNix GUI executable is located in.
  • mkvmerge: DVB subtitle tracks whose CodecPrivate data is only four bytes long will now be fixed up to the proper five bytes by adding the subtitling type byte.
  • mkvmerge: MP4 reader: “ctts” version 1 atoms are now supported.

Bug fixes

  • mkvmerge: AC-3 handling: some source files provide timestamps for audio tracks only once every n audio frames. In such situations mkvmerge was buffering too much data resulting in a single gap in the timestamps of one frame duration after frame number n – 1 (the second audio timestamp read from the source file was used one output frame too early). Fixes #1864.
  • mkvmerge: MP4 reader: mkvmerge was only reading a small part of MP4 DASH files where the first “moov” “mdat” atoms occur before the first “moof” atom. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: edit list (“edts” atoms) that are part of the “moof” atoms used in MP4 DASH files weren’t parsed. Instead the edit lists from the main track headers inside the “moov” atom were used. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: when an MP4 DASH file contained both normal chunk offset table (“stco”/”co64” atoms) in their regular “moov” atoms, a sample-to-chunk table (“stsc” atom) whose last entry had a “samples per chunk” count greater than 1 and DASH “trun” atoms, then mkvmerge was calculating wrong positions the frame content. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: mkvmerge couldn’t deal with the key frame index table having duplicate entries. The result was that only key frames up to and including the first duplicate entry were marked as key frames in the output file. All other frames weren’t, even though some of them were referenced from the key frame table after the first duplicate entry. This is part of the fix for #1867.
  • mkvmerge: MP4 reader: when an MP4 file contained more than one copy of the “moov” atom (the track headers etc.), mkvmerge was parsing them all adding tracks multiple times. fix for #1877.
  • mkvmerge: MP4 reader: fixed an integer overflow during the timestamp calculation leading to files with wrong timestamps. Such files could not be played back properly by most players. Fixes #1883.
  • mkvmerge: MPEG TS reader: if the PMT lists a DVBSUB track, mkvmerge will now recognize it without having to find a packet for it within the probed range.
  • mkvmerge: splitting by parts (both the “timestamps” and the “frames” variants): fixed the calculation of track statistics tags. When calculating the duration the skipped portions weren’t taken into account leading to a too-high duration. As a consequence the BPS tag (bits per second) was wrong, too. Fixes #1885.
  • mkvmerge: reading files with DVB/HDMV TextSV subtitle tracks with invalid CodecPrivate caused mkvmerge to abort with an error from boost::format about the format string not having enough arguments. Fixes #1894.
  • mkvmerge: fixed misdetection of certain AC-3 files as MP3 files which led to an error message that “the demultiplexer could not be initialized”.
  • mkvmerge: fixed huge memory consumption when appending big Matroska files with sparse tracks (eg forced subtitle tracks). The Matroska reader will now queue at most 128 MB of data. Fixes #1893.
  • mkvmerge: MP4 reader: the timestamps of all multiplexed tracks will now be 0-based properly.
  • mkvmerge: MP4 reader: the DTS-to-PTS offsets given by the “ctts” atoms are now applied for all tracks containing a “ctts” atom, not just h.264 & h.265 tracks.

Build system changes

  • Up to and including release 9.8.0 the man pages and their translations came pre-built and bundled with the source code. Those pre-built files have now been removed and must be built during the build process. Therefore the tool “xsltproc” and the DocBook XSL stylesheets for man pages are now required dependencies. Additionally the tool “po4a” must be installed for the translated man pages to be built and installed, though this is optional. In order to facilitate finding the new requirements new options have been added to confiure: “–with-xsltproc=prog”, “–with-docbook-xsl-root=dir”, “–with-po4a=prog” and “–with -po4a-translate=prog.
  • pugixml detection will be attempted via “pkg-config” first. If that fails, “configure” will fall back to the previous method of trying just to compile and link a test program with the standard include and library locations. implementations #1891.

Version number 9.9.0
Release status Final
Operating systems Windows 7, Linux, macOS, Windows Vista, Windows 8, Windows 10
Website Moritz Bunkus
Download
File sizes

12.50MB – 14.77MB

License type GPL
You might also like