MKVToolNix 超详细教程:从入门到精通
第一部分:基础入门
什么是 MKVToolNix?
MKVToolNix 是一个开源的软件集合,主要用于创建、修改、拆分和合并 Matroska (.mkv) 文件,MKV 是一种多媒体容器格式,可以像盒子一样封装视频、音频、字幕、章节等多种轨道,并且具有很好的兼容性和扩展性。

MKVToolNix 主要包含两个部分:
- MKVToolNix GUI:图形用户界面,通过点击按钮即可完成操作,适合初学者。
- mkvmerge:命令行工具,功能更强大,适合自动化和高级用户。
本教程将主要围绕 GUI 展开,并在最后介绍命令行的使用。
下载与安装
- 官网下载:访问 MKVToolNix 官网。
- 选择版本:
- Windows:下载
mkvtoolnix-64-bit或mkvtoolnix-32-bit的安装包(.exe),建议下载包含mgw的版本,它自带了所有必需的运行库。 - macOS:下载
.dmg文件,拖拽到Applications文件夹即可。 - Linux:通过包管理器安装是最简单的方式,
- Ubuntu/Debian:
sudo apt update && sudo apt install mkvtoolnix - Fedora/CentOS:
sudo dnf install mkvtoolnix - Arch Linux:
sudo pacman -S mkvtoolnix
- Ubuntu/Debian:
- Windows:下载
- 安装:Windows 用户只需双击安装包,按照提示点击“下一步”即可,Linux 用户通常无需额外操作。
界面概览
首次打开 MKVToolNix GUI,你会看到一个清晰的界面,主要分为几个区域:
- 左侧 - 源文件列表:用于添加你想要处理的文件(视频、音频、字幕等)。
- 中间 - 轨道信息:显示所有已添加文件的详细轨道信息,你可以在这里选择、修改、删除轨道。
- 右侧 - 全局选项:设置输出文件的全局属性,如标题、章节、附件等。
- 底部 - 输出文件设置:指定输出文件的名称和保存位置。
- 底部 - 日志:显示处理过程中的详细信息,如果出错,请务必查看这里。
第二部分:核心功能实战
合并视频和字幕(最常用)
这是最常见的用法,比如你下载了一个无字幕的 MP4 视频和一个 SRT 字幕文件,想将它们合并到一个 MKV 文件中。

