MKVToolNix v17.0.0 released

Here’s release v17.0.0 of MKVToolNix. The rather short timespan since the previous release is due to a nasty bug in the VC-1 code that a lot of people are hitting with v16.

Other important changes are the overhaul of mkvextract’s command line interface and all programs using the word “timestamp” instead of “timecode” (which also affects mkvmerge’s command line interface). See the news below for more information.

There were no changes for package maintainers.

You can download the source code or one of the binaries. The Windows and macOS binaries are available already. The Linux binaries are stil being built and will be available of the course of the next couple of hours.

Here are the NEWS since the previous release:

Important notes

  • The word "timecode" has been changed to "timestamp" everywhere it was used in MKVToolNix. This affects program output (including mkvinfo’s), GUI controls, command line parameters (e.g. mkvmerge --timestamp-scale …) and file formats. All programs remain backwards compatible insofar as they still accept "timecode" in all those places (e.g. mkvmerge --timecode-scale …).
    The reason for the change is wrong usage. What both the Matroska specification and MKVToolNix used "timecode" for is normally called a "timestamp" in audio & video domains. A "timecode" on the other hand has a specific meaning. As the Matroska specification is moving towards implementing real timecodes, it will also move towards correcting the verbiage. MKVToolNix is following this change.
  • mkvextract’s command line interface has been changed to allow extraction of multiple items at the same time. The first argument must now be the source file’s name. All following arguments either set the mode (e.g. tracks) or specify what to extract in the currently active mode.
    Those items that were written to the standard output (chapters, tags and cue sheets) are now always written to files instead. Therefore the respective modes require an output file name.
    For example, extracting two tracks, the chapters and the tags can be done with the following command:
    mkvextract input.mkv tracks 0:video.h265 1:audio.aac chapters chapters.xml tags tags.xml
    The old interface (specifying the mode first and the source file name second) remains working and supported. However, it is now deprecated and will be removed at the end of 2018.

New features and enhancements

  • mkvmerge: AC-3: during identification regular AC-3 and E-AC-3 tracks will now be identified differently for most container formats (exception: AVI, Real Media, Ogg/OGM). The codec will be reported as AC-3 for regular AC-3 and as E-AC-3 for E-AC-3 tracks instead of the combined AC-3/E-AC-3.
  • mkvextract: the command line interface has been changed to allow extraction of multiple items at the same time. See section "Important notes" for details.

Bug fixes

  • mkvmerge: AAC ADTS parser: mkvmerge will now parse the program_config_element if it is located at the start of an AAC frame in order to determine the actual number of channels. This overrides invalid channel configurations in the ADTS headers, for example. Fixes #2107.
  • mkvmerge: fixed AC-3 being misdetected as encrypted MPEG program streams under certain conditions.
  • mkvmerge: Dirac: under certain conditions (e.g. only muxing a single Dirac track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too.
  • mkvmerge: E-AC-3 in Matroska: if AC-3 cores and their corresponding E-AC-3 extension are located in two different Matroska blocks, then mkvmerge will now re-assemble them into a single block and only use the first block’s timestamp.
  • mkvmerge: SRT reader: fixed calculating the duration of entries starting with at a negative timestamp.
  • mkvmerge: VC-1: under certain conditions (e.g. only muxing a single VC-1 track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too. Fixes #2113.
  • mkvmerge: command line options: an error message will be output if the single-value-form of the --sync option is used and it isn’t a number (e.g. --sync 0:asd). Fixes #2121.
  • mkvpropedit, GUI’s header editor: both programs will now show proper error messages instead of crashing when certain kinds of data corruption is found when reading a file. Fixes #2115.

Have fun :)

2 thoughts on “MKVToolNix v17.0.0 released

    1. mosu Post author

      No. mkvmerge is not multi-threaded. Unfortunately it was designed in a way that makes multi-threading extremely difficult to implement, requiring countless days of work. On top of that it’s highly doubtful going multi-threaded would actually improve its speed by a lot as most of mkvmerge’s work is limited by the speed of your I/O system, not by your CPU.

Comments are closed.