Estoy desarrollando un sitio de tubo y actualmente tengo problemas con el formato H.264. Noté que YouTube puso sus videos de alta definición en un contenedor MP4, así que lógicamente hice lo mismo.
Luego, instalé mod_h264_streaming
para lighttpd para hacer que la transmisión y la limpieza de la línea de tiempo funcionen.
El problema es que los archivos grandes (> 500 MB a una resolución algo alta) tardan una eternidad en comenzar a almacenarse en el búfer (leí que Flowplayer y otros reproductores Flash necesitan descargar metadatos primero). Moví el átomo xmov al frente del archivo con MP4Box (también probé Qt QuickStart), pero eso no ayudó.
Luego, leí que necesitaba intercalar pistas de audio, así que también lo hice. Esto no causó ningún cambio: los videos aún eran lentos.
Así que intenté poner exactamente la misma película H.264 en un contenedor FLV, y el almacenamiento en búfer de reproducción comenzó casi instantáneamente, sin lentitud.
Entonces, ¿qué me estoy perdiendo aquí? ¿Por qué elegiría el contenedor MP4 con el módulo mod_264_streaming
, que parece súper lento, en lugar de un contenedor FLV normal con lighttpd incorporado mod_flv_streaming
? Obviamente, muchos sitios web eligen el contenedor MP4, pero no entiendo por qué.
Y como pregunta adicional, intenté usar la <video>
etiqueta HTML5 para probar la misma película H.264 MP4, ¡y el fregado fue increíblemente rápido ! Miré el archivo de registro de lighttpd y noté que los reproductores Flash se agregan video.mp4?start=234
cada vez que se borra la línea de tiempo, mientras que los navegadores que usan la <video>
etiqueta HTML5 nativa no hacen tal cosa. ¿Es esto algún tipo de limitación de Flash? ¿Por qué la transmisión Flash no puede ser tan rápida como la transmisión HTML5?