![FFMPEG 中的 NVENC HVEC 在快速运动时不清晰](https://linux22.com/image/1572251/FFMPEG%20%E4%B8%AD%E7%9A%84%20NVENC%20HVEC%20%E5%9C%A8%E5%BF%AB%E9%80%9F%E8%BF%90%E5%8A%A8%E6%97%B6%E4%B8%8D%E6%B8%85%E6%99%B0.png)
我使用 FFMPEG 和 NVENC HVEC,并在最近几天尝试了几种方案,但最终还是无法达到与 CPU 编码相同的质量。这里的主要问题是快速场景变得不清晰。我在一些文章中读到 Twitch 和 YouTube 正在使用 GPU 编码器来压缩视频,所以第一个问题是,是否有可能使用 GPU 编码以较小的文件大小达到相同的质量,或者他们是如何做到这一点的?
第二个问题是,我是否在使用 ffmpeg 命令时犯了错误,或者是否有一些想法对其进行了微调,例如,我发现一些文章说“CRF”对 x265 nvenc 不起作用,而其他文章则说这仍然有效,这让我很困惑。这是我的命令
-y -preset slow -c:v hevc_nvenc -vf scale=1920x1080:flags=lanczos -rc cbr_ld_hq -rc-lookahead 32 -q 20 -r 60 -crf 19 -b:v 6.4M -movflags +faststart -c:a ac3 -b:a 320k -pass 1 -2pass -1 "D:\-=streaming=-\concats\x265-website_high.mp4"
有什么办法可以在不使用 CPU 编码器的情况下更好地压缩它吗?
答案1
我对 NVENC 的经验是,它确实不如 x264 / x265 CPU 编码,尤其是在快速移动或细节丰富的场景中。
这意味着,在 CBR 场景中,您的设置可以按预期工作。您的 ffmpeg 设置可能有一些调整,但原则仍然适用。YouTube 不使用真正的 CBR,这可能是原因之一。
一个经验:您的 NV SDK 和 FFmpeg 构建越新,效果就越好 - 似乎正在进行大量活跃的开发。