编码器入门:H.264 vs H.265 vs AV1,编码器选择对画质的影响

做推流这么多年,我经常被问到同一个问题:到底该选哪个编码器?

说实话,这个问题没有标准答案。但如果你搞懂了三个主流编码器的脾气秉性,选起来就简单多了。今天我就把 H.264、H.265 和 AV1 掰开揉碎了讲给你听。

先看一张全景图

下面这张图是我自己整理的编码器选型决策树。你跟着它走一遍,基本就知道该选谁了。

编码器选型决策树 编码器选型决策 兼容性优先 画质/带宽优先 H.264 Baseline H.264 Main H.265/HEVC AV1 选型要点 • H.264:兼容性最好,几乎100%设备支持,适合多平台推流 • H.265:同等画质比H.264省30%-50%码率,但专利授权复杂 • AV1:开源免费,压缩率最高,但编码速度慢,硬件支持有限 • 选型铁律:兼容性不够用H.264,带宽不够用H.265,极致压缩上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%
编码速度 极快 中等 慢
硬件支持 几乎全覆盖 较广 有限
专利费用 有 有(复杂) 无(开源)
推荐场景 直播、多平台分发 点播、带宽敏感 前沿项目、存档

怎么选?我给你三个原则

  1. 兼容性优先选 H.264: 如果你的用户覆盖各种设备,别犹豫,H.264 最稳。
  2. 带宽有限选 H.265: 移动端推流、海外分发(带宽贵),H.265 能省不少钱。
  3. 追求极致选 AV1: 做实验项目、存档视频、或者你的用户都是新设备,上 AV1 没错。

一个小技巧: 我习惯做多码率自适应推流。同一个源,同时压 H.264 和 H.265 两个版本。客户端根据设备能力自动选。这样既保证了兼容性,又让好设备享受到更好的画质。