MKVToolNix v46.0.0 released

Hey everyone!

It’s May. It’s time. Time for another MKVToolNix release.

In v45 I accidentally introduced two bugs that users stumbled across almost immediately, and I nearly released a bug fix release only a few days after the v45 release, but ultimately decided against it. Therefore I suggest you upgrade to v46 now, especially if you’re dealing with H.265/HEVC video in MP4 files.

Nothing’s changed for package managers.

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

Here are the NEWS since the previous release:

New features and enhancements

  • mkvmerge: when splitting, the placeholder %c can be used in the
    destination file name. It’ll be replaced by the name of the first chapter in
    the file. Implements #2791.
  • mkvmerge: when reading MPLS playlists mkvmerge will include a tag named
    SOURCE_ID in the track’s statistics tags that conveys the fact that the
    source was a Blu-ray and what the track’s ID was in the source
    container. When reading Matroska file existing SOURCE_ID tags will be
    kept. The format used is the same format MakeMKV uses. Implements #2774.
  • mkvmerge: for audio-only files mkvmerge will now write a cue entry every
    500ms instead of every 2s.
  • MKVToolNix GUI: job actions: split up the option "execute when the job
    finishes successfully or with warnings" into two separate options: "…when
    finishes successfully" and "…when exits with warnings". Implements #2798.

Bug fixes

  • mkvmerge: Matroska reader: when regenerating UIDs for chapters mkvmerge will
    now fix referencing tag chapter UID targets to have the same values. Fixes
    #2804.
  • mkvmerge: MP4 reader: fixed a crash that could potentially happen while
    trying to identify H.265/HEVC tracks.
  • mkvmerge: MP4 reader: when reading H.265/HEVC tracks without a frame offset
    table (ctts atom) present, mkvmerge did not parse the hevcC structure
    correctly in certain cases, causing no video frames to be output at all or
    the output not being playable. This fixes #2782, a bug introduced in v45.
  • mkvmerge: MPLS handling/MPEG TS reader: timestamp restrictions as given in
    an MPLS file were only honored for the first play item, not for subsequent
    play items. For those play items the whole referenced file was always
    copied. Part of the fix of #2789.
  • mkvmerge: MPLS handling/MPEG TS reader: under certain circumstances mkvmerge
    copied one frame too many before switching to the next play item. Part of
    the fix of #2789.
  • mkvmerge: for audio-only files cues will only be created for I frames
    (important for e.g. TrueHD where decoding can only start on a sync
    frame). Fixes #2790.
  • MKVToolNix GUI: fixed a crash that happened when closing the preferences
    after having closed at least one multiplexer tab. Fixes #2785.
  • MKVToolNix GUI: macOS: changed the default of the "elide tab header labels"
    feature introduced in v45 from "no" to "yes" to mirror how versions before
    v45 behaved on macOS.

Have fun!