我已經在 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 倍。
乾杯