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 с открытым исходным кодом, которая обрабатывает выбор источника, будет хорошим обходным путем.)

Ответы на вопрос(1)

Ваш ответ на вопрос