Eu quero converter
ffmpeg -i input.mp4 -maxrate 63317762 -bufsize 63317762 -map_metadata -1 -vcodec libx265 -c:a copy -crf 28 -color_range 2 output.mp4
em um comando que usa cuda para acelerar o processo de conversão.
tentei
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
E não funcionou.
tentei
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
e funcionou, mas definiu a taxa de bits do vídeo para 6M.
Quero que o ffmpeg adivinhe com base no conteúdo de até 63317762 bytes. Como uma boa compensação entre qualidade e taxa de bits, mas abaixo de 63317762 bytes, mas também sem construção de blocos visíveis e desfoque.
E com cuda.
Qual comando faz isso?
Responder1
FFMpeg não faz controle de taxa. Cada implementação de codec possui seu próprio controle de taxa. O Ffmpeg apenas passa os parâmetros da linha de comando para o codificador que você escolher. x264 oferece suporte ao modo CRF limitado. Nvenc não. Você deve escolher a taxa de bits ou fator de taxa constante.