Author Archives: mosu

MKVToolNix v71.0 released

Hey everyone!

MKVToolNix v71 is out, bringing some more maintenance, but fixes, partial support for the latest Matroska elements. Partial in the sense that the GUI’s chapter editor still needs to be updated for the new elements used for naming/titling editions (similar to how atoms can already be named). This will come in the next release.

A couple of notes for package maintainers: the latest releases of libEBML (v1.4.4) & libMatroska (v1.7.1) are required. They’re also bundled, as usual. Those two releases were made on the same day as this MKVToolNix release: 2022-10-08. They should restore ABI compatibility with libEBML v1.4.2 & libMatroska v1.6.3 respectively, which we accidentally broke with last week’s releases (the bad ones: libEBML v1.4.3 & libMatroska v1.7.0).

You can download the source code or one of the binaries. The Windows binaries as well as the Linux AppImage are available already. The macOS binaries & 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, MKVToolNix GUI’s multiplexer: added support for the Emphasis audio track header element via the --audio-emphasis option. It is also read from Matroska files.
  • mkvmerge: the options --list-stereo-modes and --list-audio-emphasis have been added to list all support numerical & textual values for the --stereo-mode & --audio-emphasis options.
  • mkvpropedit, MKVToolNix GUI’s header editor: added support for the Emphasis audio track header element via the emphasis property.
  • MKVToolNix GUI: multiplexer: when the track properties are configured to be displayed in a tab widget below the files & tracks in the “Input” tab, the “Color information” tab will be laid out in two columns. This reduces the minimum height the whole tab widget requires. Implements #3401.
  • MKVToolNix GUI: greatly sped up closing the preferences dialog by only re-running certain initialization functions when their corresponding settings have changed. Also fixes issues such as #3406.
  • mkvinfo, MKVToolNix GUI’s info tool: added support for the following new elements from Matroska v5: Emphasis audio track header element; Chapter Skip Type; Edition Display; Edition String; Edition Language IETF.
  • mkvmerge, mkvpropedit: added support for the following new chapter elements from Matroska v5: Chapter Skip Type; Edition Display; Edition String; Edition Language IETF. The GUI’s chapter editor will receive support for them in the next release.

Bug fixes

  • mkvmerge: Ogg/OGM reader: mkvmerge will now correctly skip tracks of unsupported types as well as tracks for which all track header pages haven’t been found. Fixes #3394.

Build system changes

  • libEBML 1.4.4 & libMatroska 1.7.1 are now required.
  • The bundled libEBML & libMatroska libraries were updated to v1.4.4 & v1.7.1 respectively.
  • The bundled fmt library was updated to v9.1.0.
  • The bundled nlohmann-json library was updated to v3.11.2.

Have fun 😁

MKVToolNix v70.0.0 released

Heyo!

A new small release is ready, mostly fixing two annoying bugs in the GUI’s handling of color parameters that unfortunately slipped in in v69.

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: the user can now control where the job queue files & the preferences INI file are stored via environment variables. If set, the variable MKVTOOLNIX_GUI_STATE_DIR can point to a directory where the GUI stores both the job queue sub-directory and the preferences INI file. If you only want to relocate the preferences INI file, you can store the desired file name for the INI file in MKVTOOLNIX_GUI_CONFIG_FILE. Implements #3382.
  • MKVToolNix GUI: when adding directories via drag & drop/copy & paste the GUI will now offer the user the option to create one multiplex settings tab per directory & adding all files from that directory to the corresponding, newly created tab. Implements #3371.

Bug fixes

  • mkvmerge: AV1 OBU parser: fixed identifying files that only contain single frame. Fixes #3380.
  • MKVToolNix GUI: multiplexer: when reading color parameters from identified files that are floating point numbers (minimum/maximum luminance, projection pitch/roll/yaw) the numbers will be formatted in floating-point notation instead of scientific notation as mkvmerge only supports the former. Fixes #3368.
  • MKVToolNix GUI: multiplexer: color parameters that are floating point numbers (minimum/maximum luminance, projection pitch/roll/yaw) will only be set to a value during identification if the identification actually contains the property, and not to 0 anymore if it doesn’t.

Build system changes

  • Several merge requests where accepted that improve compilation on MSYS2 on Windows. Note that this build type isn’t supported.

Have fun 😁

MKVToolNix v69.0.0 released

