2014-04-23 8 views
13

Ich möchte erkennen, ob ein Handy/Tablet HTTP Live Streaming (m3u8) wiedergeben kann.HTTP-Live-Streaming-Erkennung auf Handys

Ich bin derzeit mit diesem Skript zu testen:

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') 
    ); 
} 

Aber es funktioniert nicht gut auf einigen Samsung-Browsern (Lager, Delfin, etc.) - es false zurück (weil die canPlayTypes sind leere Strings) Es ist jedoch in der Lage, das Video abzuspielen.

Gibt es kugelsichere (ish) Lösungen zum Erkennen dieser Art von Streaming-Unterstützung?

+0

ist immer noch ein Problem auf Android 5.0 und Android 5.1 mit Lager-Browsern. Chrome spielt ok. – easwee

+0

Ich habe das nicht versucht, aber funktioniert es, wenn Sie den src des Videoelements auf den Stream src setzen und prüfen, ob das Video abgespielt wird? – Nimmi

Antwort

1

Ich bin mir nicht sicher, ob es zu diesem Zeitpunkt kugelsichere Lösungen gibt.

Nur die -Methode des Videoelements funktioniert wirklich. Es gibt ungefähr +/- 5/6 Medienformate, die oke Unterstützung von modernen Browsern haben.

Also im Grunde erstellen Sie eine Liste von Formaten, die Sie unterstützen und von ihnen testen möchten. Mit der Methode können Sie auch angeben, welcher Codec. Was Sie tun sollten, nachdem Sie nur für WebM getestet haben, führt möglicherweise nicht zum gewünschten Ergebnis. Ein Beispiel:

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

Danach sollten Sie in der Regel drei verschiedene Antworten erhalten: "wahrscheinlich", "mabye" oder "" (die leere Zeichenfolge bedeutet: nicht unterstützt).

Einige Ressourcen, die Sie nützlich finden könnten:

Mozilla stellt eine Liste der Haupt-Stream-Formate/Codecs:

Mozilla Media Format List

Modernizr ist Rahmen, der Unterstützung für die Mehrheit der html5 Videoformate testen . Sie können auch einen Blick auf ihren Quellcode für die HTML5-Videoerkennung werfen. Diese

Modernizr HTML video detect

Verwandte Themen