编码器入门:H.264 vs H.265 vs AV1,编码器选择对画质的影响
做推流这么多年,我经常被问到同一个问题:到底该选哪个编码器?
说实话,这个问题没有标准答案。但如果你搞懂了三个主流编码器的脾气秉性,选起来就简单多了。今天我就把 H.264、H.265 和 AV1 掰开揉碎了讲给你听。
先看一张全景图
下面这张图是我自己整理的编码器选型决策树。你跟着它走一遍,基本就知道该选谁了。
H.264:老将出马,一个顶俩
H.264 发布于 2003 年,到现在快二十年了。你可能会想:这么老的技术,是不是该淘汰了?
恰恰相反。它至今仍是直播推流的绝对主力。为什么?因为它的兼容性太强了。从几千块的旗舰手机到几十块的机顶盒,没有解不了 H.264 的设备。
核心优势: 硬件编码器遍地都是,软解也不费劲。你随便找个浏览器,不用装任何插件就能播 H.264 的视频。
我记得有一次给一个教育平台做推流方案,客户要求必须支持五年前的旧设备。那还用想吗?直接上 H.264。后来上线后果然稳如老狗,连那种几百块的电视盒子都没出过问题。
但 H.264 也有短板。它的压缩效率在今天看来确实有点跟不上。同样画质下,它比 H.265 要多用 30% 到 50% 的码率。说白了,就是费带宽。
H.264 的常用 Profile
| Profile | 适用场景 | 特点 |
|---|---|---|
| Baseline | 低端设备、视频通话 | 不支持 B 帧,延迟最低 |
| Main | 标清直播、监控 | 支持 B 帧,画质均衡 |
| High | 高清推流、蓝光 | 支持 8x8 变换,压缩率最高 |
我的建议: 做直播推流,直接用 High Profile。别担心兼容性,现在连手机硬件编码器都支持 High Profile 了。
H.265:省码率,但别踩专利的坑
H.265 也叫 HEVC,2013 年出来的。它的核心卖点就一个:省码率。
同样的 1080p 画面,H.264 要 6 Mbps 才能看,H.265 用 3 Mbps 就能做到差不多的效果。这对推流来说太香了——带宽成本直接砍半。
但 H.265 有个大麻烦:专利授权。这东西背后牵涉一大堆专利池,MPEG LA、HEVC Advance 等等。你如果做商业产品,得小心被收专利费。
避坑指南: 我曾经有个项目,前期测试 H.265 效果特别好,结果上线前法务说专利授权没谈好,最后全改成 H.264 重新压了一遍。那叫一个折腾。所以做商业项目前,一定先搞清楚授权问题。
另外,H.265 的硬件编码器普及度不如 H.264。虽然新手机基本都支持了,但老设备、低端设备上还是经常找不到硬件编码器。软编码的话,CPU 消耗比 H.264 高不少。
什么时候用 H.265?
- 带宽有限: 比如移动端推流,用户可能用 4G/5G,码率不能太高
- 点播场景: 视频提前压好,用户端用硬件解码,体验很好
- 内部系统: 不涉及对外分发,不用担心专利问题
AV1:未来的王者,现在的挑战者
AV1 是 2018 年由开放媒体联盟(AOM)推出的。它是完全开源、免费的编码器,没有任何专利授权费用。
压缩率方面,AV1 比 H.265 还要再省 20% 到 30% 的码率。你想想看,同样的 4K 视频,H.265 要 15 Mbps,AV1 可能 10 Mbps 就够了。
但 AV1 的代价也很明显:编码速度慢得离谱。我做过测试,同样的视频用 x264 编码只要 10 分钟,用 AV1 的参考编码器 rav1e 可能要压一个小时。这还只是软件编码,硬件编码器目前只有少数几家在做。
现状: 2024 年,Intel Arc 显卡、NVIDIA RTX 40 系列、Apple M3 芯片开始支持 AV1 硬件编码。但普及度还远不如 H.264 和 H.265。
我个人觉得,AV1 是未来的方向。如果你做的是面向未来的产品,比如新平台的直播工具、视频编辑软件,现在开始支持 AV1 绝对是个明智的选择。但如果你今天就要上线,用户群体又杂,那还是老老实实用 H.264 吧。
三款编码器横向对比
| 维度 | H.264 | H.265 | AV1 |
|---|---|---|---|
| 发布年份 | 2003 | 2013 | 2018 |
| 压缩率 | 基准 | 高 30%-50% | 高 50%-70% |
| 编码速度 | 极快 | 中等 | 慢 |
| 硬件支持 | 几乎全覆盖 | 较广 | 有限 |
| 专利费用 | 有 | 有(复杂) | 无(开源) |
| 推荐场景 | 直播、多平台分发 | 点播、带宽敏感 | 前沿项目、存档 |
怎么选?我给你三个原则
- 兼容性优先选 H.264: 如果你的用户覆盖各种设备,别犹豫,H.264 最稳。
- 带宽有限选 H.265: 移动端推流、海外分发(带宽贵),H.265 能省不少钱。
- 追求极致选 AV1: 做实验项目、存档视频、或者你的用户都是新设备,上 AV1 没错。
一个小技巧: 我习惯做多码率自适应推流。同一个源,同时压 H.264 和 H.265 两个版本。客户端根据设备能力自动选。这样既保证了兼容性,又让好设备享受到更好的画质。