MKVToolNix(又叫Matroska toolkit)，是一套功能强大的mkv(Matroska)格式制作和处理的工具，支持 MKVToolNix
将多种视频、音频、字幕等格式封装成mkv格式。MKVToolNix中包含了一个图形界面程序mmg.exe，这样使得制作mkv更简单和直观。还包含 MKVextractGUI.exe程序，可以提取 MKV 文件里面的音视频和字幕文件。
MKVToolNix 包含了以下几个 MKV 专用处理工具：
* mkvmerge：将多媒体文件封装、合并、混流为 MKV 文件；
* mkvinfo：输出 MKV 文件组件和编码信息；
* mkvextract：从 MKV 文件中提取视频、音频和字幕轨道；
* mkvpropedit：直接修改现有 MKV 文件的属性而无需重混流；
* mmg：mkvmerge GUI，并包含了章节编辑器和头部编辑器。
MKVToolNix 中的 Mkvmerge GUI 允许你导入多个视频、音频、字幕轨道，混流合并一个新的 MKV 文件，并可以设置导出视频的宽高比、显示比例、帧频等等。
MKVToolNix 中的 MKVExtractGUI 则可以从现有的 MKV 文件中提取其中的一个或多个视频、音频或者字幕信息，是专业的 MKV 分离工具。
MKVToolNix 是专用的 MKV 剪辑工具，提供了4种 MKV 切割模式，包括按尺寸、按时长、按特定时间码和按分段，都是无损剪辑、分割 MKV 过程，能够同步切割视频、音频和字幕轨道。
MKVToolNix news & changes
版本 25.0.0 “Prog Noir”
New features and enhancements
- mkvmerge: SRT/ASS/SSA text subtitles: for files for which no encoding has been specified, mkvmerge will try UTF-8 first before falling back to the system’s default encoding. Part of the implementation of #2246.
- mkvmerge: SRT/ASS/SSA/WebVTT text subtitles: a warning is now emitted if invalid 8-bit characters are encountered outside valid multi-byte UTF-8 sequences. Part of the implementation of #2246.
- mkvmerge: Matroska & MPEG transport stream readers: the encoding of text subtitles read from Matroska files can now be changed with the –sub-charset parameter.
- Linux: starting with release 25 an AppImage will be provided which should run on any Linux distribution released around the time of CentOS 7/Ubuntu 14.04 or later.
- macOS: translations: updated the build.sh script to build libiconv and a complete gettext. Together with an additional fix to how translation files are located, MKVToolNix can now use all interface languages on macOS, too. Fixes #2110, #2307, #2323.
- mkvmerge: AVC/h.264: fixed file identification failing for certain elementary streams due to internal buffers not being cleared properly. Fixes #2325.
- mkvmerge: HEVC/h.265: fixed file identification failing for certain elementary streams due to internal buffers not being cleared properly. This is the HEVC analog to what was fixed for AVC in #2325.
- mkvmerge: MLP code: fixed various issues preventing MLP from being parsed correctly. Fixes #2326.
- mkvmerge: TrueHD/MLP packetizer; dialog volume normalization removal isn’t attempted if the track is an MLP track as the operation is only supported for TrueHD, not MLP.
- mkvmerge: MPEG TS reader: when reading MPLS mkvmerge will now compare the MPLS’s start and end timestamps against the transport stream’s PTS instead of its DTS. Otherwise the first key frame of a video track might be dropped if it isn’t the first in presentation order. Fixes #2321.
- mkvmerge: JSON identification: mkvmerge will ensure that all strings passed to the JSON output modules are valid UTF-8 encoded strings by replacing invalid bytes with placeholder characters. This avoids the JSON library throwing an exception and mkvmerge aborting on such data. Fixes #2327.
- mkvmerge: audio packetizers: mkvmerge will now keep discard padding values if they’re present for packets read from Matroska files. Fixes #2296.
- mkvmerge: Ogg Opus reader: packet timestamps aren’t calculated by summing up the duration of all packets starting with timestamp 0 anymore. Instead the algorithm is based on the Ogg page’s granule position and which packet number is currently timestamped (special handling for the first and last packets in the stream).
- This fixes the first timestamp if the first Ogg packet’s granule position is larger than the number of samples in the first packet (= if the first sample’s timestamp is bigger than 0). mkvmerge will keep those offsets now and inserts “discard padding” only where it’s actually needed.
- It also improves handling of invalid files where the first Ogg packet’s granule position is smaller than the number of samples in the first packet (= the first sample’s timestamp is smaller than 0). mkvmerge will now shift all timestamps up to 0 in such a case instead of inserting “discard padding” elements all over the place.
- mkvmerge will no longer insert “discard padding” elements if the difference between a) the calculated number of samples in the packet according to the granule position and b) the actual number of samples as calculated from the bitstream is one sample or less and if the packet isn’t the last one in the stream. This circumvents certain rounding errors.
- The timestamp of the first packet after a gap in the middle of the stream is now calculated based on the Ogg page the packet belongs to, and not based on the timestamps before the gap.
- mkvmerge: complete rewrite of the progress handling. It’s now based upon the total size of all source files and the current position within them instead of the number of frames/blocks to be processed. This simplifies calculation when appending files and fixes rare cases of when progress report was obvious wrong (e.g. stuck at 0% right until the end). Fixes #2150 and #2330.
- MKVToolNix GUI: header editor: non-mandatory elements couldn’t be removed anymore due to a regression while fixing #2320. They can now be removed again. Fixes #2322.
在线阅读完整的 NEWS.md 文件
主菜单上方 – GUI – Preferences – Options – interface language – Chinese – ok！