У меня есть видео, которое передается через HLS. Теперь я бы хотел протестировать JavaScript, если устройство действительно может воспроизводить видео HLS в HTML5.
Обычно в Javascript я делал что-то вроде document.createElement('video').canPlayType('video/mp4')
Однако я не могу понять, какой "тип" является правильным для HLS.
Apple Safari HTML5 Audio и Video Guide, кажется, предлагает "vnd.apple.mpegURL" ( "Листинг 1-7. Возврат к подключению -в для IE" )
<video controls>
<source src="HttpLiveStream.m3u8" type="vnd.apple.mpegURL">
<source src="ProgressiveDowload.mp4" type="video/mp4">
....
но canPlayType("vnd.apple.mpegURL")
возвращает пустую строку даже на устройствах iOS, которые отлично воспроизводят реальные потоки HLS.
Есть ли способ проверить возможности воспроизведения без "внешних знаний" (например, "проверить для пользовательского агента iOS и предположить, что он может играть в hls" )?
Я знаю, что могу указать несколько источников в элементе, и браузер будет использовать первый воспроизводимый источник. Однако в моем случае мне нужно подать один URL-адрес JW Player, который я не могу изменить. Поэтому мне как-то нужно найти "лучший воспроизводимый URL" из набора видеокодировок. (Библиотека JS с открытым исходным кодом, которая обрабатывает выбор источника, будет хорошим обходным решением.)