HTML5-Video: Wie kann ich die HLS-Wiedergabefähigkeit testen? (video.canPlayType)
Habe ich video die geliefert wird über HLS. Jetzt würde ich gerne testen, in JavaScript, wenn das Gerät tatsächlich spielen können, HLS-video in HTML5.
In der Regel in Javascript habe ich so etwas wie
document.createElement('video').canPlayType('video/mp4')
Allerdings kann ich nicht herausfinden, welche 'Art' ist die richtige für HLS.
Apples Safari-HTML5-Audio-und Video-Guide scheint nahe zu legen, "vnd.apple.mpegURL" ("Listing 1-7, wieder zurück zu Fallen, um ein plug-in für IE")
<video controls>
<source src="HttpLiveStream.m3u8" type="vnd.apple.mpegURL">
<source src="ProgressiveDowload.mp4" type="video/mp4">
....
aber canPlayType("vnd.apple.mpegURL")
leere Zeichenfolge zurück, sogar auf iOS-Geräten, die tatsächliche HLS-streams völlig in Ordnung.
Gibt es eine Möglichkeit zu prüfen, für die Wiedergabe-Funktionen ohne 'externes wissen (z.B. "check für iOS-user-agent und davon ausgehen, es spielen können, hls")?
Ich weiß, ich kann angeben, mehrere Quellen in einem element und der browser verwendet die erste spielbare Quelle. Aber in meinem Fall muss ich füttern Sie eine einzelne URL für JW Player, die ich nicht ändern kann. Ich bräuchte also irgendwie die Suche nach dem "besten spielbar URL", die aus einer Reihe von video-Kodierungen. (Eine open source JS-Bibliothek, die Griffe Auswahl der Quelle wäre ein netter workaround, aber.)
InformationsquelleAutor der Frage Felix Schwarz | 2012-09-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich noch nicht getestet, über das board, aber wie es aussieht, sollte die Prüfung für die komplette HLS-mimetype
application/vnd.apple.mpegURL
anstatt einfach nurvnd.apple.mpegURL
.application/x-mpegURL
undaudio/mpegurl
geeignet sind auch mimetypes für die HLS m3u8-Datei.audio/x-mpegurl
ist auch aufgeführt, wie eine akzeptable mimetype laut Apple, aber es scheint nicht zu erwähnt werden, dass in der aktuellen HLS-Entwurf spec.In Safari auf iOS und OS X,
zurück
maybe
. Ich bin mir nicht sicher, ob es irgendwelche anderen Browsern, die Unterstützung der HLS -- Android scheint nicht, wie Sie diese syntax (trotz einiger Behauptungen, die ich gesehen habe, im Gegenteil), und ich glaube, dass es sein kann aufgrund der Tatsache, dass der eigentliche video-Wiedergabe delegiert wird an eine externe Anwendung, eher als der browser selbst.Referenzen:
InformationsquelleAutor der Antwort schmod