00

先看结论

  • Matroska 是一种基于 EBML 的多媒体容器,可在一个文件中容纳多条视频、音频和字幕流,实际播放仍取决于播放器对内部编码的支持。
  • 播放 MKV 可先尝试 RFC 9559 列出的兼容播放器 VLC。Windows 中通过文件的“打开方式”选择播放器;Mac 中通过 Finder 的“打开方式”选择。手机上先确认媒体应用支持 Matroska 及文件内部编码,再从应用或文件选择器打开。不同应用和设备的支持情况不同,请先查看应用支持的格式。需要处理轨道时,可考虑官方 FAQ 介绍的 MKVToolNix;MKS 是字幕容器,不应直接当作普通文本字幕。
  • Matroska 附件可包含任意数据,甚至可执行内容,也可能谎报媒体类型。不要因为附件来自 MKV 就运行它;读取器应核实内容符合预期后再使用。RFC 9559 还列出了章节编解码器执行非预期命令,以及恶意载荷导致拒绝服务的风险。中等风险评级反映这些可选内容和解析风险,并不表示所有文件都会执行命令。
01

Matroska 文件:MKV、MKA、MKS 怎么打开

Matroska 是容器,不是音视频编码格式。按官方扩展名约定,MKV 至少包含一条视频轨,MKA 用于音频文件,MKS 用于仅包含字幕的文件。每个 Matroska EBML 文档以 EBML Header 开始,随后是根元素 Segment。正式媒体类型为 video/matroska 和 audio/matroska;video/x-matroska 与 audio/x-matroska 是已弃用别名。参见 [RFC 9559](https://www.rfc-editor.org/rfc/rfc9559.html) 与 [Matroska 官方 FAQ](https://www.matroska.org/faq.html)。

先把原文件留着

MKV 转 MP4 想避免编码质量损失,可在目标容器接受所选流时使用 FFmpeg 流复制。流复制无需解码或重新编码,但目标容器不支持某条流时,转换可能失败;重新转码则通常有质量损失。只把 .mkv 改成 .mp4 不会转换容器。提取音轨或字幕也需要选择能容纳对应流的输出格式。参见 [FFmpeg 官方文档](https://ffmpeg.org/ffmpeg.html)。

02

怎么打开

播放 MKV 可先尝试 RFC 9559 列出的兼容播放器 VLC。Windows 中通过文件的“打开方式”选择播放器;Mac 中通过 Finder 的“打开方式”选择。手机上先确认媒体应用支持 Matroska 及文件内部编码,再从应用或文件选择器打开。不同应用和设备的支持情况不同,请先查看应用支持的格式。需要处理轨道时,可考虑官方 FAQ 介绍的 MKVToolNix;MKS 是字幕容器,不应直接当作普通文本字幕。

只想看看内容

播放 MKV 可先尝试 RFC 9559 列出的兼容播放器 VLC。Windows 中通过文件的“打开方式”选择播放器;Mac 中通过 Finder 的“打开方式”选择。手机上先确认媒体应用支持 Matroska 及文件内部编码,再从应用或文件选择器打开。不同应用和设备的支持情况不同,请先查看应用支持的格式。需要处理轨道时,可考虑官方 FAQ 介绍的 MKVToolNix;MKS 是字幕容器,不应直接当作普通文本字幕。

要发给别人

MKV 转 MP4 想避免编码质量损失,可在目标容器接受所选流时使用 FFmpeg 流复制。流复制无需解码或重新编码,但目标容器不支持某条流时,转换可能失败;重新转码则通常有质量损失。只把 .mkv 改成 .mp4 不会转换容器。提取音轨或字幕也需要选择能容纳对应流的输出格式。参见 [FFmpeg 官方文档](https://ffmpeg.org/ffmpeg.html)。

03

文件安全

Matroska 附件可包含任意数据,甚至可执行内容,也可能谎报媒体类型。不要因为附件来自 MKV 就运行它;读取器应核实内容符合预期后再使用。RFC 9559 还列出了章节编解码器执行非预期命令,以及恶意载荷导致拒绝服务的风险。中等风险评级反映这些可选内容和解析风险,并不表示所有文件都会执行命令。

这几种情况先别打开

来路不明、文件名带两个后缀,或者内容和扩展名对不上——先停下来核对。

04

转换格式

MKV 转 MP4 想避免编码质量损失,可在目标容器接受所选流时使用 FFmpeg 流复制。流复制无需解码或重新编码,但目标容器不支持某条流时,转换可能失败;重新转码则通常有质量损失。只把 .mkv 改成 .mp4 不会转换容器。提取音轨或字幕也需要选择能容纳对应流的输出格式。参见 [FFmpeg 官方文档](https://ffmpeg.org/ffmpeg.html)。

转换之前

先复制一份原文件再转换,转完对照看看画质、元数据和排版有没有变。

05

常见问题

Matroska(MKV)是什么格式,用来做什么?

Matroska 是基于 EBML 的多媒体容器,用于组织视频、音频和字幕流。它不是某一种音视频编码,内部轨道可以采用不同编码。

MKV 文件怎么打开?

可使用 VLC 等 Matroska 兼容播放器打开。支持 MKV 容器不等于支持其中所有编码;不能播放时还需检查内部轨道。

Windows 怎么打开 MKV 文件?

通过文件的“打开方式”选择 VLC 等 Matroska 兼容播放器。如果打开后不能正常播放,检查播放器对内部视频、音频编码的支持。

Mac 怎么打开 MKV 文件?

在 Finder 中通过“打开方式”选择 VLC 等 Matroska 兼容播放器。MKV 扩展名只表示容器,不能保证内部编码与所选播放器兼容。

手机怎么打开 MKV 文件?

先查看媒体应用是否支持 Matroska 和文件内部编码,再从应用或文件选择器打开。不同应用和设备的支持情况不同,请先查看应用支持的格式。

MKV 播放没有声音怎么办?

先检查文件是否有音轨、当前选择了哪条音轨,以及播放器是否支持该音轨的编码。能读取 MKV 容器不代表能解码其中的音频。

Matroska 文件应该选 MKV、MKA 还是 MKS 扩展名?

按官方约定,含至少一条视频轨时用 MKV,音频文件用 MKA,仅包含字幕时用 MKS。选择依据是文件用途和轨道内容。

MKV 转 MP4 怎么保持画质?

目标 MP4 容器支持所选流时,可用 FFmpeg 流复制,避免重新编码造成的质量损失。不兼容的流可能使转换失败;如果必须重新转码,通常会损失质量。

MKV 文件附件安全吗?

不能仅凭 MKV 扩展名判断。附件可能包含可执行数据或谎报媒体类型;不要运行未知附件,读取器应先核实内容。文件能正常播放也不是安全证明。

MKA 音频用什么播放器?

可选择 VLC 等 Matroska 兼容播放器,并确认它支持音轨编码。MKA 表示音频容器,不代表某一种音频编码。

MKS 字幕文件怎么打开?

MKS 是仅包含字幕的 Matroska 容器,应使用能处理 Matroska 字幕轨的工具。官方 FAQ 介绍了用于创建和处理 Matroska 的 MKVToolNix;不要默认 MKS 是可直接编辑的纯文本。

MKV 怎么提取音轨和字幕?

可使用 MKVToolNix 等 Matroska 处理工具,或用 FFmpeg 选择需要的流。输出格式必须接受对应轨道;提取轨道不等于把它转换成另一种编码。

06

相关格式

资料来源

RFC 9559: Matroska Media Container Format Specification · IETF / RFC Editor

Matroska Frequently asked & answered questions · Matroska Development Team

FFmpeg Documentation · FFmpeg