Dependiendo de los códecs utilizados en su FLV, puede salirse con la suya simplemente envolviéndolo en un contenedor mp4. Necesitarás video H.264
o audio. Puede encontrar información sobre su archivo fuente conMPEG4 simple profile
AAC
ffmpeg -i input.flv
No estoy seguro de si simplemente tener H.264 / MPEG4 Simple + AAC es lo suficientemente bueno o si hay opciones específicas para los códecs que son compatibles. Es bastante fácil probar:
Intenta usar
ffmpeg -i input.flv -c copy -copyts output.mp4
-copyts
es copy timestamps
que ayudará a la sincronización de audio.
Si eso no funciona, intente forzar los códecs de audio y video. Esto volverá a codificar el archivo:
ffmpeg -i input.flv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4
Para mejorar la calidad del video, puede usar un valor CRF más bajo, por ejemplo, cualquier cosa hasta 18. Para obtener un archivo más pequeño, use un CRF más alto, pero tenga en cuenta que esto degradará la calidad.
Para mejorar la calidad del audio, use un valor de mayor calidad. Para FAAC, 100
es el valor predeterminado.
Aquí hay un par de pensamientos sobre el comando ffmpeg sugerido en la pregunta.
-ar
se refiere a la frecuencia de muestreo de audio. Recomiendo no jugar con esto hasta que comprenda mejor las cosas. Si desea jugar con codificación de audio, ajuste la tasa de bits (por ejemplo, -b:a 128k
) y deje que el codificador elija qué hacer en función de eso.
Si terminas yendo por este camino ...
La calidad del CD es de muestreo de 44100Hz; El video 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 de CD. Si está convirtiendo material de CD, esta es una buena opción. Si está comenzando con una fuente de 48KHz (que probablemente sea; nuevamente, esto es mucho más común que 44100 en archivos de video) en su lugar usaría 24Khz. Probablemente no importará mucho, pero puede sonar un poco mejor y usar un poco menos de CPU para hacer la conversión.
ffmpeg
interrumpió el soporte paralibaac
. Esta pregunta sugiere usarffmpeg
el codificador AAC nativo a través de-c:a aac
o el códec Fraunhofer FDK AAC vía-c:a libfdk_aac
(que requiere compilaciónffmpeg
con soporte paralibfdk_aac
).