Well hello, everyone!

Long time no release, for various reasons, including having had caught Covid. Luckily it was rather mild. But still; I’d rather not have gotten it at all.

Anyway. Here’s a small release, couple of fixes, couple of features. Nothing overly revolutionary. Nevertheless, enjoy!

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:

Important notes

  • all: the spelling of “colour” was changed to “color” throughout all programs to match the use of American English spelling in MKVToolNix. This not only affects documentation and user interface controls, but also program options for mkvmerge & mkvpropedit. Both programs will continue to accept the British English spelling of their respective options indefinitely. One breaking change is that the property names in mkvmerge’s JSON identification mode have also been changed to American English spelling. As those properties have only been introduced in release v68, this seems like a small enough window to make such a change.

New features and enhancements

  • MKVToolNix GUI: the number of recently used entries (e.g. destination directories) remembered by the GUI can now be configured in the preferences. Implements #3362.
  • MKVToolNix GUI: multiplexer: when adding files the track properties regarding color information & color mastering meta information will be parsed & set in the corresponding GUI controls. Implements #3359.
  • MKVToolNix GUI: job queue: the job queue can now be sorted by clicking on the column headers. Part of the implementation of #3365.
  • MKVToolNix GUI: job queue: when loading jobs from the queue directory that weren’t previously known to the program those jobs will be sorted by their “date added” timestamp instead of using the order the operating system returns them in. Part of the implementation of #3365.

Bug fixes

  • build system: fixed compilation with fmt v9. Fixes #3366.
  • mkvmerge: HEVC ES parser: the parser will now parse at least the first full access unit before reporting that it has found all the required headers. Otherwise parsing might stop in the middle of the access unit due to the source reader not providing more data in the first call, leading to the parser not finding the unspec62 and unspec63 NALUs required for Dolby Vision. Fixes #3363.
  • MKVToolNix GUI: preferences: the default actions added to the “execute programs” section on new installations now default to use WebM file names instead of Ogg, matching the format of the included audio files.

Build system changes

  • The bundled fmt library was updated to v9.0.0.

Have fun 😁

MKVToolNix v68.0.0 released

Heyo!

Here’s MKVToolNix v68 in which a lot of work has gone into replacing the icons in the GUI with scalable versions (SVG instead of PNG), improving support for odd scaling factors such as 125%.

A note to for package maintainers: due to the aforementioned change Qt’s SVG library is now required.

A note to users of Raspberry Pi: please migrate to using my Debian repository instead of the Raspbian repository I used to host. The Debian binaries are now available for the armhf architecture, removing the need for a Raspbian-specific repository.

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: HDMV PGS subtitles: mkvmerge now tries to detect bogus timestamps (where the current timestamp is two hours or more after the previous timestamp) & correct them to something more sensible (1s after the previous timestamp). That way one bogus timestamp cannot cause the rest of the frames to not be interleaved properly with the other audio & video packets. Implemented for #3268.
  • mkvmerge: added colour information, colour mastering meta information & video projection information properties to the JSON identification format. The properties are reported for container types for which mkvmerge supports reading them (Matroska & MP4). The JSON identification format version number has been bumped to v15.
  • MKVToolNix GUI: multiplexer: added controls for all the video colour information & the video projection information.

Bug fixes

  • mkvmerge: SRT reader: entries with a duration of 0 or less will now be skipped. Fixes #3332.
  • mkvpropedit, MKVToolNix GUI’s chapter & header editors: fixed an invalid memory access when trying to update existing Matroska files whose EBML Head element had a “size” field length of eight bytes, and where rewriting said element would shrink the element by one byte. Files created by gstreamer fit the first part whereas the second depends on the changes requested by the user. Part of the fix of #3325.
  • mkvpropedit, MKVToolNix GUI’s chapter & header editors: fixed the programs not handling having to remove EBML void elements at the end of the file correctly and consequently aborting. Part of the fix of #3325.
  • MKVToolNix GUI: the GUI now uses almost all SVG icons, allowing proper scaling even for scaling factors such as 125%. Fixes #3335.
  • MKVToolNix GUI: when compiled with Qt 5 the character set of INI files is forced to UTF-8 in order to fix reading INI files written by a version compiled with Qt 6. Fixes #3346.

Build system changes

  • Qt’s SVG library is now required.

Have fun 😁