I’ve released mkvtoolnix v7.0.0. It’s a release that includes a couple of minor enhancements to mmg and mkvmerge and the usual bug fixes (nothing major – though some more cases of overly long file detection times have been fixed).
The most prominent change is that mkvmkerge will now write certain track-specific statistics (such as bit rate) as tags. See the ChangeLog for more details. Accompanying this change is that mkvmerge’s verbose identification mode will now include the track’s tags as well in order to make retrieving that information easier for other programs.
For packagers: this build requires Boost’s Date/Time library.
Here’s the full ChangeLog since release 6.9.1:
- 2014-06-09 Moritz Bunkus <firstname.lastname@example.org>
- Released v7.0.0.
- 2014-05-26 Moritz Bunkus <email@example.com>
- mkvmerge: enhancement: In addition to the track statistics tags»BPS«, »DURATION«, »NUMBER_OF_BYTES« and »NUMBER_OF_FRAMES«mkvmerge will write two more tags identifying which application wrote the statistics (»_STATISTICS_WRITING_APP«) and when the file in question was written: »_STATISTICS_WRITING_DATE_UTC«.»_STATISTICS_WRITING_APP« will always contain the same string contained in the segment info header element »WritingApp«.»_STATISTICS_WRITING_DATE_UTC« will contain the same timestamp as in the segment info header element »Date«, though»_STATISTICS_WRITING_DATE_UTC« is actually a string representation instead of an integer value. Additionally a tag named »_STATISTICS_TAGS« is written containing the names of the tags that mkvmerge has set automatically. It equals the following currently: »BPS DURATION NUMBER_OF_BYTES NUMBER_OF_FRAMES«.
- build system: Boost’s "date/time" library is now required.
- 2014-05-25 John Peebles <firstname.lastname@example.org>
- mkvmerge: bug fix: If a single subtitle track contains two or more entries at the same timecode then the cue duration and cue relative position elements written were wrong.
- 2014-05-24 Moritz Bunkus <email@example.com>
- mkvinfo: bug fix: fixed wrong progress percentage shown during saving the information to text files. Fixes #1016.
- mkvmerge: new feature: Added a global option for disabling writing the tags with statistics for each track: –disable-track-specific-tags.
- 2014-05-20 Moritz Bunkus <firstname.lastname@example.org>
- mkvmerge: new feature: When identifying a Matroska file in verbose identification mode track-specific tags will be output as well. The format is »tag_<tag name in lower case>:<tag value>», e.g. for a tag named »BPS« with the value »224000« the output would be »tag_bps:224000«. Enhancement for #1021.
- mkvmerge: new feature: mkvmerge will write track-specific tags with statistics (»BPS« for the average number of bits per second,»DURATION« for the duration, »NUMBER_OF_BYTES« and»NUMBER_OF_FRAMES« for the track’s size in bytes and its number of frames/packets). Implements #1021.
- 2014-05-18 Moritz Bunkus <email@example.com>
- mkvmerge: bug fix: Changed the file type detection order again. The text subtitle formats are now probed after those binary formats that can be detected quickly and unambiguously. This avoids some mis-detection if e.g. Matroska files as ASS text subtitles if they do contain such a track.
- mmg: enhancement: The chapter editor will only use fast-mode parsing when loading chapters from Matroska files.
- 2014-05-14 Moritz Bunkus <firstname.lastname@example.org>
- all: bug fix: fixed invalid memory access in the cleanup procedures which only occurred if the output was redirected with the »–redirect-output« command line parameter.
- 2014-05-04 Moritz Bunkus <email@example.com>
- mkvmerge: enhancement: The last chapter entry read from MPLS files is removed if it is at most five seconds long. Patch by Andrew Dvorak (see AUTHORS).
- mkvmerge: enhancement: added the attachment UID to the verbose identification output of Matroska files.
- 2014-04-21 Moritz Bunkus <firstname.lastname@example.org>
- mmg: bug fix: Selecting a subtitle track correctly sets the»character set« drop-down box if no character set was set for this track. Fixes #1008.
- mmg: enhancement: the subtitle character set cannot be set anymore for subtitle tracks read from Matroska files as mkvmerge ignores that setting for said container anyway (text subs are always encoded in UTF-8 in Matroska).
- 2014-04-20 Moritz Bunkus <email@example.com>
- mmg: enhancement: mmg will look for the »mkvmerge« executable in the same directory as the »mmg« executable is located it if the location hasn’t been set by the user on all operating systems (before: only on Windows). Improves detection if »mkvmerge« is not in the $PATH.
I’ve released MKVToolNix 6.9.1 mere hours after the release of 6.9.0 due to a severe bug that wasn’t present in 6.8.0. Here’s the combined announcement for both releases.
There were the usual bug fixes all over the place. No major new features, but it was time for a new release.
Here’s the full ChangeLog since release 6.8.0:
- 2014-04-18 Moritz Bunkus <firstname.lastname@example.org>
- Released v6.9.1.
- mkvmerge: bug fix: fixed huge memory usage when probing files (it was reading the whole file into memory for that).
- Released v6.9.0.
- all: new feature: added a Brazilian Portuguese translation of the programs by Thiago Kühn (see AUTHORS).
- mkvpropedit, mmg’s header editor: bug fix: fixed a failed assertion in libEBML when writing the same changes twice to certain files (those for which a seek head with a single entry pointing to the elements modified by mkvpropedit/mmg’s header editor; e.g. x264 creates such files). Fixes #1007.
- 2014-03-22 Moritz Bunkus <email@example.com>
- mkvmerge: bug fix: reading fonts embedded in SSA/ASS files was sometimes truncating the attachments created from them. Fixes #1003.
- mkvmerge: bug fix: fixed display of very large IDs during attachment extraction.
- mkvmerge: enhancement: improved file type detection speed for text subtitle formats.
- 2014-03-10 Moritz Bunkus <firstname.lastname@example.org>
- mkvextract: bug fix: during the extraction of chapters, tags or segment info XML files with the –redirect-output parameter the BOM (byte order mark) was written twice.
- 2014-03-05 Moritz Bunkus <email@example.com>
- 2014-03-04 Moritz Bunkus <firstname.lastname@example.org>
- mkvmerge: bug fix: fixed timestamp assignment for AVC/h.264 videos in which recovery point SEIs occur in front of the second field of two interlaced fields.
I’ve released MKVToolNix 6.8.0. There were tons of bug fixes for the Windows builds, especially for the 64bit builds.
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.
For package maintainers nothing has changed compared to 6.7.0.
Here’s the full ChangeLog since release 6.7.0:
- 2014-03-02 Moritz Bunkus <email@example.com>
- Released v6.8.0.
- 2014-02-28 Moritz Bunkus <firstname.lastname@example.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 <email@example.com>
- mkvmerge: enhancement: The deprecated ISO 639-1 code "iw" is now recognized for Hebrew.
- 2014-02-15 Moritz Bunkus <firstname.lastname@example.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 <email@example.com>
- mkvmerge: enhancements: AVI reader: audio chunks with obvious wrong size information (bigger than 10 MB) will be skipped.
- 2014-02-03 Moritz Bunkus <firstname.lastname@example.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 <email@example.com>
- all: Windows 64bit: fixed return value checks for opening files. Fixes #972.
- 2014-01-21 Moritz Bunkus <firstname.lastname@example.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 <email@example.com>
- 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 <firstname.lastname@example.org>
- mmg: bug fix: fixed the check for WebM-compatible track types for Opus.
- 2014-01-12 Moritz Bunkus <email@example.com>
- mkvmerge: bug fix: fixed muxing Sorenson v3 (SVQ3) video from QuickTime files.
- 2014-01-11 Moritz Bunkus <firstname.lastname@example.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 <email@example.com>
- 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 <firstname.lastname@example.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.
I’ve release v6.7.0 of MKVToolNix. It contains tons of bug fixes all over the place, but also a couple of enhancements. The most important bug fix is probably the change to how MPLS files are handled (see below).
This is the first release for which I’m providing 64bit binaries for Windows as well. They offer the same functionality as the 32bit binaries. Versions can be distinguished in their version number output as well as mmg’s »about« dialog.
Please note that the Windows installer and portable archive do not contain the word »Unicode« anymore. That’s not because they don’t support Unicode; they do. It’s just that the last release without Unicode support was v2.something quite a lot of years ago, and there’s simply no reason to point out the Unicode-awareness anymore.
There’s one change for package maintainers: Ruby 1.9.x is now required for building. I don’t support 1.8.x anymore. This should not be a problem for current distributions anyway.
Here’s the full ChangeLog since release 6.6.0:
- 2014-01-08 Moritz Bunkus <email@example.com>
- Released v6.7.0.
- build system: Ruby 1.9.x is now required.
- 2014-01-05 Moritz Bunkus <firstname.lastname@example.org>
- all: enhancement: The architecture (32bit/64bit) is mentioned in the version information of all programs.
- 2014-01-02 Moritz Bunkus <email@example.com>
- build system: bug fix for 64bit builds on Windows (x86_64-w64-mingw32): use the correct processor architecture via separate Windows manifest files. Fixes mmg and mkvinfo not starting due to »error 0x0000007b«.
- mkvmerge: bug fix: Fixed a potential endless loop due to an integer overflow in the code removing AVC/h.264 filler NALUs.
- 2014-01-01 Moritz Bunkus <firstname.lastname@example.org>
- 2013-12-31 Moritz Bunkus <email@example.com>
- mmg: enhancement: The »additional parts« dialog will now show the files that make up an MPLS playlist. This is for informational purposes only and doesn’t allow changing the playlist itself.
- mkvmerge: bug fix: Reading from an MPLS playlist file is now done as if the second and following files referenced in that playlist had been appended to the first file from that playlist. Before they were treated as if they were additional parts. Fixes #934.
- mmg: enhancement: a couple of fixes to tooltips: 1. Content correction for »splitting by chapters«; 2. no ugly re-formatting with wxWidgets 3.0.0 on Windows.
- 2013-12-30 Moritz Bunkus <firstname.lastname@example.org>
- mkvmerge: bug fix: Improved the AAC, AC3 and MP3 header decoding error handling so that the corresponding parsing routines won’t get stuck in endless loops when encountering certain garbage data patterns.
- 2013-12-29 Moritz Bunkus <email@example.com>
- mkvmerge: enhancement: unified codec names output by mkvmerge’s identification mode for all file format readers.
- mkvinfo: bug fix: when setting the language with –ui-language a few strings were still translated using the system’s default language.
- mkvextract: bug fix: if the track headers were located at the end of the file (e.g. after modification with mkvpropedit or mmg’s header editor) then mkvextract was writing files with a length 0 bytes.
- mmg: bug fix: the »playlist items« list box in the »select playlist file to add« dialog was showing the items in reversed order. Fixes #952.
- 2013-12-28 Moritz Bunkus <firstname.lastname@example.org>
- mmg: bug fix: the »select playlist file to add« dialog can now be resized, minimized and maximized. It also remembers its position and size during runs. Fixes #951.
- 2013-12-27 Moritz Bunkus <email@example.com>
- mmg: enhancement: The user can select the default subtitle character set to use for newly added subtitle tracks in the preferences dialog as requested in bug #948.
- 2013-12-24 Moritz Bunkus <firstname.lastname@example.org>
- mmg: bug fix: fixed the tooltip for the subtitle character set drop-down box to match mkvmerge’s actual behavior. Fixes #948.
- 2013-12-18 Moritz Bunkus <email@example.com>
- mkvmerge: new feature: implemented reading DTS audio tracks from MP4 files (with ESDS object type ID == 0xA9 (decimal 169) or FourCC == ‘DTS ‘ or ‘dtsc’).
- 2013-12-18 Ralph Giles <firstname.lastname@example.org>
- mkvmerge: enhancement: allowed muxing Opus to WebM files.
- mkvmerge: bug fix: Fixed the mapping of the Opus element »seek pre-roll« and »pre-skip« to the Matroska elements »track seek pre-roll« and »codec delay«. Remuxing Matroska files without Opus created with earlier versions of MKVToolNix is enough to fix such a file.
- 2013-12-15 Moritz Bunkus <email@example.com>
- mkvmerge: bug fix: fixing the bitstream timing information of h.264/AVC writes clean values for 25000/1001 frames per second video (e.g. de-telecined PAL @ 29.97).
- 2013-12-07 Moritz Bunkus <firstname.lastname@example.org>
- mmg: bug fix: fixed a crash in during drag & drop operations in mmg’s chapter editor.