硬编AV1开始追平软编:NVIDIA刚发布SDK 13.1,视频压缩的老规矩要更新了

源自6位全网作者

06:46

如果你平时自己转码视频,大概率听过这条"铁律":硬编速度快但画质差,要画质就得 CPU 软编慢慢磨。这个说法从 x264 时代流传到现在,几乎没人怀疑。但今年 8 月,接连发生的几件事,让这条铁律开始松动了。

一位知乎用户做了大量跑测,得出一个有点反直觉的结论:在 RTX 50 系显卡上,NVIDIA 的 nvenc-av1 硬件编码器用默认参数,能赢过慢了十倍的 SVT-AV1 软编。知乎几乎同一时间,NVIDIA 官方发布了 Video Codec SDK 13.1,把 AV1 的 B 帧参考结构从最多 7 帧扩展到 31 帧,进一步抬高硬编的画质上限。这对攒片、转码的人来说意味着什么?今天一次说清楚。

硬编"赢了",但功劳不全在硬件

先看跑测的细节。测试者围绕 variance-boost、ac-bias、CDEF、restoration、sharpness 等参数做了大量组合与多场景测试,最终发现最有效且最稳定的方案,不是堆一长串参数,而是关掉 SVT-AV1 那个表现糟糕的默认 TF(时域降噪)。知乎

但细看功劳归属,这场胜利还真不能算在硬件头上。硬编之所以能在默认参数下"碾压"软编,不是 NVENC 画质已经超越了成熟的软编编码器,而是 SVT-AV1 的默认 TF 算法太拉胯,自己产生了明显的块状伪影,把胜利送给了对面。关掉 TF 之后,软编的上限依然高出一截,肉眼对比已经和源视频看不出差别。知乎所以第一个结论:硬编追平的是软编的"默认参数水平",还没摸到软编调优后的上限。但问题在于,绝大多数人日常用的就是默认参数水平的画质——而这恰恰是变动最剧烈的一层。

SDK 13.1:NVIDIA 继续给硬编补画质课

跑测引发讨论的同时,NVIDIA 官方上线了 Video Codec SDK 13.1,最核心的变化正是冲着 AV1 硬编画质来的:SDK 13.1 为 AV1 添加了分层参考模式,支持 1、3、7、15 和 31 B 帧;H.264 和 HEVC 将在未来的驱动版本中采用。知乎B 帧能同时参考前后的帧,数量越多、参考结构越合理,越能利用时间冗余省码率——官方数据显示,15 个 B 帧在恒定质量和可变码率两种模式下都能带来可见的码率节省,而且不增加性能损耗,只是显存占用略高。

对批量转码的人来说,这版 SDK 还有两个值得知道的变化。一个是零拷贝转码:AppTransZeroCopy 让 NVDEC 和 NVENC 直接在同一 GPU 显存上以两种引擎都能理解的格式运行,从而消除此复制链。知乎官方还把转码示例重构成了解码、计算、编码、输出四个环节各跑独立线程的流水线,数据通过队列传递——可以理解为把"一个人串行干全套"改成了"流水线作业"。另一个是官方 Docker 开发环境,CUDA、Vulkan SDK、FFmpeg 打包进一个镜像,不用再自己折腾环境。

硬编AV1开始追平软编:NVIDIA刚发布SDK 13.1,视频压缩的老规矩要更新了

需要说明的是,这些都是 SDK 层的变化,ffmpeg、OBS、HandBrake 这些工具跟进集成还需要时间。但方向已经明确:NVIDIA 硬编和软编之间的画质差距,只会继续缩小。

AV1 硬编现在到底什么水平

很多人对硬编的印象还停留在"能用,但糊"。看两组数据。

NVIDIA 官方 Video Codec SDK 页面给出了一组编码能力数据:L4、L40S 这类数据中心显卡用 NVENC 高质量档位编码 2160p30 时,AV1 相比 x264 HQ 能省 32.1% 到 34.6% 的码率。这是面向专业卡的数据,但结论方向对消费级显卡同样成立:AV1 硬编已经不是"高码率换画质"的买卖。

硬编AV1开始追平软编:NVIDIA刚发布SDK 13.1,视频压缩的老规矩要更新了

社区这边也有交叉验证。有 B 站 UP 主做了一期 svt-av1 参数测试,顺手对比了 AV1 和 H.265:硬编情况下,高画质时两者文件大小差不多,低画质时 AV1 能小 10%-20%。哔哩哔哩评论区给出的"省流版"是 crf=40、其他全默认,日常归档足够用。

