aceleración de hardware FFMPEG en Windows

aceleración de hardware FFMPEG en Windows

Instalé la última versión completa de gyan.dev en Windows 10, quiero convertir una secuencia de png a una película h265 .mp4 y estoy usando este comando con éxito

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

Me gustaría aprovechar la aceleración de hardware de mi RTX2080 durante el proceso, pero no encuentro ningún recurso o comando para agregar desde-hwaccello que supuse que era suficiente, no funciona.

¡Cualquier pista es muy apreciada! Lo mejor y mantente a salvo.

Respuesta1

libx265es un codificador de software. No admite codificación de hardware.

Lo que quieres es usar uno de loscodificadores de hardware. Para hardware h.264 querrás usar el h264_nvenccódec de vídeo o para h.265 elhevc_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

Puede enumerar los codificadores disponibles ffmpeg.exe -encodersy buscar los que se mencionan NVIDIAen la lista. Para mi ffmpeg obtengo los siguientes codificadores Nvidia en esa lista

 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)

Y puede enumerar los parámetros del codificador usando, por ejemplo,ffmpeg -h encoder=hevc_nvenc

Respuesta2

Gracias a @Mokubai, @Gyan y @llogan por sus respuestas.

En caso de que alguien quiera usar ffmepg hwaccel para la conversión de h265 a h264, use esto:

ffmpeg -encoders | findstr /ic:"NVIDIA"

Debería ver:

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

comando 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>

Para mí, redujo el tiempo de ejecución 4 veces, para un video de 30 minutos, en una tarjeta GTX1060.

Salud

información relacionada