reproductor plugin library javascript html5 http-live-streaming

plugin - video javascript library



Vídeo HTML5: ¿Cómo probar la capacidad de reproducción de HLS?(video.canPlayType) (1)

No he probado esto de forma application/vnd.apple.mpegURL , pero parece que debería estar probando la application/vnd.apple.mpegURL lugar de solo vnd.apple.mpegURL .

application/x-mpegURL y audio/mpegurl también son audio/mpegurl adecuados para el archivo m3u8 de HLS. audio/x-mpegurl también aparece como un mimetype aceptable según Apple, pero no parece ser mencionado en la especificación real del borrador de HLS.

En Safari en iOS y OS X,

document.createElement(''video'').canPlayType(''application/vnd.apple.mpegURL'')

devuelve maybe . No estoy seguro de si hay otros navegadores compatibles con HLS: parece que a Android no le gusta esta sintaxis (a pesar de algunas afirmaciones que he visto al contrario), y creo que puede deberse al hecho de que La reproducción de video real se delega a una aplicación externa, en lugar de al propio navegador.

Referencias:

  1. http://developer.apple.com/library/ios/#technotes/tn2235/_index.html
  2. http://www.longtailvideo.com/html5/hls
  3. http://tools.ietf.org/html/draft-pantos-http-live-streaming-03
  4. http://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Using_HTML5_Audio_Video.pdf

Tengo video que se entrega a través de HLS. Ahora me gustaría probar en JavaScript si el dispositivo puede reproducir videos HLS en HTML5.

Por lo general, en Javascript hice algo como document.createElement(''video'').canPlayType(''video/mp4'') Sin embargo, no puedo saber qué ''tipo'' es el correcto para HLS.

La Guía de audio y video Safari HTML5 de Apple parece sugerir "vnd.apple.mpegURL" ("Listado 1-7 Recurriendo a un complemento para IE")

<video controls> <source src="HttpLiveStream.m3u8" type="vnd.apple.mpegURL"> <source src="ProgressiveDowload.mp4" type="video/mp4"> ....

pero canPlayType("vnd.apple.mpegURL") devuelve una cadena vacía incluso en dispositivos iOS que pueden reproducir perfectamente las transmisiones HLS reales.

¿Hay alguna forma de verificar las capacidades de reproducción sin ''conocimiento externo'' (por ejemplo, "verificar el agente de usuario de iOS y asumir que puede reproducir hls")?

Sé que puedo especificar múltiples fuentes en un elemento y el navegador usará la primera fuente reproducible. Sin embargo, en mi caso, necesito alimentar una única URL a JW Player que no puedo modificar. Así que de alguna manera necesito encontrar la "mejor URL reproducible" de un conjunto de codificaciones de video. (Sin embargo, una biblioteca JS de código abierto que maneje la selección de origen sería una buena solución).