TechSpot giveaway: Win a DJI Spark drone & a Star Wars BB-8 droid
MKVToolNix

MKVToolNix 17.0.0

MKVToolNix is a set of tools to create, alter and inspect Matroska files under Linux, Mac, other Unices and Windows.

Windows/macOS/Linux
Freeware
16.9 MB
76,843
4.6 48 votes

With these tools one can get information about (mkvinfo) Matroska files, extract tracks/data from (mkvextract) Matroska files and create (mkvmerge) Matroska files from other media files. Matroska is a new multimedia file format aiming to become THE new container format for the future. You can find more information about it and its underlying technology, the Extensible Binary Meta Language (EBML), at http://www.matroska.org/

What's New:

Changes

  • 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.