2014-04-23 12 views
13

Desidero rilevare se un telefono/tablet cellulare può riprodurre HTTP Live Streaming (m3u8).Rilevamento streaming live HTTP sui telefoni cellulari

Attualmente sto testando con questo script:

function isHLSEnabled() { 
    var videoElement = document.createElement('video'), 
     canPlayAppMpeg = videoElement.canPlayType('application/x-mpegURL'), 
     canPlayAppleMpeg = videoElement.canPlayType('vnd.apple.mpegURL'); 

    return (
     (canPlayAppMpeg == 'probably' || canPlayAppMpeg == 'maybe') 
     || (canPlayAppleMpeg == 'probably' || canPlayAppleMpeg == 'maybe') 
    ); 
} 

Ma non funziona bene su alcuni browser Samsung (magazzino, delfini, ecc) - restituisce false (perché i canPlayTypes sono stringhe vuote) tuttavia è in grado di riprodurre il video.

Esistono soluzioni a prova di proiettile (ish) per il rilevamento di questo tipo di supporto per lo streaming?

+0

questo è ancora un problema su Android 5.0 e Android 5.1 con i browser di riserva. Chrome funziona bene. – easwee

+0

Non l'ho provato, ma funziona se imposti l'src dell'elemento video nello stream src e controlli se il video è in riproduzione? – Nimmi

risposta

1

Non sono sicuro che a questo punto sia disponibile una soluzione a prova di proiettile.

L'utilizzo del metodo canPlayType dell'elemento video è l'unica cosa che realmente "funziona". Ci sono circa +/- 5/6 formati multimediali che hanno il supporto da browser moderni.

Quindi in pratica si crea un elenco di formati che si desidera supportare e testare da essi. Il metodo canPlayType consente inoltre di specificare quale codec. Che cosa dovresti fare dal momento che solo testare per WebM potrebbe non portare al risultato desiderato, un esempio:

element.canPlayType('video/webm; codecs="vp9"').

Dopo averlo fatto, è possibile che in ottenga tre risposte diverse: "probabilmente", "mabye" o "" (la stringa vuota significa: non supportato).

Alcune risorse che potrebbe risultare utile:

Mozilla fornisce un elenco dei principali formati di flusso/codec:

Mozilla Media Format List

Modernizr è quadro che metterà alla prova il supporto per la maggior parte dei formati video HTML5 . Potresti anche dare un'occhiata al loro codice sorgente per il rilevamento di video html5.

Modernizr HTML video detect