✦工程

硬件视频编码器对比:NVENC vs AMF vs QuickSync vs Apple VideoToolbox。

四家厂商。四块固定功能的硅片。一项任务——在五毫秒内把一帧像素变成几千字节的 H.265 或 AV1,每秒六十次,一帧不丢。这里讲讲 NVIDIA、AMD、Intel 和 Apple 在低延迟串流上究竟如何比较,以及 Remio 如何在运行时挑选合适的那一个。

为什么硬件编码器对远程桌面很重要

在一个快速的 CPU 核心上,用 libx264 编码单帧 1080p。在现代的 Apple M 系列或 Ryzen 7000 上,ultrafast 预设大约能做到 8 到 12 毫秒,任何试图保住画质的设置则更久。这听起来还能忍受,直到你想起预算:60 FPS 下每帧 16.6 毫秒。再加上采集、封包、发送队列、网络出口、解码和渲染。CPU 编码不只是拖慢你——它会吃掉全部的延迟预算,而且在超过 1080p60 之后就会丢帧。

硬件编码器的解决办法,是把固定功能的硅片专门用于同一项工作。NVIDIA 把它的模块叫 NVENC。AMD 把它的叫 AMF(更准确地说,是 AMF 所驱动的 VCN 引擎)。Intel 把它的叫 QuickSync(其核显里的媒体引擎)。Apple 把它的叫 VideoToolbox(这是 API;硅片是 M 系列和 A 系列芯片上的媒体引擎)。四者存在的原因只有一个:软件编码无法达到现代屏幕、现代 GPU 和现代用户如今所期待的延迟和帧率目标。

具体到 Remio,编码器上每节省一毫秒,就是用户在发送队列、网络和渲染器那里多拿回的一毫秒。我们公布的延迟预算以局域网上约 8 ms 的处理为目标(其余部分是你显示器自身 60 Hz 的刷新节奏)——编码时间是其中最大的单一变量。编码器的选择,以及对该编码器的配置,决定了下游的一切。

四家厂商一览

在深入每一家之前,先弄清我们到底在比较什么,会有帮助。这些不是可以互换的库——它们是芯片上的物理模块,每一个都有自己的指令集、自己的驱动栈、自己的怪癖,以及自己的多年路线图。它们在支持哪些编解码器、产出什么画质、达到什么延迟、耗多少电,以及存在于哪些平台上,都各不相同。

NVENC——NVIDIA 八代的精益求精

NVENC 是大多数串流软件拿来做基准的编码器,一部分是因为 NVIDIA 有营销预算,一部分是因为这块硅片十年来确实一直非常出色。这个模块已经历了八代:

对于低延迟用途,NVENC 暴露了三种相关的码率控制模式。CBR 加上 low-latency 调校和 p1 预设(最快)是典型配置:输出码率确定、单帧前瞻、没有 B 帧。Remio 在 Windows 上运行 hevc_nvenc 时用的正是这一套。在 Ada Lovelace 上,1080p60 H.265 的编码时间始终是 1 到 3 ms。

一个历史遗留的坑:消费级 NVENC 多年来受 NVIDIA 驱动限制,只允许三个并发编码会话。该限制在 2023 年被放宽到八个,随后实际上被取消。如果你读到一个过时的论坛帖子在警告这件事,那个警告已经不再适用。

AMF——AMD 这个终于追上来的挑战者

AMD 的 AMF(Advanced Media Framework)是 API;底层引擎经历过两种截然不同的架构。较早的 VCE(Video Coding Engine)出现在 2012 年的 GCN 时代显卡上,是历次编码器正面比较中长期的弱项——在同等码率下,画质明显不如 NVENC,尤其是在运动密集的内容上。AMD 知道,串流社区知道,基准测试也证实了这一点。

这一状况随着 VCN(Video Core Next)而改变,它在 Vega 上引入,并在之后每一代中不断改进:

对于低延迟串流,AMF 提供了 ultralowlatency 用途预设、speed 画质预设和 cbr 码率控制模式。Remio 的 hevc_amf 三者都用——就是我们串流架构笔记里记录的同一组预设三件套。在 RDNA3 上,1080p60 H.265 的编码时间通常在 2 到 4 ms。RDNA2 大约是 3 到 5 ms。较老的 VCN 1.x 时代显卡则更接近 5 到 7 ms——依然在预算之内,但应对关键帧尖峰的余量更少。

五年来,AMD 的编码器一直是个笑柄。RDNA2 把它修好了。RDNA3 让它在 AV1 上也具备了竞争力。串流编码器的双雄格局,如今成了三足鼎立,这对所有人都是好事。

QuickSync——默默无闻的普及冠军

QuickSync 是你几乎肯定已经拥有的编码器。自 2011 年 Sandy Bridge 起,每一颗带集成显卡的 Intel CPU 里都有——也就是十多年来的笔记本、NUC 和办公台式机,硬件视频编码一直闲置着,因为用户以为自己需要独立显卡。其实并不需要。

这一架构与 Intel 核显的演进同步前进:

