Pregunta

tengo un HTML5 <video> elemento cuya fuente es un .m3u8 (flujo HLS)

Tengo un M3U8 con tres versiones diferentes: 640x360, 960x540, y 1280x720

En computadoras de escritorio tengo un reproductor Flash para reproducir el video, por lo que la alternativa HTML5 solo está destinada a dispositivos móviles (iOS y Android). Estoy haciendo todas mis pruebas en un iPad y, una vez que esté funcionando, lo probaré en Android. y espero que todo funcione igual.

Mi objetivo es, en cualquier momento, descubrir qué interpretación se está reproduciendo el elemento de vídeo.La representación está sujeta a cambios a medida que cambia el ancho de banda del usuario.

Intenté usar el .videoHeight propiedad, pero siempre devuelve 480 independientemente de la interpretación que se descargue, lo cual es particularmente extraño porque 480 ni siquiera es una opción.

¿Alguien sabe cómo puedo averiguar la interpretación que se está descargando?

¿Fue útil?

Solución

Limpiando algunas viejas preguntas que nunca recibieron respuesta:

Lamentablemente, esto simplemente no es posible.Las especificaciones de vídeo HTMl5 y las implementaciones de vídeo HTML5 en la mayoría de los navegadores pretenden abstraer todo de la magia subyacente involucrada en la reproducción de videos.Le das una fuente y se reproduce.Todo lo demás está completamente oculto y no tienes acceso.Sin acceso a canales de metadatos, sin acceso a canales de audio, sin acceso a información de tasa de bits y resolución,...

En el mejor de los casos, desarrollé una solución para adivinar qué resolución se estaba reproduciendo.Cada 10 segundos se cargaba un archivo de 1 MB a través de AJAX.Medí la velocidad a la que se descargó para adivinar su ancho de banda actual.Sé que QuickTime sólo reproducirá una interpretación si tienes el doble del ancho de banda requerido.Entonces si el 960x540 La reproducción requiere 1400 kbit/s, entonces no se reproducirá a menos que tenga un ancho de banda de 2800 kbit/s.

No es muy bueno (y desperdicia 6 MB de ancho de banda por minuto) pero es mejor que nada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top