ffmpeg真的使用我的显卡进行编码吗?

Hoy*_*ung 2 video gpu graphics-card ffmpeg hardware-acceleration

我有一台 NVIDIA Quadro P620。我对如何使用显卡加速转码进行了大量研究。

我偶然发现这个页面 https://trac.ffmpeg.org/wiki/HWAccelIntro#Usewiththeffmpegcommand-linetool

所以,我尝试了

ffmpeg -hwaccel cuda -i input.avi output.mp4
Run Code Online (Sandbox Code Playgroud)

结果并没有比

ffmpeg -i input.avi output.mp4
Run Code Online (Sandbox Code Playgroud)

实际上转码花费的时间更长。

我可以看到它在resmon上花费的 CPU 使用率与没有 -hwaccel 选项时相同。

我做错什么了吗?我如何知道 ffmpeg 是否正确使用我的 GPU?

har*_*ymc 5

根据 视频编码和解码 GPU 支持矩阵,您的 GPU 支持硬件辅助解码和编码,也称为 NVENC

这里唯一的麻烦点是 GPU 支持的编解码器列表,它们是:H.264 和 H.265。如果您的视频未使用这些编解码器进行编码,则硬件加速可能不适合您。

对于正确的编解码器和参考,Stack Overflow 帖子 make ffmpeg 选择 Nvidia CUDA 而不是 Intel QSV 提到硬件加速正在使用以下命令:

ffmpeg -hide_banner -hwaccel cuda -i "input.avi" -c:a copy -ac 1 -c:v h264_nvenc -preset hq -movflags faststart -qp 30 "output.mp4"
Run Code Online (Sandbox Code Playgroud)