Wideo HTML5: Jak przetestować możliwości gry HLS? (video.canPlayType)
Mam wideo, które jest dostarczane przez HLS. Teraz chciałbym przetestować w JavaScript, jeśli urządzenie może odtwarzać wideo HLS w HTML5.
Zwykle w Javascript robiłem coś takiegodocument.createElement('video').canPlayType('video/mp4')
Nie mogę jednak stwierdzić, który „typ” jest właściwy dla HLS.
Przewodnik audio i wideo Apple Safari Safari HTML5 wydaje się sugerować „vnd.apple.mpegURL” („Listing 1-7 wraca do wtyczki dla IE”)
<video controls>
<source src="HttpLiveStream.m3u8" type="vnd.apple.mpegURL">
<source src="ProgressiveDowload.mp4" type="video/mp4">
....
alecanPlayType("vnd.apple.mpegURL")
zwróć pusty ciąg nawet na urządzeniach z systemem iOS, które mogą doskonale odtwarzać rzeczywiste strumienie HLS.
Czy jest jakiś sposób na sprawdzenie możliwości odtwarzania bez „wiedzy zewnętrznej” (np. „Sprawdź agenta użytkownika systemu iOS i załóż, że może on odtwarzać hls”)?
Wiem, że mogę określić wiele źródeł w elemencie, a przeglądarka użyje pierwszego odtwarzalnego źródła. Jednak w moim przypadku muszę podać pojedynczy adres URL do JW Player, którego nie mogę modyfikować. Więc jakoś muszę znaleźć „najlepszy możliwy do odtworzenia adres URL” z zestawu kodowań wideo. (Biblioteka JS o otwartym kodzie źródłowym, która obsługuje wybór źródła, byłaby jednak dobrym rozwiązaniem).