With these tools ane can go data about (mkvinfo) Matroska files, extract tracks/information from (mkvextract) Matroska files and create (mkvmerge) Matroska files from other media files. Matroska is a new multimedia file format aiming to become THE new container format for the future. Y'all tin discover more information about information technology and its underlying technology, the Extensible Binary Meta Language (EBML), at https://world wide web.matroska.org/

What'due south New:

New features and enhancements

  • all: IETF BCP 47/RFC 5646 linguistic communication tags: when deriving the legacy language element codes to use a language tag's ISO 639 code is also potentially interpreted equally an & its prefix is used every bit the legacy linguistic communication lawmaking. For example, "Yue Chinese" = yue is non part of ISO 639-ii. However, in that location is an extlang subtag yue with a valid prefix of zh ("Chinese"), and for "Chinese" in that location is an ISO 639-two language lawmaking: chi. In this example the IETF language element would be ready to yue and the respective legacy element to chi. Part of the implementation of #3307.
  • all: IETF BCP 47/RFC 5646 language tags: grandfathered language tags are now supported. Function of the implementation of #3307.
  • all: IETF BCP 47/RFC 5646 language tags: all deprecated subtags from the IANA language subtag registry are now supported. Part of the implementation of #3307.
  • all: IETF BCP 47/RFC 5646 linguistic communication tags: all lists of valid subtags have been updated from their respective administrative sources. Part of the implementation of #3307.
  • all: IETF BCP 47/RFC 5646 language tags: all in the IANA linguistic communication subtag registry are now supported, even those marked as deprecated and of blazon 'grandfathered'. Part of the implementation of #3307.
  • all: IETF BCP 47/RFC 5646 language tags: reduced the maximum number of extended language subtags that are present in a valid tag from 3 to one in compliance with RFC 5646 section two.2.2. Function of the implementation of #3307.
  • all: IETF BCP 47/RFC 5646 language tags: all linguistic communication codes reserved for private/local use (qaa–qtz) are at present supported. Part of the implementation of #3307.
  • all: IETF BCP 47/RFC 5646 language tags: Digital Cinema Naming Convention linguistic communication codes that fall into the IETF BCP 47 range of "private use" tags (qaa–qtz) are at present replaced past their IETF BCP 47 equivalents during normalization (e.g. QMS → cmn-Hans). Office of the implementation of #3307.
  • all: added a new translation to Chinese Simplified (Singapore) by Dian Li.
  • mkvmerge, mkvpropedit: added a new control line choice called --enable-legacy-font-mime-types. With this choice on the 2 programs volition use the aforementioned legacy MIME types for fonts whenever new attachments are added (both programs), when reading existing attachments (only mkvmerge) or when replacing existing ones (just mkvpropedit).
  • mkvmerge, mkvpropedit: IETF BCP 47/RFC 5646 language tags: added a control line option --normalize-linguistic communication-ietf <way> which turns on normalization of IETF BCP 47 language tags to either their canonical (mode approved) or extended language subtags course (mode extlang) or turns information technology off (mode off). If the option isn't given, language tags will now be normalized to the canonical form. Part of the implementation of #3307.
  • MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: ISO 639-3 and 639-five languages will now be used by default. Part of the implementation of #3307.
  • MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor dialog volition now show warnings in several cases: when deprecated tags are used; when the tag'due south canonical and/or extlang forms differ from the user input. Function of the implementation of #3307.
  • MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor now has a button to supplant the current tag with a normalized form (canonical or extlang) if those differ from the electric current tag. Part of the implementation of #3307.
  • MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: added an selection in the preferences to ever normalize all language tags to their canonical or extlang forms or to turn normalization off. Tin likewise exist enabled from the language editor dialog. Part of the implementation of #3307.
  • MKVToolNix GUI: IETF BCP 47/RFC 5646 linguistic communication tags: the language dialog now shows a alert if a variant is used with a prefix that isn't in the variant'south list of suitable prefixes. Information technology'll also say if the respective canonical/extlang forms would have a suitable prefix. Part of the implementation of #3307.
  • MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language dialog at present shows a warning if a script is used with a language for which information technology should be suppressed. Part of the implementation of #3307.
  • MKVToolNix GUI: multiplexer: the rails property grouping boxes in the scrollable pane are at present collapsible & expandable, saving their country over restarts of the GUI. This is in preparation of adding many more rail backdrop in future releases, allowing the user to hide parts they don't employ all that oft.
  • MKVToolNix GUI: multiplexer: if the option "use legacy font MIME types" is enabled in the preferences, the new control line option --enable-legacy-font-mime-types will be passed to mkvmerge in order to have it remap the MIME types of existing attachments, too.

Bug fixes

  • all: IETF BCP 47/RFC 5646 language tags: variants aren't validated wrt. to prefixes anymore every bit BCP 47 doesn't actually pose restrictions on them, saying but that prefixes "are suitable sequences" for utilize with the variants. What is now verified, though, is that no variant is used multiple times within the same language tag. Part of the implementation/fix of #3307.
  • build organisation & MKVToolNix GUI: fixed detecting the presence of & the compilation with the multimedia module of Qt version half-dozen.2.0 and newer.
  • build system: fixed compilation on Unices other than Linux & macOS (e.g. FreeBSD). Fixes #3316.
  • MKVToolNix GUI: chore queue: fixed compiling in the audio player code for the the "play sound" cease-of-task activeness. Fixes #3303.
  • MKVToolNix GUI: multiplexer: recognizing added XML affiliate, segment info or affiliate files required the XML declaration & root node (e.g. <?xml…?> … <Chapters> for chapters) be located inside the first ane KB, which wasn't enough for files that contain a lot of comments at the kickoff like the included example-chapters-ii.xml. The detection range was extended to x KB. Fixes #3302.

Build system changes

  • build system: the provided Windows binaries are now compiled with Qt 6. A drawback is that sure audio formats aren't supported anymore by Qt for the "end of chore" sound notification playback, notably the Ogg file format & the Vorbis audio codec. MKVToolNix therefore at present ships Opus-in-WebM files for the aforementioned purpose.
  • The arranged fmt library was updated to v8.one.1.
  • The bundled nlohmann-json library was updated to v3.10.five.
  • The bundled pugixml library was updated to v1.12.i.