2008-09-18 13 views
11

Parte de un nuevo producto que he sido asignado para trabajar implica la conversión del servidor de los formatos de video 'comunes' a algo que Flash puede reproducir.¿Cuál es la mejor herramienta para convertir formatos de video comunes a FLV en una CLI de Linux?

Hasta donde yo sé, mi única opción es convertir a FLV. He estado dando ffmpeg una vuelta, pero estoy encontrando algunos archivos WMV que salen con un sonido confuso (he intentado jugar con las velocidades de audio).

¿Hay algún otro convertidor 'bueno' CLI para Linux? ¿O hay otros formatos de video que Flash puede reproducir?

Respuesta

15

Flash puede reproducir los siguientes formatos:

FLV with AAC or MP3 audio, and FLV1 (Sorenson Spark H.263), VP6, or H.264 video. 
MP4 with AAC or MP3 audio, and H.264 video (mp4s must be hinted with qt-faststart or mp4box). 

ffmpeg es una utilidad general buena conversión; mencoder funciona mejor con formatos oscuros y propietarios (debido al paquete de decodificador binario w32codecs) pero su multiplexado es bastante subóptimo (léase: a menudo totalmente roto). Una solución podría ser codificar H.264 con x264 a través de mencoder, y luego mux por separado con mp4box.

Como desarrollador de x264 (y ávido usuario de flash para reproducción de video en línea), he tenido bastante experiencia en este tipo de cosas, así que si quieres más ayuda también estoy disponible en Freenode IRC en # x264, #ffmpeg y #mplayer.

2

La mayoría de los codificadores, por defecto (ffmpeg incluido) colocan el átomo del encabezado del mp4 (el "átomo moov") al final del video, ya que no pueden colocar el encabezado hasta que terminen la codificación. Sin embargo, para que el archivo comience la reproducción antes de su descarga, el átomo moov debe moverse al frente.

Para hacer esto, tienes que (re) mux usar mp4box (que lo hace de forma predeterminada) o usar qt-faststart, un script para ffmpeg que simplemente mueve el átomo al frente. Es bastante simple.

Tenga en cuenta que para FLV, de forma predeterminada, ffmpeg utilizará el formato de video FLV1, que es bastante terrible; tiene más de una década de antigüedad en este punto y su eficacia es bastante horrible dados los estándares modernos. Es mucho mejor usar un formato más moderno como H.264.

+0

¿Cuál es la ventaja de poner el átomo al final? –

Cuestiones relacionadas