热设计是 QuickSync 安静的超能力。因为它就在 SoC 上已有的核显里,使用它的边际成本只是编码模块本身——不用唤醒独立显卡,不用启动 GDDR6 内存控制器。在 ThinkPad 或 NUC 上,QuickSync 能以大约四分之一的整机功耗,提供与 NVENC 相当的画质。对于 Remio 的 Windows 主机,QuickSync 是继 NVENC 和 AMF 之后的第三选择后备——不是因为它更差,而是因为有独立显卡的用户通常想把核显留给其他工作负载。

VideoToolbox——Apple 芯片的统一媒体引擎

Apple 不像 NVIDIA 那样,为自己的硬件编码器打一个品牌名。API 是 VideoToolbox;硅片是媒体引擎,一个 Apple 自己设计的模块,存在于每一台 M 系列 Mac,以及每一颗自 A6 以来的 iPhone/iPad SoC 中。

媒体引擎的数量,根据型号而不同:

每个媒体引擎都能用硬件处理 H.264、H.265 和 ProRes 的编码/解码。ProRes 编码是视频剪辑师最看重的功能——没有其他消费级芯片提供它——但对于串流来说,相关的能力是高效的 H.265 main10 编码,以及低得惊人的编码延迟。

一个值得注意的缺口:目前出货的任何 Apple 芯片都没有 AV1 编码。M 系列芯片自 M3 起能解码 AV1,但无法编码。在可预见的未来,从 Mac 上串流,H.265 是实际的默认选择。

Apple 真正胜出的地方是能效。在 M2 Pro 上以 30 Mbps 编码 4K60 H.265,整个媒体引擎的功耗大约是 3 到 5 瓦。在 RTX 4070 上,同等的 NVENC 工作负载,整机功耗接近 35 瓦——其中大部分是独立显卡的待机底耗,而不是编码模块本身。对于 24 小时开机、等待客户端连接的 Mac mini 主机,这就是“电费上几乎看不出来”和“明显感觉得到”之间的区别。

并排对比

这是四个引擎在同样维度上的对比。延迟数字取自 1080p60 H.265 的超低延迟预设、禁用 B 帧、单帧 VBV——也就是 Remio 的配置。画质是 8 Mbps CBR 下的感知粗排名;绝对差异很小。

维度 NVENC(Ada) AMF(RDNA3) QuickSync(Arc / Gen12+) VideoToolbox(M3+)
H.264是是是是
H.265(HEVC)是是是是(main10)
AV1 编码是是是否
ProRes 编码否否否是
最高分辨率8K H.2658K H.2658K(Arc),4K(核显)8K H.265
1080p H.265 下的最高 FPS~480~360~360约 600(M3 Max)
编码时间,1080p60 H.2651–3 ms2–4 ms2–4 ms2–3 ms
功耗,4K60 H.265整机约 35 W整机约 30 W整机约 8 W(核显)约 5 W
8 Mbps CBR 下的画质排名并列第一并列第二并列第二并列第一
平台Windows、LinuxWindows、LinuxWindows、Linux、macOS(Intel Mac)macOS、iOS、iPadOS、tvOS
并发会话不限不限不限不限

诚实的总结:在远程桌面串流实际使用的设置下(CBR、低延迟、没有 B 帧),四者都有相当充裕的余量,足够好。真正的差异在于 AV1 支持(NVIDIA / AMD / Intel——没有 Apple)、能效(Apple,其次是 Intel 核显,然后是其他所有人),以及平台可用性(你没法在 Windows 主机上选 VideoToolbox,也没法在 Mac 上选 NVENC)。

Remio 在运行时选哪一个

Remio 在启动时探测主机的能力,并按确定的优先级选择编码器。Windows 主机和 Mac 主机遵循同一套选择逻辑。

在 Windows 主机上:

  1. NVENC(hevc_nvenc / h264_nvenc)——存在 NVIDIA GPU 且驱动有响应时,第一个选它。之所以优先,是因为它在最广泛的硬件世代范围内,延迟始终最稳定地低。
  2. AMF(hevc_amf / h264_amf)——存在带 VCN 的 AMD 独立显卡或 APU 时,第二个选它。配置为 usage=ultralowlatency、quality=speed、rc=cbr。
  3. QuickSync(hevc_qsv / h264_qsv)——存在 Intel 核显时,第三个选它。在我们的管线中功能上等价;如果有独立显卡可用,我们更倾向于把核显留空。
  4. libx264 CPU 后备——只有在没有任何硬件编码器响应时才选它。为了留在延迟预算之内,上限是 720p60 或 1080p30。

在 Apple 主机上:VideoToolbox 是唯一的选择,也是我们唯一想要的。每一台受支持的 Mac(macOS 15+)里的媒体引擎,开箱即支持 H.265 main10。不需要后备路径。

编解码器的偏好是:先用硬件 H.265,H.264 作为通用后备——端到端,每个平台都是如此。Remio 目前不使用 AV1(对它的主机编码、客户端解码和编解码器协商都不在管线里);即使在技术上能做 AV1 的硬件上,它也坚持用 H.265,因为在局域网上,瓶颈是编码延迟,而不是码率。

画质与延迟的取舍

