Skip to content
Back to Blog
informational

MKV 文件是什么?Matroska 视频格式详解

2026-05-17 8 min read

MKV 是容器,不是编解码器

我们先来澄清一个关于 MKV 文件的最大误解:它不像 MP4 或 AVI 那样是一种视频格式。MKV,全称 Matroska Video,是一种容器。你可以把它想象成一个数字化的集装箱,或者一个 ZIP 压缩包,能将视频流、多条音轨、字幕、章节标记和元数据全部打包在一起。这个容器里的视频可以是 H.264、H.265 (HEVC)、AV1 或 VP9 编码的。音频则可能是 AAC、Dolby Digital、DTS,甚至是无损的 FLAC。MKV 本身并不关心里面装的是什么。 Matroska 项目于 2002 年启动,旨在创建一个开放标准、免版税的容器格式,以替代微软 (AVI) 和苹果 (MOV) 的专有容器。它的名字来源于俄罗斯套娃 (matryoshka)——用一个文件包裹多个数据流,这个比喻再恰当不过了。该规范由 Matroska.org 社区进行维护。 理解这个区别至关重要。如果你有一个 4K 蓝光原盘压制的 MKV 文件在智能电视上无法播放,问题几乎从来不出在 MKV 容器本身。现代设备处理这种容器毫无压力。真正的“元凶”通常是视频编解码器(比如对性能要求很高的 H.265 或 AV1)或你的电视硬件无法解码的高级音频编解码器(比如 DTS-HD)。知道了这一点,你就能避免在只需要转换一下音轨时,却白费力气去重编码整个文件。

MKV 能容纳哪些 MP4 不支持的内容

虽然 MP4 的通用兼容性更好,但 MKV 的技术优势使其成为家庭影院和媒体存档领域当之无愧的王者。 多音轨是其杀手级功能。一个 MKV 文件可以同时包含一条完整的英语 7.1 DTS-HD Master Audio 音轨、一条西班牙语 5.1 Dolby Digital 音轨,以及一条立体声的 AAC 评论音轨。当你在 VLC 或 Kodi 中播放时,只需在音频菜单里轻松切换即可,无需重新编码。虽然 MP4 理论上也支持多音轨,但在实际应用中,许多播放器和编辑工具会固执地忽略掉第一条以外的所有音轨。 字幕是 MKV 的另一大优势。该格式原生支持从基本的 SubRip (.srt) 到粉丝圈常用的带复杂样式的 ASS/SSA 字幕,甚至是直接从蓝光光盘中抓取出来的原始 PGS 图形字幕。你可以内嵌十几种不同语言的字幕并随时开关。相比之下,MP4 的字幕支持就非常有限了,常常会弄乱 ASS 字幕的样式,并且很难处理 PGS 字幕。 除此之外,MKV 的章节标记是以纯文本形式存储的,使用像 MKVToolNix 这样的工具就能轻松编辑,无需重新渲染任何内容。该格式还支持附件功能,这对于嵌入复杂 ASS 字幕所依赖的自定义字体以确保正确显示至关重要。 MKV 的容错性也更强。任何经历过大型文件下载到 99% 时失败的人,都懂文件损坏的痛苦。由于其分段式的结构,一个部分下载的 MKV 文件通常可以播放到下载中断的地方。相比之下,一个损坏的 MP4 索引则可能导致整个文件都无法读取。

MKV 文件通常是如何创建的

