我有一台 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"