返回博客

视频容器与编解码器:MP4、MKV、H.264、H.265、AV1 详解

容器是盒子,编解码器是盒子里装的东西。通俗易懂地讲解 MP4、MKV、WebM、H.264、H.265、AV1、VP9,以及为何你的 .mp4 文件有时打不开。

By

你下载了一段视频,双击打开,得到一个错误:“无法播放此格式。“可是文件是 .mp4.mp4 不是该万能吗?你拿 QuickTime 试——没反应。用浏览器试——黑屏带声音。最后丢给 VLC,它终于能播了。哪里出了问题?

简短的答案是文件扩展名骗了你。.mp4 没告诉你文件里装的是什么,只告诉你内容是怎么打包的。你的播放器解不了的不是包装——而是里面那段以某种你的播放器不认识的算法编码的压缩视频流。一旦你理解了这一个区别,大量神秘的视频行为——编解码器错误、“有声无画”的故障、在手机上能播但在电视上不能的文件——会变成同一个问题穿着不同的衣服。

容器是盒子,编解码器是里面的东西,绝大多数播放问题都是把这两件事弄混的结果。

本指南将走完容器干什么、编解码器干什么、2026 年哪些组合常见、为什么”另存为 MP4”并不总意味着”另存为大家都能播放的东西”,以及如何诊断一段拒绝打开的视频。