你遇到的大多数 MKV 文件都不是从零开始编码的,而是被“封装 (muxed)”出来的。这意味着现有的视频、音频和字幕流被合并到容器中,而没有经过重新编码。封装是一个无损且几乎瞬时完成的过程,而重新编码则非常耗时,并且总会牺牲一些画质。 完成这项工作的核心工具是 MKVToolNix,这是一套适用于 Windows、macOS 和 Linux 的免费开源工具集。它的图形界面允许你拖入源文件——一个原始的 H.265 视频、一个 DTS 音频文件、一个 SRT 字幕文件——然后排列轨道,点击“开始混流 (Start Multiplexing)”即可。输出的 MKV 文件在几秒钟内就能准备好,无论文件有多大,因为没有任何内容被转码。 HandBrake,这款首选的开源转码器,也原生支持输出 MKV。当你使用 HandBrake 并选择 Matroska 作为容器时,你就能解锁其 MP4 输出无法优雅处理的功能。例如,HandBrake 可以将 DTS 音轨直接封装进 MKV,但如果目标是 MP4 容器,它就必须将其转换为 AAC 或 AC-3。 对于命令行用户来说,FFmpeg 让这一切变得简单。命令 `ffmpeg -i input.mp4 -c copy output.mkv` 通过复制所有流,在几秒钟内就能将一个 MP4 文件重封装为 MKV。一个更常见的任务,比如缩小文件体积,可能会使用 `ffmpeg -i input.mkv -c:v libx265 -crf 22 -c:a copy output.mkv`,这个命令只将视频重编码为 H.265,同时保持原始音质。 最后,像 MakeMKV(看名字就知道它的用途)这样的抓取软件,其设计目的就是从蓝光或 DVD 中提取所有内容——所有音轨、字幕和章节——并直接将它们放入一个单独的 MKV 文件中。

播放兼容性:MKV 在哪里行,在哪里不行

MKV 的播放支持已经取得了长足的进步,但在某些地方,兼容性仍然是个雷区。 在桌面上,你基本不用担心。VLC Media Player 堪称万能播放器,无论在 Windows、macOS 还是 Linux 上,你扔给它任何 MKV 文件它都能播放,并完美支持复杂字幕和音轨切换。Windows 11 自带的“电影和电视”应用自 2017 年起就支持 MKV,但在处理像 DTS-HD 这样的音频格式时仍然会“卡壳”。在 macOS 上,内置的 QuickTime Player 基本没用;你需要一个真正的媒体播放器,如 IINA、VLC 或 Infuse。 流媒体设备的情况则好坏参半。像 Kodi、Plex 和 Jellyfin 这样的媒体中心软件能很好地处理 MKV,尤其是在像 Nvidia Shield Pro 这样性能强大的硬件上,它几乎能对所有格式进行硬件解码。Roku 支持 MKV 容器,但仅限于 H.264 视频和少数几种音频编解码器;DTS 和 TrueHD 都不支持。Apple TV 4K 在安装了 Infuse 应用后会变成一个播放猛兽,但其原生播放器的支持则要有限得多。 想让智能电视自带的媒体播放器流畅播放 MKV?别费劲了。这是一场注定会输的战斗。虽然现代的三星和 LG 电视能播放带有 H.264/H.265 视频和基本音频的 MKV 文件,但它们几乎全都拒绝 DTS 音频。如果你看到“格式不支持”的错误,头号嫌疑犯就是音频编解码器。 游戏主机也不是什么好选择。PlayStation 5 和 Xbox Series X 的媒体播放器虽然支持部分 MKV,但编解码器的兼容性非常窄,字幕渲染功能也只是个添头。如果你需要一个文件能在游戏机上可靠地播放,就把它转换成标准的、带有 H.264 视频和 AAC 音频的 MP4 吧。

转换 MKV 文件:CocoConvert 能做什么和不能做什么

