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:

The one new feature that is present is support for h.265/HEVC video: but only for reading it from elementary streams or from other Matroska files. My initial plan was to have reading it from MPEG transport streams work as well, but alas, free time is in short supply, and this release is a week overdue already.

The HEVC support has been implemented by Rovi Corp (DivX). I’ve merged their changes, updated them to the current code base and cleaned them up somewhat. Their work is much appreciated.

  • mkvmerge: enhancement: In addition to the track statistics tags »BPS«, »DURATION«, »NUMBEROFBYTES« and »NUMBEROFFRAMES« mkvmerge will write two more tags identifying which application wrote the statistics (»STATISTICSWRITINGAPP«) and when the file in question was written: »STATISTICSWRITINGDATEUTC«.»STATISTICSWRITINGAPP« will always contain the same string contained in the segment info header element »WritingApp«. »STATISTICSWRITINGDATEUTC« will contain the same timestamp as in the segment info header element »Date«, though »STATISTICSWRITINGDATEUTC« is actually a string representation instead of an integer value.
  • Additionally a tag named »STATISTICSTAGS« is written containing the names of the tags that mkvmerge has set automatically. It equals the following currently: »BPS DURATION NUMBEROFBYTES NUMBEROFFRAMES«.
  • build system: Boost's "date/time" library is now required.

  • 2014-02-28 Moritz Bunkus moritz@bunkus.org

    • mkvmerge, mkvextract: new feature: added support for h.265/HEVC by merging the patches from DivX/Rovi Corp. So far HEVC is only supported as elementary streams and read from other Matroska files.
  • 2014-02-22 Moritz Bunkus moritz@bunkus.org
    • mkvmerge: enhancement: The deprecated ISO 639-1 code "iw" is now recognized for Hebrew.
  • 2014-02-15 Moritz Bunkus moritz@bunkus.org
    • mkvmerge: bug fix: The AC3 packetizer will re-derive the sampling frequency and the number of channels from the bitstream. This way obviously invalid information from the source container like a sampling frequency of 0 Hz will be fixed.
  • 2014-02-05 Moritz Bunkus moritz@bunkus.org
    • mkvmerge: enhancements: AVI reader: audio chunks with obvious wrong size information (bigger than 10 MB) will be skipped.
  • 2014-02-03 Moritz Bunkus moritz@bunkus.org
    • mkvmerge: bug fix: When reading M2TS files belonging to an MPLS playlist mkvmerge will now only copy packets whose timestamps lie between the »in time« and »out time« restrictions from the playlist’s entry corresponding to that M2TS file. Fixes #985.
  • 2014-01-22 Moritz Bunkus moritz@bunkus.org
    • all: Windows 64bit: fixed return value checks for opening files. Fixes #972.
  • 2014-01-21 Moritz Bunkus moritz@bunkus.org
    • all: Windows: when redirecting the program’s output with cmd.exe (e.g. »mkvinfo file.mkv > info.txt«) the programs will no longer write two line feed characters (\r) per carriage return character (\n). Fixes #970.
    • all: Windows: the default charset for the files created with»–redirect-output« has been changed from the system’s local charset to UTF-8. Just like before it can be changed with»–output-charset«. See #970.
    • all: bug fix: Windows: messages written to the console (cmd.exe) are not re-encoded to the local charset and back to UTF-16 before they’re handed over to ConsoleWriteW(). This fixes outputting Unicode characters to the console that are not part of the local charset. Fixes #971.
  • 2014-01-18 Moritz Bunkus moritz@bunkus.org
    • extract: bug fix: using names of non-existing files in»attachments«, »chapters«, »cuesheet« or »tags« mode caused mkvextract to crash instead of emitting a proper error message. Fixes #964.
  • 2014-01-17 Moritz Bunkus moritz@bunkus.org
    • mmg: bug fix: fixed the check for WebM-compatible track types for Opus.
  • 2014-01-12 Moritz Bunkus moritz@bunkus.org
    • mkvmerge: bug fix: fixed muxing Sorenson v3 (SVQ3) video from QuickTime files.
  • 2014-01-11 Moritz Bunkus moritz@bunkus.org
    • mkvmerge, mkvextract, mkvpropedit: enhancement: attachments in Matroska files with a missing FileUID element are not ignored anymore even though they violate the specs. mkvmerge generates a new FileUID instead.
  • 2014-01-10 Moritz Bunkus moritz@bunkus.org
    • mkvmerge: re-built with the 64bit build for Windows with a newer compiler version in order to fix #957. It was due to a bug in gcc: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742
  • mmg: bug fix: mkvmerge’s file identification is written to a temporary file with –redirect-output and from there into mmg instead of directly from mkvmerge. This prevents from character re-coding done by wxWidgets 3.0.0 on Windows. Fixes #959.
  • 2014-01-09 Moritz Bunkus moritz@bunkus.org
    • installer: enhancement: the architecture (32bit vs 64bit) is mentioned in the interface.
    • installer: bug fix: the installation directory for 64bit builds will default to the proper directory (»C:\Program Files« instead of »C:\Program Files (x86)«). Fixes #956.