Tag Archives: Matroska

MKVToolNix v43.0.0 released

Hey y’all,

let’s do a second release in January, fixing a couple of annoyances that crept in lately. Just a smaller maintenance release; nothing earth shattering. But see for yourself down below.

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

  • MKVToolNix GUI: using one of the command line options --info,
    --edit-headers or --edit-chapters will make the GUI select the
    corresponding tool on startup even if no further file name is
    given. Implements #2723.
  • MKVToolNix GUI: multiplexer: added a setting in the preferences for changing
    the location of the MediaInfo executable for when the user accidentally
    selected the wrong one.

Bug fixes

  • mkvmerge: AVC/h.264 parser: the order of the NALUs before each key frame was
    sometimes wrong: mkvmerge wrote SPS & PPS after SEI NALUs. Now SPS & PPS
    NALUs are always written before the other NALUs. Patch by Torsten
    Hauska. Part of the implementation of #2709 and part of the fix of #2250.
  • mkvmerge: AVC/h.264 parser: when additional SPS or PPS NALUs (with IDs that
    haven’t been seen so far) are found mid-stream, mkvmerge will prepend all
    following key frames with all current valid SPS & PPS NALUs (just like when
    SPS & PPS NALUs are overwritten mid-stream). Part of the fix of #2250.
  • mkvmerge: MPEG TS reader: fixed detection of MPEG-1/2 video tracks
    consisting of very few frames. Fixes #2732.
  • mkvmerge: Ogg Opus reader: fixed the handling of Ogg Opus streams that
    contain a just one Ogg page (mkvmerge aborted with an exception). Fixes
    #2722.
  • MKVToolNix GUI: multiplexer: dragging & dropping XML files with chapters or
    tags to the GUI’s window was broken in v42. Instead of adding the file names
    to the appropriate input boxes the GUI was running mkvmerge for file
    identification purposes which then failed. Fixes #2718.

Have fun :)

MKVToolNix v42.0.0 relesaed

Hey everyone,

I sincerely hope y’all have had a good start into the new year and are sufficiently recovered from whatever you’ve done over the last couple of days. I’ve been busy fixing up release v42 of MKVToolNix. Yeah, I’m that boring :)

In this release a lot of source code changed under the hood as I replaced two external libraries (Boost’s “optional” and “regex” libraries) with ones from the C++ Standard Library. I tested extensively, but it’s quite possible there are bugs lurking due to those changes. If you find one, please file a bug on Gitlab as usual. Thanks!

Apart from that there were many, many changes; see below for the list.

Dear package maintainers: apart from the aforementioned library changes (Boost’s “optional” and “regex” are no longer used, they’ve been replaced with “std::optional” and “std::regex”) four new translations of man pages have been added. The required compiler versions haven’t changed, though: gcc ≥ 7 and clang ≥ 4 should work fine. Please adjust your packaging instructions accordingly.

And now for the usual boilerplate:

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: added an option for creating byte-identical files:
    --deterministic <seed>. Part of the implementation of #2698.
  • mkvmerge: Matroska reader: mkvmerge will remove the icpf atom headers if
    they’re present in frames read from Matroska files. Implements #2692.
  • mkvmerge: MP4 reader: ALAC tracks: the number of channels, sampling
    frequency and bit depth are now taken from the bitstream in order to fix
    bogus values on the container level. Implements #2714.
  • mkvpropedit: when changing track UIDs the referring elements in existing
    chapters & tags will be updated automatically, too. Part of the
    implementation of #2700.
  • mkvinfo: when the option -p/--hex-positions is used, element positions
    will be output regardless of the verbosity level. Part of the implementation
    of #2713.
  • mkvinfo: added the option -P/--positions for showing the position of
    each element in decimal regardless of the verbosity level used. Part of the
    implementation of #2713.
  • mkvinfo: added the option -o/--continue for continuing processing when
    the first cluster is encountered regardless of the verbosity level
    used. Part of the implementation of #2713.
  • mkvinfo: added the option -a/--all for outputting all sub-elements (even
    cues & seek head entries) and not stopping at the first cluster regardless
    of the verbosity level used. Part of the implementation of #2713.
  • MKVToolNix GUI: multiplexer: added an option in the preferences for
    disabling adding cover images from Blu-ray discs. Implements #2693.
  • MKVToolNix GUI: multiplexer: added mkvmerge’s new --deterministic option
    in the "additional command-line options" dialog. Part of the implementation
    of #2698.
  • MKVToolNix GUI: header editor:: when changing track UIDs the referring
    elements in existing chapters & tags will be updated automatically,
    too. Part of the implementation of #2700.

Bug fixes

  • mkvmerge: HEVC ES parser: fixed a bug in the slice parser calculating the
    size of a field which in turn could have led to the slice’s type being read
    wrong. Patch by Torsten Hauska. Fixes #2710.
  • mkvmerge: Matroska reader: fixed a segmentation fault when trying to read a
    file that uses header removal compression but no removed bytes are present
    in the track headers. Fixes #2687.
  • mkvmerge: MPEG elementary stream parser: fixed an invalid memory access and
    use of uninitialized memory that could happen under certain
    circumstances. Fixes #2690.
  • mkvmerge: RealMedia reader: fixed a division by zero when all audio
    timestamps were zero. Fixes #2689.
  • mkvmerge: RealMedia reader: fixed an invalid memory access in the video
    frame assembly code triggered by invalid data in the file. Fixes #2691.

