ffmpeg真的使用我的顯示卡進行編碼嗎?

ffmpeg真的使用我的顯示卡進行編碼嗎?

我有一台 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 支援硬體輔助解碼和編碼,也稱為 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"

相關內容