Versie 18 van MKVToolNix is uitgekomen, slechts vier dagen na het verschijnen van versie 17. Met deze verzameling opensourceprogramma's kunnen Matroska-bestanden worden bekeken, bewerkt en 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, diverse Linux-distributies en macOS. De changelog sinds versie 16 ziet er als volgt uit:
MKVToolNix 18.0.0
New features and enhancements
- build system: when building with clang v3.8.0 or newer,
configure
will no longer restrict optimization flags to-O1
and use-O3
again (older versions of clang suffered from excessive memory usage with higher optimization levels).- build system: when building with mingw 7.2.0 or newer,
configure
will no longer restrict optimization flags to-O2
and use-O3
again (older versions of mingw suffered from bugs such as segmentation faults with higher optimization levels).- build system: stack protection is enabled when building with clang 3.5.0 or newer on all platforms.
- mkvmerge: AVC & HEVC ES parsers: performance improvements by copying much less memory around.
- mkvmerge: tags: reintroduced a workaround for non-compliant files with tags that do not contain the mandatory
SimpleTag
element. This workaround was removed during code refactoring in release v15.0.0.- GUI: multiplexer: the "AAC is SBR/HE-AAC/AAC+" checkbox in the "audio properties" section will be disabled if the functionality is not implemented for the selected track’s codec & container.
- GUI: multiplexer: the "reduce to core" checkbox in the "audio properties" section will be disabled if the functionality is not implemented for the selected track’s codec. See #2134.
Bug fixes
- mkvmerge: AAC ADTS parser: fixed interpretation of the
channel_configuration
header element for ADTS files that do not contain a program configuration element: value 7 means 7.1 channels. Fixes #2151.- mkvmerge: Matroska identification: the
date_local
anddate_utc
attributes will only be output if the identified Matroska file actually contains the "date" header field.- mkvmerge: WebVTT: mkvmerge did not recognize timestamp lines if the hours components were absent. Fixes #2139.
- mkvpropedit, GUI’s header editor: the
date
header field won’t be added automatically anymore whenever the segment info section is edited and thedate
element is either deleted or not present in the first place. Fixes #2143.MKVToolNix 17.0.0
Important notes
- The word "timecode" has been changed to "timestamp" everywhere it was used in MKVToolNix. This affects program output (including mkvinfo’s), GUI controls, command line parameters (e.g.
mkvmerge --timestamp-scale …
) and file formats. All programs remain backwards compatible insofar as they still accept "timecode" in all those places (e.g.mkvmerge --timecode-scale …
).
The reason for the change is wrong usage. What both the Matroska specification and MKVToolNix used "timecode" for is normally called a "timestamp" in audio & video domains. A "timecode" on the other hand has a specific meaning. As the Matroska specification is moving towards implementing real timecodes, it will also move towards correcting the verbiage. MKVToolNix is following this change.- mkvextract’s command line interface has been changed to allow extraction of multiple items at the same time. The first argument must now be the source file’s name. All following arguments either set the mode (e.g.
tracks
) or specify what to extract in the currently active mode.
Those items that were written to the standard output (chapters, tags and cue sheets) are now always written to files instead. Therefore the respective modes require an output file name.
For example, extracting two tracks, the chapters and the tags can be done with the following command:mkvextract input.mkv tracks 0:video.h265 1:audio.aac chapters chapters.xml tags tags.xml
The old interface (specifying the mode first and the source file name second) remains working and supported. However, it is now deprecated and will be removed at the end of 2018.New features and enhancements
- mkvmerge: AC-3: during identification regular AC-3 and E-AC-3 tracks will now be identified differently for most container formats (exception: AVI, Real Media, Ogg/OGM). The codec will be reported as
AC-3
for regular AC-3 and asE-AC-3
for E-AC-3 tracks instead of the combinedAC-3/E-AC-3
.- mkvextract: the command line interface has been changed to allow extraction of multiple items at the same time. See section "Important notes" for details.
Bug fixes
- mkvmerge: AAC ADTS parser: mkvmerge will now parse the
program_config_element
if it is located at the start of an AAC frame in order to determine the actual number of channels. This overrides invalid channel configurations in the ADTS headers, for example. Fixes #2107.- mkvmerge: fixed AC-3 being misdetected as encrypted MPEG program streams under certain conditions.
- mkvmerge: Dirac: under certain conditions (e.g. only muxing a single Dirac track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too.
- mkvmerge: E-AC-3 in Matroska: if AC-3 cores and their corresponding E-AC-3 extension are located in two different Matroska blocks, then mkvmerge will now re-assemble them into a single block and only use the first block’s timestamp.
- mkvmerge: SRT reader: fixed calculating the duration of entries starting with at a negative timestamp.
- mkvmerge: VC-1: under certain conditions (e.g. only muxing a single VC-1 track without any other tracks) mkvmerge was always setting the pixel width & height to 123. The frame rate was wrong, too. Fixes #2113.
- mkvmerge: command line options: an error message will be output if the single-value-form of the
--sync
option is used and it isn’t a number (e.g.--sync 0:asd
). Fixes #2121.- mkvpropedit, GUI’s header editor: both programs will now show proper error messages instead of crashing when certain kinds of data corruption is found when reading a file. Fixes #2115.