Monthly Archives: March 2012

MKVToolNix v5.4.0 released


I’ve released mkvtoolnix v5.4.0. It’s a release that contains one huge improvement: the AVC/h.264 timecode assignment code has been completely rewritten. Users do not have to specify the default duration/FPS for such tracks anymore safe for the rarest cases. Apart from that there were tons of bug fixes, improvements regarding file type recognition, and a complete re-write of the (E)AC3 parsing code.

A note for package maintainers: Boost’s rational library is now required.

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

All of the binaries that I provide myself are already available.

Here’s the full ChangeLog since release 5.3.0:

  • 2012-03-10 Moritz Bunkus <>
    • Released v5.4.0.
  • 2012-03-08 Moritz Bunkus <>
    • mkvmerge: bug fix: Fixed wrong calculation of the maximum number of ns per cluster in certain fringe cases if timecode scale was set to "auto" mode ("–timecode-scale -1"). Fix for bug 707.
  • 2012-03-07 Moritz Bunkus <>
    • build system: The C++ compiler must now support the C++11 keyword ‘nullptr’. configure checks for it. For GCC this means at least v4.6.0.
    • mkvinfo: new feature: mkvinfo will output the track ID that mkvmerge and mkvextract would use for a track. This information is shown alongside the "track number" element in verbose mode and in the track summary in summary mode.
    • mkvmerge, mmg: enhancement: The "–default-duration" in mkvmerge and the "FPS" drop down box in mmg now accept "p" or "i" as a unit — as in e.g. "25p" or "50i". Several commonly used values have been added to mmg’s "FPS" drop down box and others removed.
    • mkvmerge: bug fix: When using an external timecode file with AVC/h.264 video the default duration will be set to the most-often used duration in the timecode file.
    • mmg: enhancement: Added the values "50", "60" and "48000/1001" to the list of commonly used values for the "FPS" input field.
    • mkvmerge: bug fix: AVC/h.264 packetizer: The value given with "–default-duration" (after internal conversion from the unit given by the user to duration in nanoseconds) is now again interpreted as the duration of a frame and not of a field.
    • mkvmerge: bug fix: SRT subtitles: timecodes can contain the minus sign before any digit, not just before the first one.
  • 2012-03-05 Moritz Bunkus <>
    • mkvmerge: bug fix: Sometimes non-AC3 files were mistakenly for AC3 after the re-write of the AC3 handling code on 2012-02-26. This has been rectified. Fix for bug 723.
  • 2012-03-04 Moritz Bunkus <>
    • mkvmerge: enhancement: mkvmerge will keep the "enabled" track header flag when muxing. mkvmerge will also output its value in verbose identification mode as "enabled_track".
    • mkvmerge: enhancement: MicroDVD text subtitles are recognized as an unsupported format instead of an unknown format.
    • mmg: The warning that no default duration/FPS has been given for AVC/h.264 tracks has been removed.
    • mkvmerge: bug fix: Complete re-write of the timecode handling code for AVC/h.264 tracks. Now handles several cases correctly: interlaced video, video with multiple or changing SPS with different timing information. The timing information is extracted from the bitstream. Therefore the user doesn’t have to specify the default duration/FPS himself anymore. Fix for bugs 434 and 688.
  • 2012-02-26 Moritz Bunkus <>
    • build system: Boost’s "rational" library is now required.
    • mkvmerge: bug fix: Complete re-write of the (E)AC3 parsing and handling code. Dependent EAC3 frames are now handled correctly. Fix for bug 704.
  • 2012-02-22 Moritz Bunkus <>
    • mkvmerge: bug fix: The width and height of h.264 video tracks with a pixel format other than 4:2:0 are now calculated correctly. Fix for bug 649. Patch by Nicholai Main (see AUTHORS).
    • mkvmerge: bug fix: Fixed file type recognition and frame drops for VC1 elementary streams that do not start with a sequence header but with frame or field packets instead.
    • mkvmerge: bug fix: Fixed mis-detection as unsupported DV files (happened for e.g. PGS subtitle files).
  • 2012-02-12 Moritz Bunkus <>
    • doc: enhancement: Updates for option file usage and supported subtitle formats.

Have fun.

Migrating MKVToolNix bug tracker to trac

I’ve changed the bug tracker I’m using for MKVToolNix: from Bugzilla to Trac. Today I’ve finished migrating all existing bug reports and all user accounts. Therefore Trac is now the one to use, and I’ve disabled the old one.

You can browse existing bug reports without loggin in. However, if you want to open a new bug report or comment on an existing one then you still need an account. Good news for users who already had an account in my old Bugzilla installation: you can use your old credentials. Your login name in Trac is the same one you’ve used in Bugzilla (your email address — but all lowercase!), and even your old password should work. Just try it out and login.

If it does not work then you can ask Trac to re-set your password. You have to enter both your account name and your email address in the form. For accounts imported from Bugzilla both are the same: your email address (remember to use all lowercase!).

A forum for MKVToolNix & Matroska

I usually provide support by email. However, often enough the issues brought up by users are generally interesting for a wider audience. And, just as often, I have to answer the same question over and over again.

Therefore I decided to open a forum for MKVToolNix in particular and Matroska in general. Everything about my programs and Matroska is ontopic there. It’s a StackExchange like forum that uses the excellent Questions2Answer software.

Feel free to come around. I’ve added all of my earlier FAQ entries as posts, and a couple of other questions have been asked by new members as well.