
寻找一些关于如何使用 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 二进制文件。