Windows 上的硬體加速 FFMPEG

Windows 上的硬體加速 FFMPEG

我已經在 Windows 10 上安裝了最新的 gyan.dev 完整版本,我想將 png 序列轉換為 h265 .mp4 電影,並且我成功使用了此命令

ffmpeg -r 60 -f image2 -s 3840x2160 -i TEST_%04d.png -vcodec libx265 -crf 1 -pix_fmt yuv440p -hwaccel cuvid Y:\TEST.mp4

我想在此過程中利用 RTX2080 的硬體加速,但我找不到任何要添加的資源或命令,因為-hwaccel我應該足夠了,但不起作用。

任何提示都將受到高度讚賞!最好並保持安全。

答案1

libx265是一個軟體編碼器。它不支援硬體編碼。

你想要的是使用其中之一硬體編碼器。對於硬體 h.264,您需要使用h264_nvenc視訊編解碼器;對於 h.265,您需要使用視訊編解碼器hevc_nvenc

ffmpeg -r 60 -f image2 -s 3840x2160 -i TEST_%04d.png -vcodec hevc_nvenc -crf 1 -pix_fmt yuv440p -hwaccel cuvid Y:\TEST.mp4

您可以列出可用的編碼器ffmpeg.exe -encoders並尋找NVIDIA清單中提到的編碼器。對於我的 ffmpeg,我在該列表中得到以下 Nvidia 編碼器

 V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
 V..... hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)

您可以使用以下命令列出編碼器參數:ffmpeg -h encoder=hevc_nvenc

答案2

感謝@Mokubai、@Gyan 和@llogan 的回答。

如果有人想使用 ffmepg hwaccel 進行 h265 到 h264 的轉換,請使用以下指令:

ffmpeg -encoders | findstr /ic:"NVIDIA"

你應該看到:

 V....D h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V....D hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)

ffmpeg指令:

ffmpeg.exe -vsync 0 -hwaccel cuda -i <input_file> -map 0  -c:a copy -c:v h264_nvenc -pix_fmt yuv420p -preset hq <output_file>

對於我來說,在 GTX1060 卡上播放 30 分鐘的視頻,它的運行時間減少了 4 倍。

乾杯

相關內容