步骤:
-
添加视频文件:
- 点击左侧源文件列表上方的 "添加..." 按钮。
- 选择你的视频文件(
movie.mp4),你会看到在“轨道信息”区域,自动加载了视频和音频轨道。
-
添加字幕文件:
- 再次点击 "添加..." 按钮。
- 选择你的字幕文件(
subtitle.srt)。“轨道信息”区域会增加一个字幕轨道。
-
选择轨道:
(图片来源网络,侵删)- 在“轨道信息”区域,你可以看到所有轨道,默认情况下,所有轨道都是被选中的(前面有勾 ✅)。
- 如果你想删除某个轨道(比如视频自带的一个你不喜欢的音频轨道),只需取消勾选即可。
-
设置输出文件:
- 在底部的“输出文件”区域,点击 "浏览..." 选择一个保存位置。
- 为你的输出文件命名,
movie_with_subs.mkv。注意:后缀名最好用.mkv。
-
开始 muxing:
- 点击界面右上角的 "开始 Muxing" 按钮("Muxing" 是“复用”的专业术语,指将不同轨道封装进容器)。
- 程序开始处理,底部的日志会显示进度,完成后会弹出提示。
恭喜! 你已经成功创建了一个包含视频、音频和字幕的 MKV 文件。
添加多音轨(多语言音频)
很多电影或动漫会提供多种语言音频(如日语原声、中文配音、英语配音),MKVToolNix 可以轻松实现多音轨切换。
步骤:
-
添加主视频文件:首先添加你的视频文件。
-
添加所有音频文件:依次添加你想要的所有音频文件(
japanese_audio.aac,chinese_audio.aac)。 -
管理轨道:
- 在“轨道信息”区域,你会看到多个音频轨道。
- 设置默认音轨:选中一个音频轨道,在下方的“轨道属性”中,勾选 "默认轨道",这样,播放器在打开文件时会自动选择这个音轨,你可以为每个语言轨道都设置一个默认轨道(不同播放器行为可能不同)。
- 语言设置:同样在“轨道属性”中,为每个音频轨道设置正确的 "语言" (Language),一个设置为
Japanese,另一个设置为Chinese,这能让播放器更好地识别和切换。
-
设置输出文件并开始 Muxing。
添加多字幕轨道
与多音轨类似,你也可以添加多种语言的字幕。
步骤:
-
添加视频和所有字幕文件(如
chinese_sub.srt,english_sub.ass)。 -
管理字幕轨道:
- 在“轨道信息”区域,选中一个字幕轨道。
- 在“轨道属性”中,设置 "语言" (Language),
Chinese和English。 - 设置默认字幕:同样可以勾选 "默认轨道",让播放器默认显示该字幕。
- 字幕强制:这是一个非常有用的选项,勾选 "强制显示" (Forced) 后,播放器只会在特定时间(如只有外星语时)显示这条字幕,否则隐藏,这对于“听译”和“全译”字幕同时存在时非常有用。
- 字幕样式:如果你的字幕是
.ass或.ssa格式,你还可以在这里设置字体、大小、颜色等样式。
-
设置输出文件并开始 Muxing。
拆分文件
如果你有一个很长的 MKV 文件,想按时间点或大小拆分成多个小文件。
步骤:
- 添加源文件:添加你想要拆分的大文件。
- 进入拆分模式:点击界面顶部菜单栏的 "分割..." (Split...)。
- 选择拆分模式:
- 按大小拆分:输入每个文件的大小,如
700MiB(适合刻录 DVD)。 - 按时间拆分:这是最常用的,输入具体的时间点,格式为
HH:MM:SS.nnn(小时:分钟:秒.毫秒),你可以添加多个时间点,程序会根据这些时间点进行多次拆分,输入01:30:00.000会把一个 2 小时的电影拆分成一个 1.5 小时的文件和一个 0.5 小时的文件。
- 按大小拆分:输入每个文件的大小,如
- 设置输出文件:和之前一样,选择保存位置和文件名,MKVToolNix 会自动在文件名后加上
-part1,-part2等后缀。 - 开始 Muxing。
提取轨道
MKVToolNix 也可以反过来,从一个 MKV 文件中提取出你需要的轨道。
步骤:
- 添加 MKV 文件。
- 选择要提取的轨道:在“轨道信息”区域,只保留你想要提取的轨道(比如只勾选一个字幕轨道),取消勾选其他所有轨道。
- 设置输出文件:
- 输出文件名:为提取的字幕命名为
subtitle_extracted.srt。 - 关键步骤:在底部的“全局选项”中,找到 "文件格式" (Container format),将其从
Matroska改为SRT / WebVTT / Text(对于字幕) 或Raw(对于视频/音频)。
- 输出文件名:为提取的字幕命名为
- 开始 Muxing,这样你得到的就不是 MKV 文件,而是单独的字幕 SRT 文件了。
第三部分:高级技巧与注意事项
全局选项详解
- 设置 MKV 文件的标题,有些播放器(如 Plex, Jellyfin)会显示这个标题。
- 章节:可以导入一个
.xml格式的章节文件,为你的电影添加章节标记。 - 附件:可以附加字体文件,如果你制作了需要特定字体的 ASS/SSA 字幕,可以把字体文件也打包进 MKV,这样在任何设备上都能正确显示字体。
- 全局标签:用于存储一些元数据信息,如编码信息、制作组等。
混合模式”
MKVToolNix 支持将不同格式、不同编码的轨道混合封装进一个 MKV 文件,你可以把一个 H.264 视频、一个 AAC 音频和一个 SRT 字幕封装在一起,这是 MKV 容器的一大优势。
性能优化
- 多线程处理:在“全局选项” -> "多线程处理" 中,你可以设置使用的 CPU 线程数,默认是
0,表示自动选择,如果你的 CPU 核心多,可以手动设置一个较高的值(如8或16)以加快处理速度。 - 内存:处理大文件时,确保系统有足够的可用内存。
重要提示:不要重新编码!
MKVToolNix 的核心作用是 封装,而不是 转码,它只是把现有的视频、音频、字幕数据“打包”进一个新的 MKV 盒子里,不会改变这些数据本身的质量和格式,这个过程速度很快,且画质无损。
如果你发现 MKVToolNix 处理某个文件非常慢,甚至卡住,很可能是该文件使用了非常规或损坏的编码,导致程序在尝试读取信息时遇到了困难。
第四部分:进阶 - 使用命令行 mkvmerge
对于需要批量处理或脚本自动化的用户,命令行是更强大的选择。
基本语法:
mkvmerge [选项] 输出文件名 输入文件1 [输入文件2 ...]
示例:
-
简单合并:
mkvmerge -o movie_final.mkv movie.mp4 subtitle.srt
这会将
movie.mp4和subtitle.srt合并成movie_final.mkv。 -
指定轨道:
# 只从 source1.mkv 中提取第 2 个轨道(通常是音频),从 source2.mkv 中提取第 3 个轨道(通常是字幕) mkvmerge -o output.mkv --audio-tracks 1 source1.mkv --subtitle-tracks 2 source2.mkv
-
设置语言和默认轨道:
mkvmerge -o output.mkv --language 0:jpn --track-name 0:"Japanese Audio" --default-track 0:1 video.mp4 audio1.aac
--language 0:jpn:设置第一个输入文件(video.mp4)的第一个轨道(索引 0)的语言为日语。--track-name:为轨道设置名称。--default-track 0:1:设置第一个输入文件的第二个轨道(索引 1)为默认轨道。
-
按时间拆分:
mkvmerge -o part1.mkv -o part2.mkv --split 01:30:00.00 long_movie.mkv
如何学习命令行?
最简单的方法是先用 GUI 操作一遍,然后点击 "命令行" 按钮,GUI 会自动生成对应操作的完整命令,你可以复制下来学习,或者保存为 .bat / .sh 脚本以便日后重复使用。
MKVToolNix 是每个影音爱好者必备的瑞士军刀,掌握它,你就能自由地定制自己的视频文件,无论是添加多语言音轨字幕、修复损坏的文件,还是进行批量处理,都能轻松应对。
希望这份教程对你有帮助!从最简单的合并开始,逐步尝试其他功能,很快你就能成为 MKVToolNix 的高手。
