quiero convertir
ffmpeg -i input.mp4 -maxrate 63317762 -bufsize 63317762 -map_metadata -1 -vcodec libx265 -c:a copy -crf 28 -color_range 2 output.mp4
en un comando que usa cuda para acelerar el proceso de conversión.
Lo intenté
ffmpeg.exe -hwaccel cuvid -i input.mp4 -pix_fmt p010le -c:v hevc_nvenc -preset slow -rc vbr_hq -b:v 6M -maxrate:v 63317762 -bufsize:v 63317762 -c:a aac output.mp4
Y no funcionó.
Lo intenté
ffmpeg.exe -hwaccel cuvid -i input.mp4 -c:v hevc_nvenc -preset slow -rc vbr_hq -b:v 6M -maxrate:v 63317762 -bufsize:v 63317762 -c:a aac output.mp4
y funcionó, pero configuró la tasa de bits del video en 6M.
Quiero que ffmpeg lo adivine en función del contenido de hasta 63317762 bytes. Como una buena compensación entre calidad y tasa de bits, pero por debajo de 63317762 bytes, pero también sin construcción de bloques visible ni borrosidad.
Y con cuda.
¿Qué comando hace eso?
Respuesta1
FFMpeg no realiza control de velocidad. Cada implementación de códec tiene su propio control de velocidad. Ffmpeg simplemente pasa los parámetros desde la línea de comando al codificador que elija. x264 admite el modo CRF limitado. Nvenc no lo hace. Debes elegir tasa de bits o factor de tasa constante.