2011-06-13 21 views
5

Estoy tratando de publicar videos que se están transcodificando sobre la marcha. Desafortunadamente, esto significa que buscar no funciona. Supongo que esto se debe a que el navegador no sabe cuánto tiempo dura el video y, por lo tanto, no puede mostrar una barra de búsqueda correctamente.HTML5 video streaming/seeking

¿Alguien sabe si es posible codificar la duración de un vídeo?

La otra opción que he pensado puede ser crear mi propia barra de búsqueda y usar JS para actualizar su posición y, si se arrastra, actualizar la URL del video para pasar una hora de inicio al servidor.

¿Alguna sugerencia sobre la mejor manera de hacer esto?

W

+1

¿Cómo funciona normalmente la búsqueda? ¿Asume la tasa de bits de video constante? ¿Estás asumiendo/generando tasa de bits constante en el servidor? Pensé que la longitud estaría en los datos del encabezado del video, p. el átomo MP4 MOOV, o equivalente para otros formatos. – Rup

+0

Sí, estoy configurando una velocidad de bits, pero el encabezado no puede conocer la longitud del video, ya que aún no se ha transcodificado por completo. No estoy seguro si una duración es suficiente para permitir la búsqueda o si la información de fotogramas clave debe estar presente en el encabezado (I * think * flv video funciona así) – Gaspode

+0

en qué navegador se evaluó este video? – arufian

Respuesta

1

Es necesario proporcionar más información sobre cómo esto está funcionando en el servidor. Sin embargo, aquí está mi respuesta genérica sobre lo que supongo que está sucediendo.

Tienes un video en un formato determinado en su servidor y está siendo servido en un formato diferente, asumirá la compatibilidad del navegador (WebM para Firefox, etc).

Lo que debe hacer es tener una base de datos de todos los vídeos subidos que mantienen un registro de la longitud en su formato original. Luego, al transcodificar el video a un formato diferente, puede verificar la base de datos para ver su longitud en lugar de intentar sacarlo de la secuencia de transcodificación.

uso que usted mismo para crear un control deslizante con la longitud como el valor máximo.

asentando después currentTime como el elemento de vídeo HTML5 usando el valor del deslizador.