Daily Archives: December 27, 2016

MKVToolNix v9.7.1 released

Here’s v9.7.1, a hotfix for v9.7.0, which in turn was a more substantial release. There were a lot of enhancements to the GUI all over the place, several bug fixes in mkvmerge, a couple of enhancements there, too.

Note that this release deprecates the options (e.g. “--identify-verbose“) and features. These are scheduled to be removed early in 2018. See the first top-most entry in the ChangeLog below for details.

Notes for package maintainers: MKVToolNix now requires a compiler that supports certain features of the C++14 standard. For gcc v4.9.x or later will work, for clang v3.4 or newer is required. Additionally Qt v5.3.x is now required.

You can download the source code or one of the binaries. The Windows and Mac OS binaries have been built already and are available for download. The Linux binaries will be available later today.

Here’s the full ChangeLog since the previous release:

  • 2016-12-27 Moritz Bunkus <moritz@bunkus.org>
    • Released v9.7.1 "Pandemonium".
    • MKVToolNix GUI: multiplex tool bug fix: under certain circumstances the GUI was creating invalid JSON files when starting to multiplex resulting in an error message ("JSON option files must contain a JSON array consisting solely of JSON strings").
    • Released v9.7.0 "Numbers".
    • Deprecation warning: Several options and features are now deprecated and will be removed at the start of 2018. These are:
      • mkvmerge: the options "--identify-verbose", "identify-for-gui", "identify-for-mmg" and "identification-format verbose". Please convert existing users of these interfaces to use mkvmerge’s JSON identification output which can be invoked with "–identification-format json –identify …".
      • all command line tools: the old, proprietary format used for option files. Please convert users of this interface to the new JSON option file format introduced in this release.
      • all command line tools: the option "–check-for-updates" (the GUI will keep its online check for updates, though). There is and will be no equivalent interface in the tools themselves. Users of this interface can switch to retrieving the information about available updates directly from the MKVToolNix website. The information is available as JSON and XML files at the following URLs:
        • https://mkvtoolnix.download/latest-release.json.gz
        • https://mkvtoolnix.download/latest-release.xml.gz
  • 2016-12-26 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: enhancement: added a new track property in JSON/verbose identification mode called "multiplexed_tracks". It’s an array of track IDs that describe which of the tracks mkvmerge reports as separate ones were originally part of the same source track (e.g. TrueHD+AC-3 in a single track in MPEG transport streams). Implements #1835.
  • 2016-12-23 James Almer <jamrial@gmail.com>
    • mkvmerge: added support for skipping APE(v2) tags in TTA files.
  • 2016-12-22 Moritz Bunkus <moritz@bunkus.org>
    • mkvextract: enhancement: added support for reporting progress in --gui-mode the same way mkvmerge does.
    • mkvmerge: bug fix: when using --track-order without specifying all tracks, the track numbers could end up in a way the user did not expect. Now mkvmerge will always assign track numbers for those tracks that are listed in –track-order first. The other tracks are assigned numbers afterwards. Fixes the second part of #1832.
    • mkvmerge: bug fix: when reading Matroska files the movie title was always taken from the first Matroska source file, even if that file didn’t have a title set. Fixes one part of #1832.
  • 2016-12-19 Moritz Bunkus <moritz@bunkus.org>
    • all: new feature: all command line tools can now read JSON-formatted option files. Such a file’s name must have an extension of ".json" (e.g. "mkvmerge @options.json"). Its content must be a valid JSON array consisting solely of JSON strings.
  • 2016-12-17 Moritz Bunkus <moritz@bunkus.org>
    • build system: building the GUI components of MKVToolNix now requires Qt v5.3.0 or newer.
  • 2016-12-16 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: header editor & job output enhancement: added menu entries for saving or closing all open tabs.
  • 2016-12-13 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: chapter editor enhancement: added menu entries for saving or closing all open tabs.
    • build system: MKVToolNix now requires a compiler that supports the following features of the C++14 standard: "std::make_unique()", "digit separators", "binary literals" and "generic lambdas". For the GNU Compiler Collection (gcc) this means v4.9.x or newer; for clang it means v3.4 or newer.
  • 2016-12-11 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: MPEG TS/MPLS reader improvements: added support for subtitle tracks that are referenced from the MPLS file as sub-paths in other M2TS files than the main tracks.
  • 2016-12-08 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: re-worked the startup code not to use lock files when trying to open a socket for communicating with an already-running instance. This aims to prevent situations with stale lock files not being cleaned up and the GUI not starting anymore as a result. This might fix or prevent issues like #1805.
    • mkvmerge: teletext subtitle bug fix: fixed the handling of DVB teletext subtitles signaled with data unit ID 0x02 and that contain pages from multiple magazines.
  • 2016-12-05 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: multiplexer enhancement: the file identification process has been re-written to be properly multi-threaded. This allows the user to continue working with the GUI while e.g. playlists from a Blu-ray are identified.
  • 2016-12-03 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: enhancement: mkvmerge can now handle Blu-ray playlists from the "BACKUP" sub-directory of a Blu-ray disc.
    • MKVToolNix GUI: new multiplexer feature: added a menu entry for copying the title to the destination file name. It will replace the destination file’s base name but keep its path & extension.
    • MKVToolNix GUI: new multiplexer feature: all positive file identification results will now be cached between runs. This speeds up adding the same file a lot, especially when scanning the same Blu-ray playlists again. Cached results are invalidated automatically with newer MKVToolNix releases or when the source file changes.
  • 2016-12-02 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: multiplexer enhancement: when the user tries to add one of the main Blu-ray index files (index.bdmv, MovieObject.bdmv) the GUI will automatically scan the Blu-ray playlist files and offer them for selection.
    • mkvmerge: bug fix: files smaller than 4 bytes were wrongly identified as MPEG transport streams.
    • MKVToolNix GUI: multiplexer enhancement: tracks, chapters, tags, attachments not selected for multiplexing will be displayed the same way as other disabled controls. Implements #1819.
  • 2016-11-30 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: the MPEG transport stream reader was using an outdated format for the "CodecPrivate" element for HDMV TextST subtitles. This has been updated to the current format which only contains the "dialog style element". Existing Matroska files using this outdated scheme can be fixed by running them through mkvmerge v9.6.0 itself or any later release as the old format is automatically converted to the new one when it is read from Matroska files.