核心要点 {#key-takeaways}

  • 容器是把多条轨道打包到一起的文件格式——视频、音频、字幕、章节、元数据。常见容器:.mp4.mkv.webm.mov.ts.m4s
  • 编解码器是压缩真正音视频数据的算法。 常见视频编解码器:H.264(AVC)、H.265(HEVC)、AV1、VP9。常见音频编解码器:AAC、Opus、MP3、FLAC。
  • 文件扩展名告诉你容器,不告诉你编解码器。 一个 .mp4 文件可以装 H.264、H.265 或 AV1 视频——区别决定它能不能播。
  • H.264 在所有现代设备上都能播;H.265 大约把码率减半但需要 2017 年之后的硬件;AV1 再减一刀但需要 2022 年及以后的设备做硬件解。
  • H.264 与 H.265 收专利费;AV1 与 VP9 免版税——这正是 YouTube、订阅视频服务 与 Twitch 向 AV1 迁移的原因。
  • 重封装在不重编码的前提下换容器;换编解码器始终需要一次完整的重编码。
  • MP4 + H.264 视频 + AAC 音频仍是”到处都能播” 的最稳妥组合,适合你想随地播放的文件。

简明解释

设想你要寄一个包裹。硬纸盒是容器:有形状、有标签,对内容如何摆放有规定。盒子里真正装的——一本书、一部手机、一个用泡沫纸裹着的花瓶——是内容。两个外观完全一样的纸盒可以装完全不同的东西,盒子本身决定不了你能否用里面的东西;那取决于你会不会读这本书的语言、能不能给这部手机充电。

视频文件同理。容器——.mp4.mkv.webm.mov.ts.m4s——是打包格式。它规定文件在磁盘上的布局:视频轨在哪、音频轨在哪、字幕数据在哪、跳转索引在哪、元数据在哪。编解码器——H.264、H.265、AV1、VP9、AAC、Opus——是视频和音频轨道里真正的压缩字节如何编码的方式。容器是盒子;编解码器是里面内容使用的语言。

这种拆分存在的原因是两个不同的工程问题。把一个多轨道文件打包好,让播放器能瞬时跳到第 17 分钟、在英语和日语之间切换音轨、叠加字幕,是一个问题。把 4K 视频压缩到每秒几兆比特而不糊成一团,是另一个问题。容器解决前者;编解码器解决后者;它们各按自己的节奏演化。

接下来是尴尬的部分。一个 .mp4 文件可以装 H.264 视频加 AAC 音频——在任何浏览器、手机或媒体播放器上都能播。同一个 .mp4 扩展名也可以装 AV1 视频加 Opus 音频,这种文件在旧版浏览器、较早的平板或客厅播放设备上可能拒绝播放。同样的扩展名。同样的容器规范。完全不同的可播放性。容器没告诉你文件能不能播;编解码器告诉了你一切。

一旦内化了这一点,本文剩下的部分就是把哪些编解码器常见、哪些设备支持哪些、文件落入错误组合时该怎么办填进去。

容器与编解码器究竟如何运作

每个视频文件至少有两层:把轨道布置在磁盘上的容器,以及决定每条轨道里数据如何压缩的一个或多个编解码器。 两层都得被你的播放软件理解,文件才能播。

容器细看

容器存放多条轨道——通常一条视频轨、一条或多条音频轨,外加可选的字幕、章节标记、附件(字体、封面)和元数据。它通常还包含一个索引或时间码表,告诉播放器哪个字节偏移对应哪个时间戳,让跳转能直接跳到第 17 分钟而不必从头解码。

2026 年常见的容器:

  • MP4 —— ISO Base Media File Format(ISO/IEC 14496-14)。 迄今最通用的容器。流媒体服务、浏览器、手机相机和现代 HLS(CMAF 内的 fMP4 分片)都在用。源自 Apple 的 QuickTime MOV。如果你要文件到处都能播,就选 MP4。
  • MKV —— Matroska。 开放、免版税、极其灵活。支持任意编解码器组合、无限轨道、章节菜单、内嵌字体、多种字幕格式。在桌面视频、动漫字幕组和光盘压制里很流行。浏览器与智能电视支持不够普遍。
  • WebM。 Google 为 Web 优化的 MP4 替代品。几乎总是承载 VP9 或 AV1 视频加 Opus 音频。Chrome、Firefox、Edge 支持;Safari 支持来得较晚。
  • MOV —— QuickTime File Format。 Apple 的容器,技术上是 MP4 的”父亲”——两者大部分内部结构相同。iPhone 和 Apple 编辑工具的常见输出。
  • MPEG-TS(.ts)。 为广播卫星和有线电视而设计——丢包是日常。被旧式 HLS 分片和一些 IPTV 服务使用。鲁棒但与 fMP4 相比效率不高。
  • Fragmented MP4(.m4s)。 MP4 的一种变体,被切成小且独立的片段。被 MPEG-DASH、现代 HLS 和 Common Media Application Format(CMAF) 使用,从而让一组文件可同时服务两种协议。一个 HLS .m4s 分片里就是这个东西——同样的 MP4 盒子结构,只是被切成了小块。

视频编解码器细看

每一代编解码器都在压缩效率与编解码 CPU 成本及许可复杂度之间做取舍。

  • H.264(AVC)—— Advanced Video Coding,ITU-T H.264 / ISO/IEC 14496-10。 2003 年标准化,自约 2010 年起每部智能手机、GPU、智能电视和游戏主机都用硬件解。收专利费——由 MPEG LA 等专利池管理。仍是通用的最低公分母:MP4 容器中的 H.264 文件到处都能播。多数视频会议、监控录像和消费级摄像头仍在用它。
  • H.265(HEVC)—— High Efficiency Video Coding,ITU-T H.265 / ISO/IEC 23008-2。 2013 年标准化。在同等画质下比 H.264 高约 50% 的压缩效率,这是能不能交付 4K 的分水岭。2017 年及以后的设备硬件解广泛。难点在许可:HEVC 专利分散在 MPEG LA、HEVC Advance、Velos Media 以及若干个人持有者之间,版税局面相当混乱,以至于一些浏览器(典型是大多数平台上的 Firefox)只有在系统已经提供硬件解码时才启用 H.265。订阅视频服务、订阅视频服务 4K HDR 以及面向有能力客户端的现代 HLS/DASH 码流在用它。
  • AV1 —— AOMedia Video 1。 2018 年由开放媒体联盟(Google、订阅视频服务、主流电商平台、Apple、Microsoft、Mozilla)标准化,目的就是逃离 HEVC 的版税泥潭。免版税。比 H.265 高约 30% 的压缩效率。AV1 硬件解码 2022 年前后登陆旗舰手机和较新 GPU,如今已成新设备标配;编码仍很耗 CPU,所以实时 AV1 还很罕见。YouTube、订阅视频服务 和 Twitch 用它向有能力的客户端发送高分辨率码流。
  • VP9。 Google 的 AV1 前身,2013 年发布。免版税。压缩效率与 H.265 大致相当。AV1 全面铺开前 YouTube 大量使用,并仍作为能解 VP9 但不能解 AV1 的设备的兜底而存在。Apple 栈对它显著缺席——Safari 直到近期才加入 VP9 软件解码。

音频编解码器,简略说

音频通常比视频更少兼容性麻烦,但同样的拆分也适用。

  • AAC。 通用默认。与 MP4 中的 H.264 搭配以求最大兼容性。
  • MP3。 遗产但仍无处不在,尤其在音乐文件里。
  • Opus。 现代、开放、免版税,在语音和音乐码率下都很高效。WebM 默认,Discord、WhatsApp 和多数 VoIP 在用。
  • FLAC。 无损。用于音乐存档,不用于视频原声。
  • Dolby AC-3 与 E-AC-3(Dolby Digital、Dolby Digital Plus)。 广播和 5.1/Atmos 流媒体环绕声中常见。

为什么 .mp4 不总意味着 H.264

这是让多数人栽跟头的陷阱。MP4 只是外壳。一个 AV1-in-MP4 文件完全合法,但在 Safari 16、老款客厅播放设备或任何缺 AV1 硬件解的电视上都不能播。同理,H.265-in-MP4 在老设备上、VP9-in-MKV 在 Apple 设备上、Opus-in-MP4 在多数消费硬件上都一样。当一段视频”放不了”时,第一个问题永远不是”扩展名是什么”——而是”编解码器是什么”。

容器与编解码器在 HLS 和 DASH 中如何相遇

流媒体协议建立在这一切之上。旧式 HLS 发布的是承载 H.264 + AAC 的 MPEG-TS 分片。现代 HLS 使用 CMAF 下的 fMP4 分片,按客户端承载 H.264、H.265 或 AV1。DASH 的 fMP4 分片 使用同一种容器格式,可承载播放器声明支持的任意编解码器。ABR 梯度通常在各档位使用同一编解码器——中途换编解码器技术上可行但少见。

有访问限制的内容使用同样的容器与编解码器,只是播放和本地保存会受到平台条款、账号权限和权利人授权限制。

一旦你开始从网上保存码流,这张矩阵在实践中就重要起来——这正是为何像 VidMost 这样的工具会把输出规范化为已知良好的组合,而不是保留源端碰巧使用的奇异编解码器。

2026 年现实中的编解码器支持

编解码器支持在浏览器、设备和操作系统间是碎片化的,并且这张矩阵每年都在变。 以下是 2026 年大致情况的快照。

浏览器。 Chrome 和 Edge 可播 H.264、H.265(在系统具备硬件支持时)、AV1、VP9 与 VP8。Safari 17+ 可播 H.264、H.265 和 AV1,但其 AV1 支持要求设备具备 AV1 硬件解码——也就是 A17 Pro / M3 级别芯片或更新;没有软件兜底。Safari 历史上对 VP9 的支持缺失,最近有所改善。Firefox 全面支持 H.264、AV1、VP9 和 VP8,并且仅在系统提供硬件解的情况下支持 H.265——这在 Apple Silicon Mac 和较新的 Windows PC 上可用,但在多数 Linux 安装上不可。

移动设备和部分设备生态。 在 Apple 自研芯片上,AV1 硬件解码随 A17 Pro(iPhone 15 Pro 和 Pro Max)以及 M3 代 Mac 到来;更早的 iPhone、iPad 和 Mac 在 Safari 里完全没有 AV1。Android 旗舰从 2022 年起几乎都内置 AV1 硬件解码。2021 年之前的老款客厅播放设备和智能电视通常卡在 H.264 与 H.265。

流媒体服务按客户端选用。 订阅视频服务 向有能力的客户端(近期 iPhone、现代智能电视、当代主机)发送 AV1,并在老设备上沿 H.265 回落到 H.264。YouTube 也是如此,VP9 作为中间档兜底。Twitch 正在为更高分辨率直播推出 AV1,同时保持 H.264 作为通用基线。订阅视频服务 向 Apple 设备发送带 HDR 的 H.265,其他设备回落到 H.264。

硬解与软解。 硬解是让 4K 在手机上不爆电池就能播放的关键——SoC 内部一块专用硅块以一小部分 CPU 成本完成工作。对不受支持的编解码器,软解通常在 CPU 余量充足的桌面上能工作(VLC、mpv 和 ffplay 乐于在 2018 年的笔记本上软解 AV1),但在手机和嵌入式设备上要么失败、要么烧电。当一段视频在笔记本上能播但在手机上卡顿时,硬解不匹配是最常见的原因。

一个有用的心智模型:H.264 是无处不在的通用默认,H.265 是你能掌控设备清单时的稳妥升级,AV1 是今天可以发给近代硬件、但对 2022 之前的设备不能假定其支持的未来。

想要把视频保存下来意味着什么

这里”容器对编解码器”的拆分不再是学术问题。如果你曾爬过某个流媒体站点、合并过一文件夹 .ts 分片,或下载过一段视频却发现编辑器拒绝导入,问题几乎总是编解码器不匹配——而不是容器。

有三种痛点反复出现:

  • 流媒体分片不是友好格式。 成功抓到 HLS 或 DASH 流的零件后,你会留下一堆 MPEG-TS 文件或分片 MP4 块。消费级播放器对一文件夹的这种东西会消化不良;你需要按正确顺序串接并重新封装成一个 MP4 才能作为单文件播放。
  • 源编解码器不一定对编辑器友好。 如果源端给你的浏览器发送的是 AV1,你的视频编辑器可能不支持 AV1,或者因为依赖软解而在拖动播放头时卡顿。即便 H.265 在较老的编辑工具里也是参差不齐。一段在浏览器里好好的文件,落到要拿它干正事的人手里就成了废件。
  • 设备碎片化总在最糟的时候咬你。 你为平板下了一段 4K H.265 电影,同步给孩子的老 iPad,结果发现 iPad 缺少合适的 H.265 profile 支持。或者你保存了一段 YouTube AV1 码流,发现智能电视的 USB 播放器只会 H.264。

VidMost 的默认输出是 .mp4 加 H.264 视频加 AAC 音频——当今兼容性最广的组合,每部现代手机、电视、浏览器和编辑工具都用硬件解。希望最大压缩或保留源编解码器(4K HDR 流的 H.265、YouTube 的 AV1)的用户可以配置,但默认就是”到哪都能播”。VidMost 自动处理重封装:分片被重组、编解码器字符串与输出剖面被核对,需要重编码时它会作为明确选项呈现,而不是悄无声息地发生。

常见误区与误解

关于容器与编解码器有几个反复出现在论坛里的观念。值得澄清。

  • “MP4 是编解码器。” 不是,MP4 是容器——具体是 ISO Base Media File Format。里面的编解码器可能是 H.264、H.265、AV1 或其他几样东西。“以 MP4 格式”是事实,但不知道编解码器基本没用。
  • “MKV 比 MP4 好。” 它们是服务不同需求的不同容器,不是相互竞争的画质等级。MKV 更灵活——更多编解码器组合、更丰富的元数据。MP4 兼容性更广。存档或带多条字幕和音轨时挑 MKV;分享或流送时挑 MP4。
  • “AV1 总是比 H.264 好。” AV1 压缩效率高得多——这是真的。AV1 对你”更好”与否,取决于你播放所用的设备是否有硬件解码器。一段 4K AV1 文件在近期旗舰手机上美轮美奂,在 2019 年的廉价 Android 上根本放不了。H.264 总是能播。
  • “码率越高画质越好。” 仅在同一编解码器、同一内容下成立。同样 5 Mbps 的 H.265 通常比 5 Mbps 的 H.264 好看,因为 H.265 把每个比特榨得更狠。跨编解码器比码率毫无意义。
  • “改文件扩展名能解决播放问题。” 几乎从不。把 .mkv 重命名为 .mp4,文件内部的字节并不会变,多数播放器无论扩展名都读文件头来识别容器。改了名的文件失败得和原来一样彻底。
  • “VLC 什么都能播,所以编解码器不重要。” VLC 在桌面上软解几乎一切,这让它成为”文件下对了吗”的首选工具。但只要你需要编辑、分享,或在手机或电视上播放,编解码器兼容性就回来了。VLC 的宽容是 VLC 的属性,不是文件的属性。

结语

“容器对编解码器”的拆分是那种解释了大量视频怪事的细小区别。一旦你能在看一个文件时同时问”外壳是什么”和”里面是什么”,编解码器错误信息就不再神秘,而”在电脑上能播但在手机上不能”的情况也开始合情合理。

经验法则十五年没变:MP4 + H.264 + AAC 是最稳妥的”到处都能寄”组合。H.265 是已知目标设备较新时的升级。AV1 是为下个十年优化时的押注。如果你想跳过手工重封装那一步、直接把一段流媒体视频另存为人人都能播的东西,VidMost 默认输出 MP4 + H.264 + AAC 并替你处理细节。

相关阅读

  • 在线视频究竟是怎么播放的 —— 从编码器到屏幕的完整流水线。
  • 什么是 HLS 和 M3U8? —— HLS .ts.m4s 分片里装着什么、它如何被播放。
  • MPEG-DASH 与 HLS 对比 —— 每种协议各自胜出的场景,以及 DASH 的 fMP4 分片如何与现代 HLS 共用容器底层。
  • 画质为何会在播放中变化 —— ABR 如何运作,以及为何它通常在各档位保留同一编解码器。

常见问题

容器和编解码器有什么区别?
容器是把一切包起来的文件格式——视频轨、音频轨、字幕、章节标记、元数据。常见容器有 MP4、MKV、WebM、MOV 和 MPEG-TS。编解码器是压缩或解压容器内实际音视频数据的算法。常见视频编解码器有 H.264、H.265、AV1 和 VP9。可以把容器当作盒子,编解码器当作盒子里内容使用的语言。不同容器可以装相同编解码器,同一容器也可以装不同编解码器。
MP4 是编解码器还是容器?
MP4 是容器,不是编解码器。`.mp4` 扩展名指的是 ISO Base Media File Format(ISO/IEC 14496-14),一种源自 Apple QuickTime MOV 的打包格式。一个 MP4 文件可以装 H.264、H.265、AV1 甚至 MPEG-4 Part 2 视频,搭配 AAC、MP3、AC-3 或其他音频编解码器。当有人说“转成 MP4”,几乎都意味着“把 H.264 视频和 AAC 音频装进 MP4 容器”——这是兼容性最广的组合。
MP4 既然万能,为何我的 .mp4 还播不了?
因为 MP4 只是外壳。真正的问题是里面的视频用什么编解码器。装有 AV1 视频的 MP4 在老版本 Safari、较早的客厅播放设备,或缺乏 AV1 硬件解码的电视上都播不了——容器没问题,是编解码器不被支持。同样的问题也会出现在没有 HEVC 支持的设备上的 H.265。假定容器有问题之前,先用 MediaInfo 或 `ffprobe` 跑一下,看看里面真正用的是什么编解码器。
MP4 和 MKV 哪个更好?
没有绝对更好——它们服务于不同需求。MP4 是更通用的容器:浏览器、手机、智能电视和流媒体服务都原生支持。MKV(Matroska)更灵活:支持更多编解码器组合、无限的字幕和音轨、章节菜单,以及有序章节这类不寻常特性。分享或流送选 MP4。存档、压制或带多条字幕轨道时 MKV 更合适。同一编解码器在任一容器中的画质完全一致。
我该用 H.264、H.265 还是 AV1?
需要最大兼容性用 H.264——每台现代设备都用硬件解它。想在同等画质下把码率减半且目标设备在 2017 年之后,用 H.265(HEVC)。想要当今最高压缩效率、受众使用近期浏览器和 2022 年及以后的设备,用 AV1。AV1 编码仍比 H.264 慢得多,所以实时使用并不合适。对大多数希望文件到处都能播的用户来说,MP4 中的 H.264 仍是正确答案。
为什么有些电视设备能播 H.265 却不能播 VP9?
不同设备生态对编解码器的硬件支持不同:有些电视设备长期优先支持 H.264 和 H.265,而对 VP9 或 AV1 的支持较晚。YouTube 等平台会根据设备能力选择可播放的编码版本,所以同一视频在不同设备上可能拿到不同的编码格式。
可以不重编码改一段视频的编解码器吗?
不行。换编解码器始终需要解码现有视频帧并用新编解码器重编码,这要耗时并损失少量画质。你*可以*不重编码做的是换容器——这叫重封装。`ffmpeg -c copy` 这类工具能把同一套已编码的流从 MKV 移到 MP4,或把 MPEG-TS 分片合并成单个 MP4,而不触碰编解码器。重封装又快又无损;重编码又慢又有损。
AV1 是未来吗?
大概率是,但需要数年。AV1 比 H.265 在同等画质下大约高 30% 的压缩效率,而且免版税,对不愿支付 HEVC 授权费的流媒体服务很有吸引力。YouTube、订阅视频服务 和 Twitch 都已向有能力的设备发送 AV1。关键在硬件:AV1 硬件解码器在 2022 年及之后的手机、GPU 和智能电视上很常见,但更老的设备只能软解,会耗电并卡 4K。预计 AV1 将在十年末主导,而 H.264 还会再做十年通用兜底。