MKVToolNix 是一个小工具集(mkvmerge、mkvinfo、mkvextract、mkvpropedit 和 mmg),它允许您以多种方式操作 Matroska(MKV)文件。您可以使用 MKVToolNix 创建、分割、编辑、混流(封装、打包)、分离(分解、解包)、合并、提取或检查 Matroska 文件。该程序还支持其它视频格式(AVI、MPEG、MP4、Ogg/OGM、RealVideo、MPEG1/2、h264/AVC、Dirac、VC1)包括一些视频编解码器(如 VP9 视频编解码器支持 – 从 IVF/Matroska/WebM 文件读取,提取到 IVF 文件)。音频格式(AAC、FLAC、MP2、MP3、(E)AC3、DTS/DTS-HD、Vorbis、RealAudio)和大多数字幕格式(SRT、PGS/SUP、VobSub、ASS、SSA 等)。
软件特点
MKVToolNix 是一个跨平台的应用程序,可工作在 Windows(32 和 64 位版本)、Mac OS X 和 Linux。完整的软件包包含用于合并和提取流、查看信息以及编辑标题和章节的单独命令行实用程序。它们都包含在一个 Windows 版本的图形界面中。
该工具可查看、追加和分割曲目、章节和标签,并可编辑范围广泛的数据。例如,当涉及到通用轨道选项时,您可以设置轨道名称、语言、默认和强制轨道标志、标签和时间码等。此外,您还可设置宽高比、FPS、延迟、立体影像模式、裁剪、提示、压缩模式和增强功能的自定义命令行参数。外部文件可作为附件嵌入到电影中。
创建和编辑电影章节
可创建章节并定义属性,如开始和结束时间、标志、段和段版本 UID、以及章节名称、语言和国家。可配置标签文件的全局设置、创建 WebM 兼容文件、分割模式、文件链接等。值得考虑的一个重要方面是 MKVToolnix 提供了对批处理作业的支持,这意味着当执行耗时任务时您可将工作站配置为无人值守。您可检查当前的命令行并将其复制到剪贴板或保存到文件中以便在将来的项目中使用,管理队列作业,添加命令行选项,从外部文件加载章节,编辑页眉以及将项目另存为 .mka、.mkv 或 .mk3d 格式的文件。
考虑到其广泛的配置参数,MKVToolnix 应该能满足大多数用户学习、创建、编辑和生成 MKV 文件的需求。
更新日志
# Version 82.0 "I'm The President" 2024-01-02
## New features and enhancements
* mkvmerge: Matroska reader: the "video alpha mode" track header property will
be copied to the output file if present. Part of the implementation of
#3643.
* mkvmerge: Matroska reader: the "video alpha mode" track header property will
be reported in JSON identification mode as the track property
`alpha_mode`. Part of the implementation of #3643.
* mkvmerge: Matroska reader: the file's timestamp scaling factor will be
reported in JSON identification mode as the container property
`timestamp_scale`.
* mkvmerge: MPEG transport stream reader: teletext subtitles intended for
hearing impaired people (type 0x05) are now marked as such via the
appropriate flag in the track headers.
* mkvmerge: file identification: the JSON identification output schema version
has been bumped to 19.
* mkvmerge: added a new hack `always_write_block_add_ids` that can be used as
a workaround for players that don't support the handling of missing "Block
Addition ID" sub-elements of "Block More" elements in block additions
properly. These are used for e.g. alpha channel data in VP9 with a "Block
Addition ID" value of 1, which is also its default value. Workaround for the
player issues listed in #3643.
* mkvinfo: added support for the "video alpha mode" track header element. Part
of the implementation of #3643.
* mkvpropedit, MKVToolNix GUI's header editor: added support for the "video
alpha mode" track header property. In `mkvpropedit` it's called
`alpha-mode`. Part of the implementation of #3643.
* MKVToolNix GUI: multiplexer: when adding files the GUI can automatically
enable the "hearing impaired" flag for audio and subtitle tracks if the file
name contains the word "cc" or "sdh" delimited by certain characters
(configurable). This feature is turned on by default. Implements #3648.
* MKVToolNix GUI: multiplexer: when scanning for Blu-ray playlists the GUI
will now ignore playlists that are likely meant for menus. Currently the GUI
considers this to be the case when a playlist contains the same item at
least five times. This behavior can be turned off in the
preferences. Implements #3658.
## Bug fixes
* mkvmerge: MPEG transport stream reader: fixed a crash introduced in v81 that
occurred when there was at least one PCM track that wasn't copied from the
transport stream file. Fixes #3645.
* mkvmerge: when reading data from Matroska files damaged in a specific way,
mkvmerge ended up trying to write various types of elements that aren't
allowed to be written (so-called `EbmlDummy` elements as well as elements
that don't have a value set) to the output file, which caused the underlying
`libebml` library to abort. These types of broken elements are now filtered
out.
## Build system changes
* Qt 5 is no longer supported. Qt 6 is now required for building
MKVToolNix. This implies that the options to `configure` revolving around
configuring Qt 5 or choosing between the two have been removed
(e.g. `--disable-qt6`).
* Qt 6 detection: if detection fails, error messages from `qmake` can now be
found in `config.log`. See #3649.
* Qt 6 detection: `configure` will only consider Qt 6.2.0 or newer, not 6.0.x
or 6.1.y anymore, due to the lack of support for the multimedia module.
* Qt 6 detection: `configure` will now fail to detect Qt 6 if the 'multimedia'
module is not found by `qmake` (e.g. due to development packages not being
installed). See #3649.
* The bundled `fmt` library was updated to v10.1.1.