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 的硬件加速,但我找不到任何资源或命令来添加,因为—华克塞尔我以为这已经足够了,但却不起作用。

非常感谢您的任何提示!祝您一切顺利,注意安全。

答案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 倍。

干杯

相关内容