我已经在 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 倍。
干杯