Build system changes

  • std::optional (C++17 feature) is now used instead of boost::optional.
  • std::regex is now used instead of boost::regex.

Other changes

  • New man page translations into French, Italian, Russian and Chinese
    Traditional have been added.

Have fun :)

MKVToolNix v41.0.0 released

Hey,

here’s one last release before the end of the year, and it’s a bit bigger than the previous ones. Have a look at the news below for details.

Nothing’s changed for package maintainers.

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: Matroska reader: Vorbis tracks: stream comments (aka Vorbis
    comments) will be converted to Matroska attachments (for cover arts) and
    Matroska track tags (for other comments). Additionally the stream comments
    will be removed from Vorbis headers.
  • mkvmerge: MP4 reader: added support for reading Opus audio from MP4
    files. Part of the implementation of #2673.
  • mkvmerge: MP4 reader: added support for reading VP9 video from MP4
    files. Part of the implementation of #2673.
  • mkvmerge: Ogg reader: Vorbis, Opus & VP8 streams: stream comments (aka
    Vorbis comments) will be converted to Matroska attachments (for cover arts)
    and Matroska track tags (for other comments). Additionally the stream
    comments will be removed from Vorbis headers.
  • mkvmerge: WAV reader: added support for reading RF64 files.
  • MKVToolNix GUI: multiplexer: the list of predefined track names is now split
    up into three lists, one for each track type (audio, video &
    subtitles). Part of the implementation of #2654.
  • MKVToolNix GUI: multiplexer: when trying to add thumbnails for a Blu-ray the
    GUI will determine the thumbnail’s pixel size from the thumbnail files if
    the XML file doesn’t contain that information. This works for JPEG and PNG
    files. Implements #2674.
  • MKVToolNix GUI: general: line edits & combo boxes will now have a "clear
    text" button appear whenever they’re not empty. Part of the implementation
    of #2654.
  • MKVToolNix GUI: update check: the dialog showing the latest news & version
    information states explicitly where the links take the user (the MKVToolNix
    NEWS.md file and YouTube respectively).

Bug fixes

  • mkvmerge: Matroska reader: mkvmerge did not copy the codec’s private data
    when reading WavPack from Matroska files. Fixes #2685.
  • mkvmerge: MPLS handling: re-added caching when using MPLS playlists as input
    files. Fixes #2666.
  • mkvmerge: MPEG TS reader: when reading an MPLS playlist, the calculation of
    the minimum timestamp to use for shifting all output timestamps to zero was
    wrong. It was wrongfully considering timestamps from packets it would not
    copy due to the MPLS’s timestamp restrictions. This could lead to the first
    timestamps in the output file being quite large, e.g. more than a couple of
    minutes, causing sync problems when multiplexing together with other
    files. Fixes #2670.
  • MKVToolNix GUI: multiplexer: the automatic switch between aspect ratio &
    display width/height wasn’t reflected in the configuration generated for
    mkvmerge. The user had to change between the two settings manually. Fixes
    #2660.
  • MKVToolNix GUI: multiplexer: the progress dialog shown when scanning a
    Blu-ray wasn’t closed properly in certain situations. Fixes #2678.
  • MKVToolNix GUI: general: the configured font was not applied to a lot of
    controls (e.g. the file & track lists or the menu entries) on application
    startup. Instead the user had to open & close the preferences in order for
    the font to be applied to all controls. Fixes #2671.

Have fun :)

MKVToolNix v40.0.0 released

Hey y’all,

there’s been quite a lot of feedback on the changes in v39, and due to it I decided to make two of the new features configurable: the dark mode for Windows & deriving the file name from the file title. Combine that with an easy-to-trigger regression in the MP4 handling in v39, and I’ve decided to get a new release out sooner rather than later. So here it is, v40.0.0 is out.

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: MP4 reader: added support for BMP covert art images.
  • MKVToolNix GUI: multiplexer: added an option to disable deriving the
    destination file name from the file title. Implements #2648.
  • MKVToolNix GUI: multiplexer: the content of the "stereoscopy" combo box has
    been simplified making the box’s minimum width much smaller, allowing the
    user to resize the GUI’s whole window to a much smaller width.
  • MKVToolNix GUI: multiplexer: whenever the user changes the "aspect ratio" or
    "display dimensions" controls, the corresponding radio button will be
    activated automatically. Implements #2651.
  • MKVToolNix GUI: Windows: added a setting in the preferences to disable the
    GUI’s dark color mode even if Windows’s app color mode is set to
    dark. Implements #2646.
  • MKVToolNix GUI: Windows: replaced the dark mode introduced in v39 with
    another dark mode that’s less wasteful with space between widgets.

Bug fixes

  • mkvmerge: MP4 reader: mkvmerge was reading eight bytes too many for cover
    art images. This could cause file identification to fail when the cover art
    was located at the end of the MP4 file. Even if it succeeded, this meant too
    much data present in the attachment. Fixes #2650.
  • mkvmerge: MP4 reader: covert art images with unknown image types will be
    skipped instead of treated as JPEG images.

Build system changes

  • Qt 5.9.0 or newer is now required for building MKVToolNix GUI.

Have fun :)