аппаратное ускорение FFMPEG на Windows

аппаратное ускорение FFMPEG на Windows

Я установил последнюю полную сборку gyan.dev на Windows 10, хочу преобразовать последовательность 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.265hevc_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>

Мне удалось сократить время воспроизведения 30-минутного видео в 4 раза на карте GTX1060.

Ваше здоровье

Связанный контент