每个硬件编码器都暴露同样的几个旋钮,每个旋钮都朝着同一个方向,用画质换延迟。Remio 的配置处在延迟拨盘最激进的一端,因为远程桌面从定义上讲就是实时应用,在这里,一帧晚了 20 ms 以上,比一帧略比理想状态模糊,更糟糕。

这个模式在四家厂商之间是一致的。实时低延迟是一种受约束的优化:你放弃离线编码中前瞻和 B 帧能买到的那几个百分点的画质,换取实时交互所要求的可预测延迟。每一款出货的串流产品——Remio、Parsec、NVIDIA GeForce NOW、Xbox Cloud Gaming——都在朝同一个方向做着同样的取舍。

你(用户)真正需要关心什么

如果你直接跳到了末尾:任何现代 GPU 的硬件编码器,对远程桌面来说都够好了。

在实时配置下,差异小于任何合理基准测试的噪声底。使用 Pascal 的 GTX 1060 的用户,和使用 RTX 4090 的用户,得到的 Remio 体验是一样的——两者都能以约 8 ms 的处理延迟(其余部分是你显示器自身 60 Hz 的刷新节奏)跑满 120 FPS 管线,在局域网码率下,两者产出的画面也无法区分。

例外情况,按出现的频繁程度排序:

除了这些边缘情况,正确的答案最简单:用你本来就会买的那块 GPU。每家现代厂商都已收敛到同样的能力、同样的低延迟预设、同样的画质范围。Remio 会在运行时替你选对,所以你不用去想它。去做你打开远程桌面会话本来要做的事吧——写代码、剪视频、修服务器,或者在咖啡馆里推送一个修复。

这就是固定功能硅片的全部意义。它就是管用,然后你就不再注意到它。

✦常见问题

常见问题解答

哪个硬件编码器的延迟最低?
NVENC、AMF、QuickSync 和 Apple VideoToolbox 这四个,一旦配置为低延迟模式、禁用 B 帧、使用 1 帧的 VBV 缓冲,在 1080p60 下都能做到每帧编码时间低于 5 毫秒。实际上,M 系列芯片上的 Apple VideoToolbox 和 Ada Lovelace 上的 NVENC 最紧,在我们的测量中,1080p60 H.265 都能稳定做到 2 到 3 毫秒。
AV1 硬件编码值得现在就用吗?
在相同的感知画质下,AV1 硬件编码相比 H.265 能降低大约 25% 到 30% 的码率,相比 H.264 能降低 50%。在受限的网络(慢速 Wi-Fi、移动数据)上,这很有意义。在局域网上则没有实际差别,因为瓶颈是编码延迟,而不是带宽。Remio 今天端到端出货的是硬件 H.265,H.264 作为通用后备——AV1 还不在管线里,即使在支持它的硬件上也是如此。
Apple 芯片真的能和独立显卡的编码器竞争吗?
能,而且常常在能效上胜出。M2 及更新芯片上 Apple 的统一媒体引擎,编码 4K60 H.265 大约只需 3 到 5 瓦,远不到做同样工作的独立显卡 NVENC 引擎的十分之一。在同等码率下,画质与 NVENC 不相上下,延迟也相当。Apple 目前还没有推出 AV1 编码,这是主要的缺口。
Remio 在 Windows 上用哪种编码器?
Remio 按 NVENC、AMF、QuickSync、CPU 后备(libx264)的顺序自动检测。它优先选择 H.265 的 hevc_amf 或 hevc_nvenc,使用 ultralowlatency 预设、禁用 B 帧、1 帧的 VBV 缓冲,以及 8 Mbps 的 CBR,在局域网上可自适应提升到 30 Mbps。同样的配置理念适用于所有三条硬件路径——只有 FFmpeg 的编解码器名称和少数几个厂商专有的预设字符串不同。
为什么 Remio 默认优先 H.265 而不是 H.264?
H.265 以大约一半的 H.264 码率,达到相同的感知画质,这对关键帧尖峰和经过中继的会话很重要。如今,在 Remio 面向的每一颗现代 Apple、Intel、AMD 和 NVIDIA 芯片上,硬件 H.265 编码和解码都已成为标配。H.264 仍是面向非常旧硬件、以及少数 H.265 协商失败的连接的通用后备。
对远程桌面来说,我用哪种硬件编码器重要吗?
对大多数用户来说,不重要。过去六年出货的任何硬件编码器——Pascal 时代的 NVENC、VCN 2.0+ 的 AMF、Skylake 或更新的 QuickSync、任何 Apple 芯片 Mac——都能在局域网上以约 8 ms 的处理时间跑满 Remio 的 120 FPS 管线(其余部分是你显示器自身 60 Hz 的刷新节奏)。差异在边缘:慢速网络上的 AV1、笔记本上的能耗,以及极低码率下的画质。选你本来就会买的那块 GPU,编码器就不会有问题。
Remio 应用图标

让硅片来干活。

Remio 会自动检测 NVENC、AMF、QuickSync 或 VideoToolbox,并为你的硬件选择最快的路径。免费,无需账号,局域网上约 8 ms 处理时间。

免费使用无需账号30 秒完成配对