4. 编码器选择:x264、x265、NVENC、QSV、AMF的优缺点对比与适用场景

编码器选型,说白了就是一场「质量、速度、成本」的三角博弈。我见过太多团队一上来就无脑上 x265,结果转码速度慢到影响上线,最后又灰溜溜换回 x264。也见过有人迷信硬件编码,结果交付的视频在客户大屏上全是马赛克。

这一章,我把主流的五个编码器——x264、x265、NVENC、QSV、AMF——掰开揉碎讲清楚。不聊虚的,直接上对比和实战经验。

核心观点:没有最好的编码器,只有最适合你场景的编码器。选型前先问自己三个问题——我的带宽够不够?我的观众设备强不强?我的转码预算有多少?
编码器选型决策树 你的转码场景? 离线批量(非实时) 实时直播/低延迟 追求极致质量 平衡质量与速度 x265 (slow/placebo) x264 (medium/slow) NVIDIA 显卡 Intel/AMD 平台 NVENC QSV / AMF 选型建议 • 离线点播库:x265(质量优先)或 x264(兼容性优先) • 直播推流:NVENC(N卡)> QSV(Intel核显)> AMF(A卡) • 短视频/快速转码:硬件编码器 + 二次压缩(先用硬件快速出片,再用软件压一遍关键帧) • 存档/母版:必须用 x265 或 x264 的 veryslow/placebo 预设

4.1 x264:老牌王者,稳如老狗

x264 是我个人最信赖的编码器,没有之一。从 2004 年到现在,快二十年了,它的成熟度无人能及。我在做视频平台转码系统时,底层核心用的就是 x264,线上跑了三年没出过编码层面的 bug。

优点:

  • 兼容性天花板——几乎所有播放器、浏览器、机顶盒都支持 H.264 硬解。你不用担心用户打不开。
  • 质量调教空间大——从 ultrafast 到 placebo,10 个预设等级,CRF 从 0 到 51,你想怎么调都行。
  • 生态成熟——文档、社区、工具链极其完善。遇到问题,Google 一下基本都有答案。

缺点:

  • 压缩效率瓶颈——同样画质下,码率比 x265 高 30%-50%。带宽成本摆在那。
  • 多线程扩展性一般——超过 16 核后,加速收益递减明显。
我的习惯:做 HLS 多码率输出时,我会用 x264 的 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 方案。
避坑:我曾经在项目里用 x265 的 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 卡,成本上去了。
我的用法:直播推流用 NVENC 的 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。
注意:QSV 在 Windows 下表现最好,Linux 下需要额外配置。我踩过坑——在 CentOS 7 上装 QSV 驱动,折腾了两天才搞定。建议直接用 Ubuntu 20.04+,驱动支持更完善。

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 实战选型建议

说了这么多,到底怎么选?我总结了几条实战经验:

  1. 点播平台主库——用 x265 slow 预设 + CRF 22。如果用户设备不支持 HEVC,再备一套 x264 medium + CRF 23 的 fallback 流。
  2. 直播推流——N 卡用户无脑上 NVENC,p6 预设 + llhq 调优。Intel 平台用 QSV,AMD 平台用 AMF。别在直播里用软件编码,延迟受不了。
  3. 短视频/快速转码——先用硬件编码器(NVENC/QSV/AMF)快速出片,保证时效性。如果对质量有要求,再用 x264 做一次二次压缩,只压关键帧。
  4. 存档/母版——必须用 x265 的 veryslow 或 placebo 预设。这是你最后的底片,质量第一,速度无所谓。
一句话总结:软件编码器(x264/x265)保质量,硬件编码器(NVENC/QSV/AMF)保速度。两者不是替代关系,而是互补关系。我现在的做法是「硬件打底,软件精修」——先用硬件快速压一遍,再用软件对关键片段做质量增强。