MKVToolNix v28.0.0 released


here is MKVToolNix v28.0.0: the first release to support AV1 in its finalized form. mkvmerge can read it from Matroska/WebM, MP4, IVF container files and from raw OBU streams. mkvextract will extract it to IVF files. Apart from that a couple of bugs were fixed and usabitliy enhancements made.

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 of the course of the next couple of hours.

Here are the NEWS since the previous release:

New features and enhancements

  • mkvmerge: AV1 parser: updated the code for the finalized AV1 bitstream
    specification. Part of the implementation of #2261.
  • mkvmerge: AV1 packetizer: updated the code for the finalized AV1-in-Matroska
    & WebM mapping specification. Part of the implementation of #2261.
  • mkvmerge: AV1 support: the --engage enable_av1 option has been removed
    again. Part of the implementation of #2261.
  • mkvmerge: MP4 reader: added support for AV1. Part of the implementation of
  • mkvmerge: DTS: implemented dialog normalization gain removal for extension
    substreams. Implements #2377.
  • mkvmerge, mkvextract: simple text subtitles: added a workaround for simple
    text subtitle tracks that don’t contain a duration. Implements #2397.
  • mkvextract: added support for extracting AV1 to IVF. Part of the
    implementation of #2261.
  • mkvextract: IVF extractor (AV1, VP8, VP9): precise values will be used for
    the frame rate numerator & denominator header fields for certain well-known
    values of the track’s default duration.
  • mkvmerge: VP9: mkvmerge will now create codec private data according to the
    VP9 codec mapping described in the WebM specifications. Implements #2379.
  • MKVToolNix GUI: automatic scaling for high DPI displays is activated if the
    GUI is compiled with Qt ≥ 5.6.0. Fixes #1996 and #2383.
  • MKVToolNix GUI: added a menu item ("Help" → "System information") for
    displaying information about the system MKVToolNix is running on in order to
    make debugging easier.
  • MKVToolNix GUI: multiplexer, header editor: the user can enter a list of
    predefined track names in the preferences. She can later select from them in
    "track name" combo box. Implements #2230.

Bug fixes

  • mkvmerge: JSON identification: fixed a bug when removing invalid UTF-8 data
    from strings before they’re output as JSON. Fixes #2398.
  • mkvmerge: MP4/QuickTime reader: fixed handling of PCM audio with FourCC
    in24. Fixes #2391.
  • mkvmerge: MPEG transport stream reader, teletext subtitles: the decision
    whether or not to keep frames around in order to potentially merge them with
    the following frame is made sooner. That avoids problems if there are large
    gaps between teletext subtitle frames which could lead to frames being
    interleaved too late. Fixes #2393.
  • mkvextract: IVF extractor (AV1, VP8, VP8): the frame rate header fields
    weren’t clamped to 16 bits properly causing wrong frame rates to be written
    in certain situations.
  • mkvpropedit, MKVToolNix GUI’s header editor: fixed file corruption when a
    one-byte space must be covered with a new EBML void element but all
    surrounding elements have a "size length" field that’s eight bytes long
    already. Fixes #2406.

Have fun :)