*mkvmerge：将多媒体文件封装、合并、混流为 MKV 文件；
*mkvinfo：输出 MKV 文件组件和编码信息；
*mkvextract：从 MKV 文件中提取视频、音频和字幕轨道；
*mkvpropedit：直接修改现有 MKV 文件的属性而无需重混流；
*mmg：mkvmerge GUI，并包含了章节编辑器和头部编辑器。MKVToolNix 中的 Mkvmerge GUI 允许你导入多个视频、音频、字幕轨道，混流合并一个新的 MKV 文件，并可以设置导出视频的宽高比、显示比例、帧频等等。
MKVToolNix 中的 MKVExtractGUI 则可以从现有的 MKV 文件中提取其中的一个或多个视频、音频或者字幕信息，是专业的 MKV 分离工具。
MKVToolNix 是专用的 MKV 剪辑工具，提供了4种 MKV 切割模式，包括按尺寸、按时长、按特定时间码和按分段，都是无损剪辑、分割 MKV 过程，能够同步切割视频、音频和字幕轨道。比之前介绍的所有支持 MKV 分割的工具都要好用，包括 Boilsoft Video Splitter、SolveigMM AVI Trimmer 等。
Version 12.0.0 “Trust / Lust” 2017-05-20 更新记录：
## New features and enhancements
* MKVToolNix GUI: the key combination Ctrl+Shift+Space will now toggle the
selection of the current item in all tree views where multiple selections
are allowed. Implements #1983.
* MKVToolNix GUI: chapter editor: added the extension `*.cue` (for cue sheet
files) to the “open chapter file” dialog.
* mkvmerge: cue sheet parser: if the cue sheet contains a non-empty `TITLE`
entry and if no other segment title has been set yet, then the segment title
will be set to the cue sheet’s `TITLE` value. Implements #1977.
* mkvmerge, MKVToolNix GUI (multiplexer): added an option `–no-date` that
prevents the “date” field from being written to the segment information
headers. Implements one half of #1964.
* mkvpropedit, MKVToolNix GUI: header editor: added support for editing the
“date” segment information field. Implements the other half of #1964.
## Bug fixes
* MKVToolNix GUI: preferences → job actions, type “play audio file”: the GUI
will no longer clear the audio file name input if the user aborts the audio
file selection dialog.
* MKVToolNix GUI: preferences → job actions, type “play audio file”, on
Windows: the default “play audio” action was pointing to the wrong
directory. Existing configurations with such a wrong path will be fixed
automatically upon starting the GUI. Fixes #1956.
* mkvmerge: HEVC/h.265 parser: fixed the superfluous copying of the
`bitstream_restriction_flag` and its dependent flags in the VUI parameters
of the sequence parameter sets if the timing information is present,
too. This fixes #1924 properly, and it also fixes #1958.
* mkvmerge: MPEG TS reader, AAC parser: the MPEG TS reader will now force the
AAC parser to use the multiplex mode that the MPEG TS reader has detected
(e.g. LOAS/LATM). This prevents the AAC packetizer from mis-detecting it in
its own attempt to identify the mode. Fixes #1957.
* mkvmerge: MPEG TS reader: valid MPEG transport streams that start with an
h.264/h.265 start code (e.g. a file created by cutting at an arbitrary
position) were not recognized as a supported file type.
* mkvmerge: MPEG TS reader: fixed a potential read access from invalid memory
addresses in the code parsing the program map table (PMT).
* mkvmerge: MPEG TS reader: if packets are encountered that belong to a PID
not listed in the program map table (PMT), mkvmerge will attempt to
determine their type and codec from the content. This supported content
types are AAC (ADTS only) and AC-3. Fixes #1980.
* mkvmerge: MP4 reader: fixed finding and parsing the `colr` atom if there are
more than one video extension atoms and the `colr` atom is not the first
* mkvmerge: MP4 reader: the `nclx` colour type of the `colr` atom is now
recognized, too (as defined by ISO/IEC 14496-12, “ISO base media format”).
* configure: fixed configure aborting if a `moc`, `uic`, `rcc` or `qmake`
binary is found, but the binary’s version is too old. Fixes #1979.
版本 11.0.0 “Alive” 更新记录：
New features and enhancements
- mkvmerge: FLAC reader: added support for handling embedded pictures as attachments. Implements.
- mkvmerge: MP4 reader: merged pull request 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.
- mkvmerge: AAC parser: fixed mis-detection of certain data as valid ADTS AAC headers resulting in memory allocation failures. Fixes.
- 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). Fixes.
- mkvmerge: AVC/h.264 & HEVC/h.265 parsers: all trailing zero bytes will now be removed from NALUs. Fixes.
- mkvmerge: HEVC/h.265 parser: fixed copying the `bitstream_restriction_flag` and all dependent fields in the VUI parameters of the sequence parameter sets. Fixes.
- mkvmerge: HEVC/h.265 parser: fixed the calculation of the number of parameter set arrays in the HEVCC data structure stored in CodecPrivate. Fixes the video-related part of.
- mkvmerge: HEVC/h.265 parser: fixed writing superfluous and uninitialized bytes at the end of the HEVCC data structure stored in CodecPrivate. Another fix for the video-related part of.
- 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. This fixes mkvinfo’s output for Matroska files created from files such as the one from.
- 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 track’s default duration header field. Fixes.
- mkvmerge: Matroska reader: invalid track language elements are now treated as if they were set to `und` = “undetermined”. See for context.
- 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. Fixes the audio-related part of.
- mkvmerge: fixed an endless loop in certain circumstances when splitting by `parts` or `parts-frames` and the start of the file is discarded. Fixes
- MKVToolNix GUI: multiplexer tool: the “show command line” dialog will no longer include the mkvmerge executable’s location as the first argument for the two “MKVToolNix option files” escape modes. Fixes.
- 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”. See for context.
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. Fixes.
- bug fix: the environment variable USER_CXXFLAGS was accidentally removed from the compiler flags in release 9.8.0. It’s been re-added. Fixes.
- 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. Fixes.
- Qt’s multimedia component is required for compilation of the GUIs since version 11.