CocoConvert 的诞生就是为了解决最常见的 MKV 问题:你有一个 MKV 文件,但它在你的设备上无法播放。我们的工具可以处理将 MKV 转换为 MP4、WebM、MOV 或 AVI;将音频提取为 MP3 或 AAC;以及将其他视频格式制作为 MKV。对大多数人来说,这正是让视频在手机、电视或社交媒体网站上正常播放所需要的全部功能。 当你上传一个 MKV 文件到 CocoConvert 并选择 MP4 作为输出格式时,我们会将视频重新编码为 H.264,音频重新编码为 AAC。这将创建一个兼容性最广的文件。转换过程需要几分钟,具体取决于文件大小,并且无需注册账户即可转换最大 2 GB 的文件。 不过,也存在一些硬性限制。CocoConvert 的网页转换器不支持多音轨或多字幕轨道。输出的文件将只包含源 MKV 文件中的主音轨,任何内嵌字幕都将被丢弃。你无法通过网页界面对文件进行重封装(remux,即在不重新编码的情况下更换容器);每次转换都涉及转码 (transcoding),这意味着微小的画质损失是不可避免的。 如果你需要管理多条音轨、保留字幕或进行无损重封装,你就需要一个桌面工具。对于任何严肃的 MKV 处理工作,特别是处理大文件或有复杂存档需求时,MKVToolNix、HandBrake 或 FFmpeg 才是正确的选择。CocoConvert 的设计初衷是为了在您只想让文件能播放时,提供速度和便利。

MKV vs. MP4:如何选择正确的容器

关于 MKV 和 MP4 的争论,重点不在于哪个格式更好,而在于为不同的任务选择合适的工具。 用于存档和个人媒体库时,请使用 MKV。当你想要保留所有内容时——多种语言轨道、像 FLAC 或 TrueHD 这样的无损音频、原始的蓝光字幕和章节标记——MKV 是唯一的选择。一个在优秀媒体播放器上运行 Plex 或 Kodi 的家庭影院系统将能完美处理 MKV,这种灵活性是值得的。此外,MKV 是一个开放、免版税的标准,这意味着它不受任何一家可以随时改变规则的公司控制。 需要兼容性时,请使用 MP4。当你需要给朋友发视频、上传到社交媒体,或在随便一台电视上播放时,MP4 是最稳妥的选择。一个包含 H.264 视频和 AAC 音频的文件,就是数字视频世界的“通用语言”,几乎可以在过去十五年制造的任何设备上播放。 对于包含完全相同的音视频流的 MKV 和 MP4 文件,它们的文件大小差异几乎为零——不到 1%。所以不要让文件大小来决定你的选择。真正决定文件大小的是编解码器(如 H.265 或 AV1)的选择,而不是包裹它们的容器。 这里有一个实用技巧:如果你有一个包含 H.264 视频和 AAC 音频的 MKV 文件,你可以在几秒钟内将它变成一个通用兼容的 MP4。使用 FFmpeg 并运行命令 `ffmpeg -i input.mkv -c copy output.mp4`。这个过程被称为重封装 (remuxing),它是无损且速度极快的,因为它只是将现有的数据流重新包装到一个新的容器里。

MKV 的未来与 WebM 的渊源

MKV 的影响力远不止于那些以 .mkv 结尾的文件。用于在 YouTube 和整个网络上进行开放视频传输的 WebM 格式,其实是 Matroska 规范的一个直接子集。一个 WebM 文件本质上就是一个特化的 MKV,只是被限制为使用 VP8/VP9/AV1 视频和 Vorbis/Opus 音频,并采用相同的底层 EBML 结构。事实上,你常常可以直接把 .webm 文件的扩展名改成 .mkv,然后它就能在兼容 Matroska 的播放器里完美播放。 Matroska 项目还定义了用于纯音频文件的 MKA 和用于字幕的 MKS,不过除非你深入研究特定的媒体工作流程,否则很少会在实际中见到它们。 展望未来,AV1 编解码器是高效视频压缩的未来,它比 H.265 提供了大约 30% 的压缩率提升。随着 AV1 的硬件解码在新的 CPU、GPU 和手机中成为标配,MKV 已经成为其本地播放的主要容器。这是一个熟悉的模式;早在 H.265 硬件支持普及之前的几年,MKV 就已经是 H.265 内容的首选容器了。 MKV 的地位无可动摇。在超过 15 年的时间里,它一直是高质量本地视频存储的中流砥柱。其规范得到积极维护,其开放的特性确保了它不会因为某家公司的商业决策而被扼杀。如果你认真对待管理本地视频库这件事,那么理解 MKV 是什么——以及它能做什么——是必不可少的。