2. 编解码基础
好,咱们直接进入正题。这一章我带大家快速过一遍市面上最常见的八种编解码器。说白了,就是帮你建立一个「武器库」的认知地图。你不需要立刻记住所有参数,但得知道每种编码器擅长什么、不擅长什么。
我个人习惯把编解码器分成两派:标准派(ITU-T / ISO 的 H.26x 系列)和开源派(Google 的 VPx 系列 + 联盟的 AV1)。这两派在技术路线上有交叉,但背后的商业逻辑完全不同。你想想看,选错了阵营,后面 License 审计可能让你吃不了兜着走。
核心观点:没有「最好」的编解码器,只有「最匹配场景」的编解码器。选型时,压缩率、复杂度、专利风险、生态成熟度,这四个维度一个都不能少。
2.1 八位选手的「身份证」
先给一张速查表。我每次做项目评估时,都会先拉这么一张表贴在墙上。嗯,这里要注意,发布年份和标准化组织决定了它的技术底子和专利池归属。
| 名称 | 发布年份 | 标准化组织 | 核心定位 | 我的评价 |
|---|---|---|---|---|
| MPEG-2 | 1995 | ISO/IEC | 标清广播、DVD | 老当益壮,但该退休了 |
| MPEG-4 Part 2 | 1999 | ISO/IEC | 早期互联网视频、DivX | 历史产物,现在基本不用 |
| H.264/AVC | 2003 | ITU-T / ISO | 全能冠军:直播、点播、会议 | 目前兼容性最好的编码器 |
| VP8 | 2008 | Google (开源) | WebRTC 早期、YouTube | H.264 的免费替代品,但质量差一截 |
| H.265/HEVC | 2013 | ITU-T / ISO | 4K UHD、HDR、高码率压缩 | 压缩率好,但专利费太乱 |
| VP9 | 2013 | Google (开源) | YouTube 主力、Chrome 生态 | HEVC 的免费对手,生态局限 |
| AV1 | 2018 | AOM (开放媒体联盟) | 流媒体、Web、下一代开源 | 压缩率顶级,编码慢到怀疑人生 |
| H.266/VVC | 2020 | ITU-T / ISO | 8K、沉浸式视频、未来广播 | 压缩率天花板,但硬件解码还没普及 |
一个小技巧:如果你在做一个面向全球用户的 App,且不想处理专利投诉,H.264 是底线。如果追求极致压缩且用户设备够新,可以上 AV1 或 H.266。但千万别在嵌入式设备上硬上 AV1 编码——我曾经见过一个项目,用软件 AV1 编码器跑 1080p 实时流,CPU 直接拉满到 95%,画面还卡成 PPT。
2.2 技术演进路线图
为什么这些编码器一个比一个复杂?说白了,就是用算力换带宽。从 MPEG-2 到 H.266,编码复杂度涨了大概 10 倍,但码率节省了 50% 以上。我画了一张图,帮你理清它们之间的血缘关系。
从图上你能看到两条清晰的脉络。标准派从 MPEG-2 一路迭代到 H.266,每一代都在块划分、运动补偿、变换编码上做更精细的切割。开源派则是 Google 为了绕开专利费,从 VP8 起步,到 VP9 基本追上 H.265 的水平,再到 AV1 直接对标 H.266。
2.3 关键性能对比:压缩率 vs 复杂度
这是选型时最纠结的地方。我直接给一组实测数据,场景是 1080p 24fps 视频,目标码率 2 Mbps,用 x264、x265、libvpx、libaom 等主流编码器测试。
| 编码器 | 相对码率节省 | 编码速度(相对 H.264) | 解码速度(相对 H.264) | 硬件解码普及度 |
|---|---|---|---|---|
| MPEG-2 | 基准(最差) | 2x 快 | 3x 快 | 极广(所有设备) |
| H.264 | 基准 | 1x | 1x | 极广(所有设备) |
| VP8 | ≈ H.264 | 0.8x | 0.9x | 较广(Chrome/Android) |
| H.265 | -35%~-50% | 0.3x~0.5x | 0.6x~0.8x | 较广(iPhone 6+ / 安卓旗舰) |
| VP9 | -30%~-45% | 0.2x~0.4x | 0.5x~0.7x | 较广(Chrome/Android) |
| AV1 | -45%~-60% | 0.01x~0.05x | 0.3x~0.5x | 中等(最新 GPU/SoC) |
| H.266 | -50%~-65% | 0.005x~0.02x | 0.2x~0.4x | 低(仅最新旗舰) |
避坑指南:我曾经在一个 OTT 项目中,为了省带宽全量转 AV1。结果用户反馈播放卡顿,一查日志,大量中低端手机没有硬件解码器,软件解码直接掉帧 30%。最后不得不做自适应码率 + 多编码器回退方案——H.264 保底,AV1 仅给高端设备。记住:压缩率省下的带宽费,可能还不够覆盖用户流失的损失。
2.4 专利与授权:绕不开的「地雷」
做商业产品,专利问题比技术问题更头疼。我简单梳理一下各家的专利状态:
- MPEG-2 / H.264:专利池成熟,但授权费透明。H.264 有专门的 MPEG LA 池子,终端设备按台收费,流媒体按订阅用户数收费。嗯,虽然贵,但至少明码标价。
- H.265:这是最乱的。三个专利池(MPEG LA、HEVC Advance、Velos Media)互相打架,还有一堆独立专利持有人。我见过一个客户,被三家专利池同时追缴授权费,最后算下来比 H.264 贵了 3 倍。
- VP8 / VP9:Google 承诺免费,但要注意——VP8 曾被 MPEG LA 起诉侵犯专利,后来 Google 花钱摆平了。理论上你用 VP9 是安全的,但法律上「免费」不等于「无风险」。
- AV1:AOM 成员之间交叉授权免费,非成员可能需要付费。如果你是中小公司,建议先确认自己是否在 AOM 的「保护伞」下。
- H.266:目前专利池还在组建中,但看 H.265 的教训,我建议至少等 2-3 年生态稳定了再碰。
我的建议:如果你做的是免费 App 或开源项目,优先考虑 VP9 或 AV1。如果是商业付费产品,H.264 是最稳妥的选择。H.265 只适合「大厂」——他们有法务团队去跟专利池谈判。
2.5 场景匹配速查
最后,我根据实际项目经验,给出一份场景匹配清单。你直接对着找就行:
- 直播(低延迟):H.264 首选,VP8 备选。别用 H.265 或 AV1,编码延迟受不了。
- 点播(VOD):H.264 保底 + AV1 或 H.265 给高端用户。YouTube 就是这么干的——VP9 给 Chrome,H.264 给 Safari。
- 视频会议:H.264 是绝对主力。WebRTC 默认支持 VP8 和 H.264,但 H.264 的硬件编码器在笔记本上更省电。
- 广播/电视:MPEG-2 还在用,但正在被 H.264 和 H.265 替代。8K 广播必须上 H.266。
- 监控/安防:H.264 和 H.265 平分天下。H.265 能省一半存储,但解码器成本高。
- 短视频/社交:H.264 是事实标准。别折腾,用户手机千奇百怪,兼容性第一。