HTML5 видео: как проверить возможности воспроизведения HLS? (Video.canPlayType)
У меня есть видео, которое доставляется через HLS. Теперь я хотел бы проверить в JavaScript, может ли устройство на самом деле воспроизводить видео HLS в HTML5.
Usually in Javascript I did something like
document.createElement('video').canPlayType('video/mp4')
Однако я не могу выяснить, какой тип печатать. является правильным для HLS.
Apple Safari HTML5 аудио и видео гид похоже, предлагает & quot; vnd.apple.mpegURL & quot; (& quot; Перечисление 1-7, возвращающееся к плагину для IE & quot;)
<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 с открытым исходным кодом, которая обрабатывает выбор источника, будет хорошим обходным путем.)