MKVToolnix is een collectie van opensourceprogramma's waarmee Matroskabestanden kunnen worden bekeken, bewerkt en geconverteerd. Zo kunnen bijvoorbeeld onnodige geluidssporen en ondertiteling worden verwijderd of juist als standaard worden ingesteld. Het zijn afzonderlijke commandline tools, maar er wordt een grafische gebruikersinterface meegeleverd. Versies kunnen worden gedownload voor Windows, een groot aantal Linux-distributies en Mac OS X. Zondag is versie 4.3.0 beschikbaar gekomen en deze bevat de volgende aanpassingen:
Changes in version 4.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.
- 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.
- 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.
- mkvmerge: enhancement: Attachments will be rendered at the beginning of the file again. Fix for bug 516.
- 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.
- All: bug fix: Fixed a couple of format strings in translations which could cause the programs to crash.
- mkvinfo: new feature: mkvinfo will show the h.264 profile and level for AVC/h.264 tracks along with the CodecPrivate element.
- mkvmerge: bug fix: Video tracks with a width or height of 0 are not read from AVI files anymore. Fix for bug 538.
- 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.
- mmg: bug fix: The 'total remaining time' shown by the job manager was totally wrong. Fix for bug 529.
- 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".
- 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.
- 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.