在使用 ddagrab 捕获的 ffmpeg 桌面上执行 nvidia gpu 缩放(在 Windows 上)

在使用 ddagrab 捕获的 ffmpeg 桌面上执行 nvidia gpu 缩放(在 Windows 上)

寻找一些关于如何使用 ffmpeg 将与屏幕抓取和 ddagrab 相关的选项结合起来、使用 nvenc 进行编码以及在此过程中缩小尺寸的建议。

我可以使用 nvenc 成功捕获桌面文件而无需缩放,还可以解码文件、缩放文件并使用 nvenc 重新编码。但是将两者放在一起会给我一个错误。

我使用的命令是:

ffmpeg -hwaccel_output_format cuda -f lavfi -i ddagrab -vf scale_cuda=w=960:h=540 -c:v h264_nvenc -cq:v 21 c:\temp\test.mp4

我得到的错误是:

Impossible to convert between the formats supported by the filter 'graph 0 input from stream: 0:0' and the filter 'auto_scale_0'

我在谷歌上看到了关于此错误的其他报告,其中提出了很多额外的选项,但没有明确的例子说明如何在桌面离开 gpu 并返回到 cpu 之前进行捕获、缩放和编码。

我在 Win11 上使用 enable-cuda-llvm 编译的 ffmeg 6.1.1 x64 二进制文件。

相关内容