注意,这期测试的样本是游戏录像,换成暗场多、胶片颗粒重的影视素材,结论会打折扣——参考它的参数思路,比参考具体数字更稳妥。

别急着换 H.266,也不用等 AV2

说到编码格式,顺手把另外两个标准的现状也说清楚,免得走弯路。

H.266/VVC 纸面压缩率更好,但眼下社区共识是别碰。测试 UP 主的话说得很直白:别问 h266,只知道这东西能用,但不推荐任何人去用。哔哩哔哩原因很现实:工具链不全,主流软件基本不支持它的 CRF 编码;评论区还有用户补充,VVC 的编解码器支持落后 AV1 至少三年。归档这件事,目前在 HEVC 和 AV1 之间选就够了。

AV2 的 1.0 规范今年 5 月底已经发布,面向下一代视频编码。哔哩哔哩但规范落地和能用是两回事,编码器、硬件支持还需要时间,现阶段 AV1 的生态已经足够覆盖绝大多数需求,不必等。

另外,硬编也不是 NVIDIA 一家的事了:8 月中旬,英特尔锐炫 A 系列(DG2/Alchemist)显卡在 Linux 驱动中启用了 Vulkan Video AV1 视频编码功能。知乎影响面还不大,但至少说明硬件 AV1 编码的阵营在扩大。

什么场景用什么参数,直接抄

结合这轮跑测和社区讨论,整理一份决策清单。这位 UP 主对整个测试的总结也很直接:官方调优非常好,乱动没好处。哔哩哔哩RTX 50 系用户可以直接抄:

  • 实时录制、直播、快速出片:直接 GPU 硬编,`-c:v av1_nvenc -preset p7 -tune hq`。`tune hq` 默认关闭了那个惹祸的时域降噪,一行参数就够。知乎

  • 想兼顾速度和质量:`-preset 3 -bf 6 -lookahead_level 2 -qp_cb_offset 12`,这是测试者 NVENC 分组里跑出来的最优参数组合,按他的说法是"跟 svt-av1 不分上下"。

  • 极限省空间、视觉无损归档:`-c:v libsvtav1 -preset 1 -svtav1-params “enable-tf=0”`,上限高但非常慢,测试者的评价是除非追求极致,否则"没必要"。

  • 音频顺手上 opus,有损压缩的社区公认首选。

播放端别忘了检查

批量转 AV1 之前,先做一件事:确认播放设备的解码能力。新显卡、新盒子、新手机基本都覆盖了 AV1 硬解,但老电视、老播放器只能软解,4K 片源能把 CPU 吃满。从 NVIDIA 官方页面的解码支持表也能看到,AV1 已经是新一代解码引擎的标准配置。但各家电视、盒子的支持情况参差不齐,如果你的影音库主要给客厅大屏看,建议先拿一部片子试播,再决定全库转码。

硬编AV1开始追平软编:NVIDIA刚发布SDK 13.1,视频压缩的老规矩要更新了

避坑清单,建议存一下

  1. RGB 片源编码后可能出现色偏,显式声明 `-colorspace bt709` 就能解决,不用绕弯子。

  2. 用 SVT-AV1 压追求画质的片子,记得加 `enable-tf=0`,默认时域滤镜会产生块状伪影,这是本轮跑测最大的坑。

  3. 别全信 VMAF 分数。svt-av1 4.2 新增的 tune vmaf 能让跑分原地提升 2 到 3 分,肉眼看却比 tune 0 略差。哔哩哔哩知乎评论区还有人研究"用新版 VMAF 衡量,配合参数比默参省 12% 码率达到 vmaf 95"。知乎分数是参考,眼睛才是验收标准。

  4. Windows 10 用户想用新版本 SVT-AV1 注意兼容问题,最省事的解法是直接用 FFmpeg 内置的 libsvtav1。

最后

后续值得盯的信号:NVIDIA 未来驱动什么时候给 H.264/HEVC 加上 31 B 帧、ffmpeg 和 OBS 何时跟进 SDK 13.1 的新特性、以及 AV2 编码器的进展。至于"硬编到底能不能追上软编"这个老问题,当下的答案是:上限还没摸到,但已经追到了绝大多数人不需要纠结的程度。

对转码党来说,时间也是成本。GPU 五分钟能干完的活,确实没必要再让 CPU 通宵磨了。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章