4. 编码器选择:x264、x265、NVENC、QSV、AMF的优缺点对比与适用场景
编码器选型,说白了就是一场「质量、速度、成本」的三角博弈。我见过太多团队一上来就无脑上 x265,结果转码速度慢到影响上线,最后又灰溜溜换回 x264。也见过有人迷信硬件编码,结果交付的视频在客户大屏上全是马赛克。
这一章,我把主流的五个编码器——x264、x265、NVENC、QSV、AMF——掰开揉碎讲清楚。不聊虚的,直接上对比和实战经验。
4.1 x264:老牌王者,稳如老狗
x264 是我个人最信赖的编码器,没有之一。从 2004 年到现在,快二十年了,它的成熟度无人能及。我在做视频平台转码系统时,底层核心用的就是 x264,线上跑了三年没出过编码层面的 bug。
优点:
- 兼容性天花板——几乎所有播放器、浏览器、机顶盒都支持 H.264 硬解。你不用担心用户打不开。
- 质量调教空间大——从 ultrafast 到 placebo,10 个预设等级,CRF 从 0 到 51,你想怎么调都行。
- 生态成熟——文档、社区、工具链极其完善。遇到问题,Google 一下基本都有答案。
缺点:
- 压缩效率瓶颈——同样画质下,码率比 x265 高 30%-50%。带宽成本摆在那。
- 多线程扩展性一般——超过 16 核后,加速收益递减明显。
medium 预设 + CRF 23 作为基准。如果客户带宽紧张,再降到 CRF 26。这个组合在质量和体积之间最平衡。
4.2 x265:压缩怪兽,但吃性能
x265 是 HEVC/H.265 的开源实现。它的压缩率确实香,但代价也大。我记得有一次帮客户做 4K 电影转码,同样的画质,x265 比 x264 省了将近一半的码率。但转码时间多了 4 倍。
优点:
- 压缩率碾压——同等质量下,码率比 x264 低 30%-50%。省带宽就是省钱。
- 支持 10bit 和 HDR——做高画质内容,x265 是绕不开的选择。
缺点:
- 速度慢——同样的预设等级,x265 比 x264 慢 3-5 倍。用
slow以上预设,4K 视频基本是 0.5x 实时。 - 兼容性不如 x264——老设备不支持 HEVC 硬解,你得准备 fallback 方案。
placebo 预设压了一批 4K 视频,结果每帧编码耗时超过 2 秒。一个 2 小时的电影,转了一周还没完。后来全部改成 slow 预设,速度提升了 10 倍,画质肉眼几乎看不出区别。所以,placebo 真的别乱用。
4.3 NVENC:NVIDIA 的硬件加速利器
NVENC 是 NVIDIA 显卡上的专用硬件编码单元。它的最大优势就是快——快到什么程度?我拿 RTX 4090 压 1080p 视频,能跑到 300fps 以上。直播场景下,延迟可以控制在 50ms 以内。
优点:
- 速度极快——硬件编码,不占 CPU,适合高并发转码和直播。
- 延迟低——端到端延迟可以做到 100ms 以内,适合互动直播。
- 多路并发强——一张卡可以同时处理几十路 1080p 流。
缺点:
- 质量不如软件编码——同等码率下,NVENC 的画质比 x264 差一截。低码率场景尤其明显。
- 调参空间小——就那么几个参数:preset、tuning_info、rc。你想精细控制?没门。
- 依赖显卡——服务器得插 N 卡,成本上去了。
p6 预设 + llhq 调优。如果是录播转码,我会先用 NVENC 快速压一遍,再用 x264 做二次压缩——这样既保证了速度,又提升了质量。
4.4 QSV:Intel 核显的意外之喜
QSV(Quick Sync Video)是 Intel 集成显卡里的硬件编码器。说实话,前几代 QSV 的质量确实拉胯,但从 Ice Lake 之后,QSV 的 HEVC 编码质量已经接近 x264 的 medium 预设了。如果你用的是 Intel 服务器,QSV 几乎是零成本的加速方案。
优点:
- 零额外成本——Intel CPU 自带,不用买独立显卡。
- 功耗低——编码时功耗只有几瓦,适合 7x24 小时运行的服务器。
- 质量进步明显——第 11 代以后的 QSV,HEVC 质量已经可用了。
缺点:
- 质量上限低——复杂场景(如快速运动、大量纹理)容易出块效应。
- 驱动依赖——Linux 下需要装 intel-media-driver,配置稍麻烦。
- 多路并发有限——毕竟只是核显,别指望它能同时压几十路 4K。
4.5 AMF:AMD 的追赶者
AMF(Advanced Media Framework)是 AMD 的硬件编码方案。说实话,前几年 AMF 的质量被 NVENC 甩开一大截。但 RX 6000 系列之后,AMF 的 H.264 和 HEVC 编码质量有了明显提升,已经能跟 NVENC 掰手腕了。
优点:
- AMD 显卡用户的首选——如果你用的是 RX 系列显卡,AMF 是唯一的选择。
- 质量在进步——最新的 AMF 编码器,H.264 质量已经接近 x264 的
fast预设。 - 支持 AV1——RX 7000 系列开始支持 AV1 硬件编码,这是未来趋势。
缺点:
- 生态不如 NVENC——文档少,社区小,遇到问题不好查。
- Linux 支持弱——AMF 在 Linux 下基本不可用,主要面向 Windows。
- 低码率质量仍不如 NVENC——在 2Mbps 以下的低码率场景,AMF 的块效应更明显。
4.6 横向对比:一张表说清楚
| 编码器 | 类型 | 质量(同码率) | 速度 | 延迟 | 适用场景 |
|---|---|---|---|---|---|
| x264 | 软件 | ★★★★☆ | ★★★☆☆ | 高 | 点播、存档、兼容性优先 |
| x265 | 软件 | ★★★★★ | ★★☆☆☆ | 高 | 4K/HDR/高压缩率场景 |
| NVENC | 硬件(NVIDIA) | ★★★☆☆ | ★★★★★ | 低 | 直播、高并发转码 |
| QSV | 硬件(Intel) | ★★★☆☆ | ★★★★☆ | 低 | 低成本服务器、轻量转码 |
| AMF | 硬件(AMD) | ★★★☆☆ | ★★★★☆ | 低 | AMD 平台直播、Windows 转码 |
4.7 实战选型建议
说了这么多,到底怎么选?我总结了几条实战经验:
- 点播平台主库——用 x265
slow预设 + CRF 22。如果用户设备不支持 HEVC,再备一套 x264medium+ CRF 23 的 fallback 流。 - 直播推流——N 卡用户无脑上 NVENC,
p6预设 +llhq调优。Intel 平台用 QSV,AMD 平台用 AMF。别在直播里用软件编码,延迟受不了。 - 短视频/快速转码——先用硬件编码器(NVENC/QSV/AMF)快速出片,保证时效性。如果对质量有要求,再用 x264 做一次二次压缩,只压关键帧。
- 存档/母版——必须用 x265 的
veryslow或placebo预设。这是你最后的底片,质量第一,速度无所谓。