Daily Archives: September 5, 2010

mkvtoolnix v4.3.0 released

I’ve released mkvtoolnix v4.3.0. It contains a lot of bug fixes and a few enhancements but no major new features.

There’s one change for people building from source in general and package maintainers in particular: the build system has been changed from “make” to “rake”. Here’s the ChangeLog entry:

build system: The build system has been changed from “make” to “rake”, the Ruby based build tool. MKVToolNix includes its own copy of it so all you need is to have Ruby itself installed. The build proecss has been tested with Ruby 1.8.6, 1.8.7 and 1.9.1. Building is pretty much the same as before: “./configure”, “./drake”, “sudo ./drake install”. Most of the build targets have similar if not identical names, e.g. “./drake install”. You can override variables just like with make, e.g. “./drake prefix=/somewhere install”.

Adjusting build scripts should be easy enough. If you need any help just let me know.

Here are the usual links: the home page, the source code and the Windows installer and 7zip archive.

All binaries that I provide myself have already been uploaded.

Here’s the full ChangeLog since release 4.2.0:


  • 2010-09-04 Moritz Bunkus <moritz@bunkus.org>
    • Released v4.3.0.
    • mkvmerge: bug fix: Appending tracks which would normally be compressed (e.g. with header removal compression) and turning off compression for those tracks with "--compression TID:none" (or the corresponsing option in mmg) was resulting in the second and all following appended tracks to be compressed all the same.
  • 2010-09-01 Moritz Bunkus <moritz@bunkus.org>
    • mkvextract: bug fix: Errors such as ‘file does not exist’ did not cause mkvextract to quit. Instead it continued and exited with the result code 0.
  • 2010-08-28 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: Certain frames in certain h.264/AVC raw tracks were handled wrong, e.g. files created by x264 versions starting with revision 1665. The situation occured if an IDR slice comes immedtiately after a non-IDR slice and the IDR slice has its frame_num and pic_order_count_lsb fields set to 0.
  • 2010-08-26 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: enhancement: Attachments will be rendered at the beginning of the file again. Fix for bug 516.
  • 2010-08-24 Moritz Bunkus <moritz@bunkus.org>
    • mkvpropedit, mmg’s header editor: Fixed a crash corrupting files in certain situations. If the updated header fields required filling exactly one byte with an EbmlVoid element and if the next Matroska element’s "size" was already written with its maximum length (8 bytes) then the crash would occur. Such files are written by e.g. lavf. Fix for bug 536.
  • 2010-08-17 Moritz Bunkus <moritz@bunkus.org>
    • All: bug fix: Fixed a couple of format strings in translations which could cause the programs to crash.
  • 2010-08-14 Moritz Bunkus <moritz@bunkus.org>
    • mkvinfo: new feature: mkvinfo will show the h.264 profile and level for AVC/h.264 tracks along with the CodecPrivate element.
  • 2010-08-10 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: Video tracks with a width or height of 0 are not read from AVI files anymore. Fix for bug 538.
  • 2010-08-05 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: Fixed an error with losing packets (error message "packet queue not empty") when reading IVF (VP8) files using --default-duration on it.
    • mkvmerge: bug fix: Fixed access to uninitialized memory in the MPEG-2 ES parser.
  • 2010-08-03 Moritz Bunkus <moritz@bunkus.org>
    • mmg: bug fix: The ‘total remaining time’ shown by the job manager was totally wrong. Fix for bug 529.
  • 2010-08-01 Moritz Bunkus <moritz@bunkus.org>
    • build system: The build system has been changed from "make" to "rake", the Ruby based build tool. MKVToolNix includes its own copy of it so all you need is to have Ruby itself installed. The build proecss has been tested with Ruby 1.8.6, 1.8.7 and 1.9.1. Building is pretty much the same as before: "./configure", "./drake", "sudo ./drake install". Most of the build targets have similar if not identical names, e.g. "./drake install". You can override variables just like with make, e.g. "./drake prefix=/somewhere install".
  • 2010-07-30 Moritz Bunkus <moritz@bunkus.org>
    • mmg header editor: bug fix: If a file was loaded that did not contain ‘track language’ elements and those elements were unchanged then they would be set to ‘und’ upon saving. Now they’re left as-is, and when adding them to the file the drop-down box defaults to ‘eng’ being selected as per Matroska default value specifications. Fix for bug 525.
  • 2010-07-29 Moritz Bunkus <moritz@bunkus.org>
    • mkvextract, mkvinfo, mkvpropedit: new feature: Added the option "-q" and its long version "--quiet". With "--quiet" active only warnings and errors are output. Fix for bug 527.
    • mkvmerge: bug fix: The option "--quiet" was not working properly.
    • mkgmerge: bug fix: mkvmerge was treating SSA/ASS subtitle files as audio files for the purpose of track selection (--no-subtitles / --no-audio). Fix for bug 526.

Have fun.