返回博客

MKV 转 MP4 不掉画质:重封装还是重编码?

MKV 和 MP4 只是容器,不是编码。大多数 MKV 几秒钟就能无损换壳成 MP4——本文讲清什么时候可以、什么时候不行,以及如何批量完成。

要点速览

  • MKV 和 MP4 都是容器——装视频、音频、字幕流的盒子。画质在流里,不在盒子里。
  • 如果流本来就能放进 MP4(H.264 或 HEVC 视频、AAC 音频),文件就可以重封装: 原样复制进新盒子,零画质损失,几秒钟完成。
  • 只有当某条流放不进 MP4 时,转换器才必须重编码,这也是唯一会改变画质的步骤。
  • VidFabs 的格式转换会在你点开始之前,逐个文件标明将采用哪一种模式——所以你永远不会 把一个只需换壳的文件白白重新压缩一遍。

MKV 与 MP4 的真正区别

两种格式都是外壳。Matroska(即 MKV 容器)的设计目标是几乎什么都能装:任意视频编码、任意数量的音轨、SRT 或 ASS 文本字幕、 章节、附件。MP4 对能装什么的限制要严格得多,这恰恰是它到处都能播的原因——手机、电视、浏览器、 剪辑软件都认,而 MKV 在桌面播放器之外的支持要零碎不少。

画面本身由编码格式(codec)决定:H.264、HEVC(H.265)、VP9、AV1。一个装着 H.264 的 MKV 和一个装着 VP9 的 MKV 都叫“MKV”,但当你要一个 MP4 时,它们的表现会截然不同。

所以“MKV 转 MP4 会掉画质吗”没有唯一答案。完全取决于里面装的是什么流,以及转换器是复制 它们还是重建它们。

重封装:无损的那条路

重封装(remux,即重新复用)把已经压缩好的数据流从一个容器里取出来,写进另一个容器, 中间不解码任何东西。用 FFmpeg 的话说就是流复制: 编码器根本不会被调用,所以输出的视频和音频与输入逐字节相同。

由此带来两个结果:

  1. 零画质损失。 没有东西可丢——不解码、不重新压缩。
  2. 非常快。 工作量只是重写容器头、重新交织数据包。一个 10 GB 的文件通常几秒钟就好, 瓶颈只在硬盘速度。

对于最常见的 MKV——H.264 视频配 AAC 音频,绝大多数相机、录屏软件和编码器的产物—— 重封装成 MP4 就是你需要的全部。

重编码:盒子装不下这条流的时候

有时某条流确实无法原样放进目标容器。这时转换器必须先解码,再用容器支持的编码重新 编码。第二次编码是有损压缩,就像把一张 JPEG 存两遍:在合理的质量设置下差别通常肉眼 不可见,但它不是无损的,而且要花实打实的 CPU 时间。

VidFabs 转换器的规则很简单:编码本就兼容目标容器,这一行就标为将重封装(快速); 不兼容——比如一条 VP9 流要转成 MP4——就标为将重编码,文件会被转码为 H.264/AAC (目标是 WEBM 时则为 VP9/Opus)。一切在运行之前就看得到,整批任务随时可以取消。

转换前还有几件事值得知道:

  • 字幕轨。 MKV 经常带 SRT 或 ASS 文本字幕。MP4 并不以同样的方式存储这些格式,所以 不要指望软字幕轨能原样跟过去。如果字幕重要,转换后用字幕烧录或嵌入工具 加回 MP4 里。
  • 多条音轨。 一部带多语言音轨的电影 MKV 是 Matroska 的常规用法;MP4 播放器对切换 音轨的支持则参差得多。
  • 重封装后播放有问题,几乎总是因为播放器缺少对应解码器(比如老设备不支持 HEVC), 而不是转换失败。这种情况下重编码成 H.264 才是解法。

在 VidFabs 里把 MKV 转成 MP4

转换器完全在你的电脑上运行,一批最多 20 个文件,逐个文件判断重封装还是重编码。

格式转换

  1. 打开工具箱 → 格式转换。
  2. 拖入 MKV 文件——一次最多 20 个——或点击添加文件。
  3. 把目标格式设为 MP4。每一行现在会显示该文件的时长、编码,以及将采用的模式: 将重封装(快速) 或 将重编码。
  4. 点击开始转换。每行实时显示进度和剩余时间;重封装的那几行几乎立刻就完成。
  5. 在完成的行上点打开文件夹,或到我的文件 → 剪辑成品里找结果。

MP4 输出带 faststart 标记,放到网页服务器上串流时可以立即开始播放。应用读不了的文件 会被单独标记,而不是让整批任务失败。

想看转换器的整体介绍——全部四种目标格式和典型用法——请读 批量把视频转成 MP4、MKV、WEBM、MOV。本文只讨论 MKV → MP4 这一个问题,以及它背后“重封装还是重编码”的决定。

快速判断表

你的 MKV 里装的是转成 MP4 时会发生什么画质
H.264 或 HEVC 视频 + AAC 音频重封装(流复制)完全一致
VP9 等 MP4 不兼容的编码重编码为 H.264/AAC有损,通常肉眼不可见
SRT / ASS 字幕轨不会原样保留之后再烧录或嵌入
多条音轨取决于播放器数据不变,但可能无法切换

拿不准的时候,让转换器告诉你:每一行上的模式,就是针对这个文件的答案。

同样的流复制思路也适用于音频:不重编码就能把视频里的 AAC 音轨取出来,见 批量从视频中提取音频。

获取 VidFabs

格式转换是 VidFabs(Windows 10 / 11,64 位)十二个免费工具箱工具之一。无需独立显卡, 不上传任何东西。完整参考见格式转换手册。

下载 Windows 版 VidFabs——macOS 版本即将推出。

常见问题

MKV 转 MP4 会损失画质吗?
重封装不会。只要 MKV 里的视频和音频编码是 MP4 支持的(通常是 H.264 或 HEVC 配 AAC),数据流会原封不动地复制进新容器,输出与原文件逐位一致。只有在转换器必须重编码时,画质才会变化。
为什么我的 MKV 转 MP4 这么快?
因为没有任何解码和编码发生。重封装只是围绕已有的数据流重写容器元数据,所以哪怕几 GB 的文件也几秒钟完成。真正的重编码则要按 CPU 压缩视频的速度来跑。
MKV 转 MP4 后字幕去哪了?
MKV 通常带 SRT 或 ASS 字幕轨,MP4 并不以同样的方式存储这些格式。如果 MP4 里需要字幕,转换后用专门的字幕工具把它烧进画面或嵌入即可。