我有一台 NVIDIA Quadro P620。我对如何使用显卡加速转码进行了大量研究。
我偶然发现了这个页面 https://trac.ffmpeg.org/wiki/HWAccelIntro#Usewiththeffmpegcommand-linetool
所以我尝试了
ffmpeg -hwaccel cuda -i input.avi output.mp4
结果并没有比
ffmpeg -i input.avi output.mp4
转码实际上花费了更长的时间。
我可以看到它的 CPU 使用率相同雷斯蒙因为没有 -hwaccel 选项。
我做错了什么吗?我怎么知道 ffmpeg 是否正确使用了我的 GPU?
答案1
根据 视频编码和解码 GPU 支持矩阵,您的 GPU 支持硬件辅助解码和编码,也称为 神经网络。
这里唯一令人担心的是你的 GPU 支持的编解码器列表,即:H.264 和 H.265。如果你的视频不是使用这些编解码器编码的,硬件加速可能对你不起作用。
有关正确的编解码器和参考,请参阅 Stack Overflow 帖子 让 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"