Moritz Bunkus - ( Open Source)
MKVToolNix is a handy and powerful set of tools for easily creating and working with Matroska (.MKV) files.
MKVtoolnix is a handy application that helps you to work with Matroska - a multimedia container that allows to unite in a single file video, audio and subtitle tracks, taking the concept of mkvextract GUI but empowered with some additional features. The application lets you extract the audio, video and subtitles of MKV container, mix new audio tracks, videos or subtitles, convert videos and audios to Matroska (MKV) format, offering the possibility to choose the default audio or add more, and the same with subtitle tracks. In addition, you can retouch MKVToolnix quality and appearance of the video. MKVToolnix supports the many formats such as for video: 264, AVC, H.264, AVI, DRC, MP4, MPG, MPEG, M1V, M2V, EVO, MKV, OGG, MOV, RA, RAM, RMVB, VC1; audio: AC3, AAC, M4A, MP4, DTS, FLAC, OGG, MP2, MP3, MKA, TTA, WAV, WV and subtitles: SRT, ASS, SSA, USF, XML, IDX.
New features and enhancements:
Mkvmerge: FLAC reader: added support for handling embedded pictures as attachments.
Mkvmerge: MP4 reader: merged pull request #1804 adding support for parsing the "COLR" atom and including its values as track headers.
MKVToolNix GUI: watch jobs: the user can now have the GUI execute an action once as soon as the current job or the whole queue finishes. The actions are the same ones that can be configured to be run automatically after job or queue completion.
MKVToolNix GUI: implemented several built-in actions that can be executed either on special events or once via the "watch jobs" tool. These are: playing an audio file (implemented for all operating systems); hibernating, sleeping and shutting down the computer (only implemented for Windows and for Linux systems using systemd).
MKVToolNix GUI: multiplex tool: added a new option for what to do after starting to multiplex/adding to the job queue: "close current settings" will close the current multiplex settings without opening new ones.
Bug fixes:
Mkvmerge: AAC parser: fixed mis-detection of certain data as valid ADTS AAC headers resulting in memory allocation failures.
Mkvmerge: AVC/h.264 parser: mkvmerge will now ignore bogus timing information in the sequence parameter sets (values indicating more than 100000 progressive frames per second).
Mkvmerge: AVC/h.264 & HEVC/h.265 parsers: all trailing zero bytes will now be removed from NALUs.
Mkvmerge: HEVC/h.265 parser: fixed copying the `bitstream_restriction_flag` and all dependent fields in the VUI parameters of the sequence parameter sets.
Mkvmerge: HEVC/h.265 parser: fixed the calculation of the number of parameter set arrays in the HEVCC data structure stored in CodecPrivate.
Mkvmerge: HEVC/h.265 parser: fixed writing superfluous and uninitialized bytes at the end of the HEVCC data structure stored in CodecPrivate.
Mkvmerge: HEVC/h.265 parser: fixed the assumption that the HEVCC data structure always includes arrays for all parameter set types (VPS, SPS, PPS and SEI), and that the order is always VPS ? SPS ? PPS ? SEI. Instead now only the arrays actually present are parsed, and they can be in any order.
Mkvmerge: AVC/h.264 packetizer: when reading a framed track (e.g. from Matroska or MP4 files), specifying a default duration as fields (e.g. `50i`) would result in double the actual duration for each frame and the tracks default duration header field.
Mkvmerge: Matroska reader: invalid track language elements are now treated as if they were set to `und` = "undetermined".
Mkvmerge: MPEG TS reader, AAC: mkvmerge will now require five consecutive AAC headers with identical parameters before track type determination is considered valid. This avoids false positives and consequently wrong track parameters.
MKVToolNix GUI: multiplexer tool: the "show command line" dialog will no longer include the mkvmerge executables location as the first argument for the two "MKVToolNix option files" escape modes.
MKVToolNix GUI, header editor: empty track language elements are now treated the same as those set to invalid ISO 639-2 codes: as if they were set to `und` = "undetermined".
Build system changes:
Bug fix: configure now looks for the `strings` binary by using the `AC_CHECK_TOOL()` autoconf macro. That way it will be found in multiarch setups, too.
Bug fix: the environment variable USER_CXXFLAGS was accidentally removed from the compiler flags in release 9.8.0. Its been re-added.
The `.desktop` files have been renamed to `org.bunkus.mkvtoolnix-gui.desktop` and `org.bunkus.mkvinfo.desktop`. This allows Wayland compositors to associate the correct icons with running applications for e.g. task switchers.
Qts multimedia component is required for compilation of the GUIs since version 11.0.0.