HLS 経由で配信されるビデオがあります。デバイスが実際に HTML5 で HLS ビデオを再生できるかどうかを JavaScript でテストしたいと思います。
通常、Javascript では次のようなことを
document.createElement('video').canPlayType('video/mp4')
行いましたが、どの「タイプ」が HLS に適しているかわかりません。
Apple の Safari HTML5 Audio and Video Guideは、"vnd.apple.mpegURL" ("Listing 1-7 Falling to a plug-in for IE") を提案しているようです。
<video controls>
<source src="HttpLiveStream.m3u8" type="vnd.apple.mpegURL">
<source src="ProgressiveDowload.mp4" type="video/mp4">
....
ただしcanPlayType("vnd.apple.mpegURL")
、実際の HLS ストリームを完全に正常に再生できる iOS デバイスでも空の文字列を返します。
「外部知識」なしで再生機能を確認する方法はありますか (たとえば、「iOS ユーザー エージェントを確認し、それが hls を再生できると想定する」など)?
1 つの要素に複数のソースを指定でき、ブラウザは最初の再生可能なソースを使用することを知っています。ただし、私の場合、変更できない単一の URL を JW Player にフィードする必要があります。どういうわけか、一連のビデオ エンコーディングから「再生可能な最適な URL」を見つける必要があります。(ただし、ソースの選択を処理するオープン ソースの JS ライブラリは、優れた回避策になります。)