FFmpeg: mantener la calidad durante la conversión

FFmpeg: mantener la calidad durante la conversión

Posible duplicado:
Convierte AVI a MP4 manteniendo la misma calidad

Me gustaría convertir una buena cantidad de archivos wmv, mpg y avi (con diferentes codificaciones de audio y video) a mp4/x264/aac con calidad equivalente. He hecho algunas pruebas con el siguiente comando:

ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"

(Como puede ver, omití las opciones que especifican la tasa de bits y la calidad del audio y el video)

Al usar este comando, FFmpeg conserva automáticamente las dimensiones del video, pero todavía no estoy seguro de cómo maneja cosas como la tasa de bits cuando se omiten. ¿Cuál es la mejor manera de mantener la calidad de un video mientras lo convierte a un formato y códec diferente?

Estoy usando Windows 7 de 64 bits y ffmpeg-20121230-git-518239c-win64-shared

Respuesta1

FFmpeg establece la -crfopción en 23 de forma predeterminada.

Intentar:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 "test.mp4"

ElCRFLa opción establece la calidad de codificación. La velocidad de bits variará según sea necesario para proporcionar una calidad constante en todo el vídeo. 51 es el peor y 0 es el mejor, sin pérdidas.

Tiendo a configurar todas mis codificaciones en 20, que es el valor predeterminado de Handbrake y estoy contento con la calidad. Sugiero jugar con ese valor para encontrar un nivel de calidad que sea aceptable para usted.

Es posible que desee utilizar las opciones -ssy -tpara crear codificaciones de prueba breves. -sssiendo la hora de inicio y -tla duración, ambas en segundos. Probablemente no necesites codificar todo el vídeo para determinar qué es aceptable.

Para crear un clip de 1 minuto a partir del minuto 1 del vídeo:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20  -c:a aac -strict -2 -ss 60 -t 60 "test.mp4"

información relacionada