Have fun :)

MKVToolNix v9.7.0 released

this is a more substantial release. There were a lot of enhancements to the GUI all over the place, several bug fixes in mkvmerge, a couple of enhancements there, too.

Note that this release deprecates the options (e.g. “--identify-verbose“) and features. These are scheduled to be removed early in 2018. See the first top-most entry in the ChangeLog below for details.

Notes for package maintainers: MKVToolNix now requires a compiler that supports certain features of the C++14 standard. For gcc v4.9.x or later will work, for clang v3.4 or newer is required. Additionally Qt v5.3.x is now required.

You can download the source code or one of the binaries. The Windows and Mac OS binaries have been built already and are available for download. The Linux binaries will be available later today.

Here’s the full ChangeLog since the previous release:

  • 2016-12-27 Moritz Bunkus <moritz@bunkus.org>
    • Released v9.7.0 "Numbers".
    • Deprecation warning: Several options and features are now deprecated and will be removed at the start of 2018. These are:
      • mkvmerge: the options "--identify-verbose", "identify-for-gui", "identify-for-mmg" and "identification-format verbose". Please convert existing users of these interfaces to use mkvmerge’s JSON identification output which can be invoked with "–identification-format json –identify …".
      • all command line tools: the old, proprietary format used for option files. Please convert users of this interface to the new JSON option file format introduced in this release.
      • all command line tools: the option "–check-for-updates" (the GUI will keep its online check for updates, though). There is and will be no equivalent interface in the tools themselves. Users of this interface can switch to retrieving the information about available updates directly from the MKVToolNix website. The information is available as JSON and XML files at the following URLs:
        • https://mkvtoolnix.download/latest-release.json.gz
        • https://mkvtoolnix.download/latest-release.xml.gz
  • 2016-12-26 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: enhancement: added a new track property in JSON/verbose identification mode called "multiplexed_tracks". It’s an array of track IDs that describe which of the tracks mkvmerge reports as separate ones were originally part of the same source track (e.g. TrueHD+AC-3 in a single track in MPEG transport streams). Implements #1835.
  • 2016-12-23 James Almer <jamrial@gmail.com>
    • mkvmerge: added support for skipping APE(v2) tags in TTA files.
  • 2016-12-22 Moritz Bunkus <moritz@bunkus.org>
    • mkvextract: enhancement: added support for reporting progress in --gui-mode the same way mkvmerge does.
    • mkvmerge: bug fix: when using --track-order without specifying all tracks, the track numbers could end up in a way the user did not expect. Now mkvmerge will always assign track numbers for those tracks that are listed in –track-order first. The other tracks are assigned numbers afterwards. Fixes the second part of #1832.
    • mkvmerge: bug fix: when reading Matroska files the movie title was always taken from the first Matroska source file, even if that file didn’t have a title set. Fixes one part of #1832.
  • 2016-12-19 Moritz Bunkus <moritz@bunkus.org>
    • all: new feature: all command line tools can now read JSON-formatted option files. Such a file’s name must have an extension of ".json" (e.g. "mkvmerge @options.json"). Its content must be a valid JSON array consisting solely of JSON strings.
  • 2016-12-17 Moritz Bunkus <moritz@bunkus.org>
    • build system: building the GUI components of MKVToolNix now requires Qt v5.3.0 or newer.
  • 2016-12-16 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: header editor & job output enhancement: added menu entries for saving or closing all open tabs.
  • 2016-12-13 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: chapter editor enhancement: added menu entries for saving or closing all open tabs.
    • build system: MKVToolNix now requires a compiler that supports the following features of the C++14 standard: "std::make_unique()", "digit separators", "binary literals" and "generic lambdas". For the GNU Compiler Collection (gcc) this means v4.9.x or newer; for clang it means v3.4 or newer.
  • 2016-12-11 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: MPEG TS/MPLS reader improvements: added support for subtitle tracks that are referenced from the MPLS file as sub-paths in other M2TS files than the main tracks.
  • 2016-12-08 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: re-worked the startup code not to use lock files when trying to open a socket for communicating with an already-running instance. This aims to prevent situations with stale lock files not being cleaned up and the GUI not starting anymore as a result. This might fix or prevent issues like #1805.
    • mkvmerge: teletext subtitle bug fix: fixed the handling of DVB teletext subtitles signaled with data unit ID 0x02 and that contain pages from multiple magazines.
  • 2016-12-05 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: multiplexer enhancement: the file identification process has been re-written to be properly multi-threaded. This allows the user to continue working with the GUI while e.g. playlists from a Blu-ray are identified.
  • 2016-12-03 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: enhancement: mkvmerge can now handle Blu-ray playlists from the "BACKUP" sub-directory of a Blu-ray disc.
    • MKVToolNix GUI: new multiplexer feature: added a menu entry for copying the title to the destination file name. It will replace the destination file’s base name but keep its path & extension.
    • MKVToolNix GUI: new multiplexer feature: all positive file identification results will now be cached between runs. This speeds up adding the same file a lot, especially when scanning the same Blu-ray playlists again. Cached results are invalidated automatically with newer MKVToolNix releases or when the source file changes.
  • 2016-12-02 Moritz Bunkus <moritz@bunkus.org>
    • MKVToolNix GUI: multiplexer enhancement: when the user tries to add one of the main Blu-ray index files (index.bdmv, MovieObject.bdmv) the GUI will automatically scan the Blu-ray playlist files and offer them for selection.
    • mkvmerge: bug fix: files smaller than 4 bytes were wrongly identified as MPEG transport streams.
    • MKVToolNix GUI: multiplexer enhancement: tracks, chapters, tags, attachments not selected for multiplexing will be displayed the same way as other disabled controls. Implements #1819.
  • 2016-11-30 Moritz Bunkus <moritz@bunkus.org>
    • mkvmerge: bug fix: the MPEG transport stream reader was using an outdated format for the "CodecPrivate" element for HDMV TextST subtitles. This has been updated to the current format which only contains the "dialog style element". Existing Matroska files using this outdated scheme can be fixed by running them through mkvmerge v9.6.0 itself or any later release as the old format is automatically converted to the new one when it is read from Matroska files.

Have fun :)