Moritz Bunkus heeft versie 50 van MKVToolNix uitgebracht. Met dit opensourceprogramma kunnen matroska-bestanden bekeken, bewerkt en worden geconverteerd. Zo kunnen geluidssporen en ondertiteling worden toegevoegd, verwijderd of juist als standaard worden ingesteld. MKVToolNix is een verzameling afzonderlijke commandline-tools, maar er wordt ook een grafische gebruikersinterface meegeleverd. Downloads zijn beschikbaar voor Windows, macOS en diverse Linux-distributies. De changelog voor deze uitgave ziet er als volgt uit:
New feature: IETF BCP 47 language tagsOther new features and enhancements
- I’ve written up a nice FAQ entry about the switch to using IETF BCP 47 language tags, how they interact with legacy language elements, how the programs actually behave and how to disable their use if necessary.
- mkvmerge: IETF BCP 47/RFC 5646 language tags: mkvmerge will now accept full BCP 47 language tags for all options taking a language. mkvmerge will always write "LanguageIETF" track header elements. If the language tag contains a valid ISO 639-2 language code it will also set the legacy "Language" track header element to the included ISO 639-2 code. Part of the implementation of #2419.
- mkvmerge: IETF BCP 47/RFC 5646 language tags: if present the "LanguageIETF" track header element will be reported as the
language_ietf
property in JSON identification mode. Part of the implementation of #2419.- mkvmerge: IETF BCP 47/RFC 5646 language tags in chapters: mkvmerge will now write "ChapLanguageIETF" elements when creating chapter atoms, either when reading the simple chapter format or when generating chapters due to the
--generate-chapters
command line option. Part of the implementation of #2419.- mkvmerge: IETF BCP 47/RFC 5646 language tags in tags: mkvmerge will now write "TagLanguageIETF" elements when creating "simple tag" elements, either when reading tag XML files or when generating them. Part of the implementation of #2419.
- mkvmerge: IETF BCP 47/RFC 5646 language tags: added an option
--disable-language-ietf
that causes mkvmerge to only write the legacy language elements.- mkvmerge, mkvpropedit, MKVToolNix GUI’s chapter editor: IETF BCP 47/RFC 5646 language tags in chapters: when reading XML chapter files the programs will now add "ChapLanguageIETF" elements for atoms that don’t contain them. The values are derived from existing "ChapterLanguage" elements. Part of the implementation of #2419.
- mkvpropedit: IETF BCP 47/RFC 5646 language tags: setting/deleting the track language now acts on both the old language element as well as the "LanguageIETF" track header element. Part of the implementation of #2419.
- mkvpropedit: IETF BCP 47/RFC 5646 language tags: added an option
--disable-language-ietf
that causes mkvpropedit to apply changes to thelanguage
track header property only to the legacy language track header element.- mkvinfo: IETF BCP 47/RFC 5646 language tags: added support for the "LanguageIETF" track header element. Part of the implementation of #2419.
- MKVToolNix GUI: multiplexer: added full support for IETF BCP 47/RFC 5646 language tags for both track and chapter languages. Part of the implementation of #2419.
- MKVToolNix GUI: chapter: added full support for IETF BCP 47/RFC 5646 language tags for chapter languages. Part of the implementation of #2419.
- MKVToolNix GUI: header editor: added full support for IETF BCP 47/RFC 5646 language tags for track header languages. The header editor allows editing of the legacy language elements and the IETF BCP 47 language elements independent of each other. Part of the implementation of #2419.
Bug fixes
- mkvmerge: the chapter generation mode
when-appending
now also works with the splitting modesparts:
&parts-frames:
when using the…,+…
syntax for appending other sections of the source file to the same destination file. Implements #2898.- MKVToolNix GUI: multiplexer: the file selection dialogs now include the extension
.dtsma
for DTS files. Implements #2901.- mkvmerge: MP4 reader: sped up parsing MP4 DASH files with a lot of segments (
trun
atoms) quite a bit. Part of the fix of #2900.- The PCRE2 regular expression library is now used instead of
std::regex
for big performance improvements in all places where regular expressions are used for parsing big chunks of text, e.g. in the subtitle parsers. Part of the fix of #2899.- all programs: Windows: all programs now support long file names on Windows 10 release 1604 if they’re turned on in the registry. Implements #2916.
Build system changes
- MKVToolNix GUI: preferences: under certain conditions changing the selected entry in the page tree on the left did not cause the page shown on the right to be updated. Fixes #2895.
- mkvmerge: splitting text by a fixed string (e.g.
,
) is now done by usingstd::string.find()
instead of using a regular-expression-based text splitting function, greatly improving its performance. Part of the fix of #2899.- mkvmerge: mkvmerge will now read-buffer file I/O when probing text file formats which increases its speed significantly on Windows. Part of the fix of #2899.
- mkvmerge: MP4 reader: fixed handling of
tkhd
atoms of version 1. Fixes #2900.
- The PCRE2 library (the 8-bit variant) is now required.