Convertir FLV a MP4 usando FFMPEG y preservar la calidad

Convertir FLV a MP4 usando FFMPEG y preservar la calidad

Estoy intentando usar ffmpeg para convertir mis archivos flv a mp4 para reproducirlos en dispositivos iOS, pero el video convertido tiene una calidad mucho peor que el original.

Aquí está el comando que uso:

ffmpeg -i input.flv -ar 22050 output.mp4

Realmente agradecería que alguien pudiera proporcionarme la mejor configuración para la conversión de flv a mp4.

Respuesta1

Dependiendo de los códecs utilizados en su FLV, es posible que pueda simplemente volver a envolverlo en un contenedor mp4. Necesitará H.264video MPEG4 simple profiley AACaudio. Puede encontrar información sobre su archivo fuente conffmpeg -i input.flv

No estoy seguro de si simplemente tener H.264/MPEG4 Simple + AAC es suficiente o si hay opciones específicas para los códecs compatibles. Es bastante fácil de probar:

Intenta usar

ffmpeg -i input.flv -c copy -copyts output.mp4

-copytses copy timestamps. Ayudará a la sincronización de audio.

Si eso no funciona, intenta forzar los códecs de audio y vídeo. Esto volverá a codificar el archivo:

ffmpeg -i input.flv -c:v libx264 -crf 23 -c:a aac -b:a 160k output.mp4

Si desea cambiar solo el códec de audio o solo el video, puede usar -c:a copyo -c:v copycopiar el que desea conservar.

Para mejorar la calidad del vídeo utilizada al transcodificar, puede utilizar un valor CRF más bajo, por ejemplo, cualquier valor hasta 18. Para obtener un archivo más pequeño, utilice un CRF más alto, pero tenga en cuenta que esto degradará la calidad.

Para mejorar la calidad del audio, elija una tasa de bits más alta (160k en el ejemplo anterior).

Tanto con la calidad de audio como de video, sus resultados variarán dependiendo de la calidad de la fuente. Tenga en cuenta que hay mucho que puede hacer con cualquier fuente original; en el mejor de los casos, terminará con la misma calidad que la fuente. Definitivamente vale la pena experimentar con diferentes niveles de calidad y/o tasas de bits.

más información sobre la codificación FFMPEG aac(Me he estado refiriendo al codificador "nativo" descrito en el sitio ffmpeg).


Respecto al comando ffmpeg sugerido en la pregunta...

-arse refiere a la frecuencia de muestreo de audio. Recomiendo no jugar con este parámetro en absoluto. Si desea reproducir con codificación de audio, ajuste la tasa de bits ( -b:a 160karriba) y deje que el codificador elija qué hacer en función de eso.

Sin embargo, en antecedentes, la calidad del CD es de muestreo de 44100 Hz; El vídeo típico utiliza 48000Hz.

Puede observar que 22050 en el ejemplo de la pregunta original es la mitad de la frecuencia de muestreo de calidad del CD. Si está realizando una conversión descendente de material en CD, esta sería una buena opción. Si comienzas con una fuente de 48 KHz, usaría 24 Khz. (pero nuevamente, recomendaría simplemente elegir una tasa de bits objetivo y dejar que el codificador cambie la frecuencia de muestreo si es necesario).

Deberías obtener información sobre las frecuencias de muestreo del material original en el ffmpeg -icomando que sugerí en la parte superior.

información relacionada