Может ли кто-нибудь объяснить мне связь между MSE DASH и HLS?

Я новичок в потоковой передаче мультимедиа, только начал изучать адаптивную потоковую передачу. У меня несколько вопросов, поясните, пожалуйста -

  1. Поддерживает ли MSE только потоковую передачу DASH, я имею в виду, что если какой-либо веб-сайт, использующий DASH, и мой браузер поддерживает MSE с DASH, он будет воспроизводиться. Но если веб-сайт использует HLS, то мой браузер не воспроизводит видеоконтент, хотя у него есть MSE. Это потому, что MSE не поддерживает HLS, или мой браузер MSE не имеет реализации HLS?

  2. Если я проверяю веб-страницу, на которой воспроизводится видеопоток, я обнаружил, что многие сайты используют тег видео с атрибутом src как blob. Blob означает, что он использует MSE. Можно ли добавить blob в атрибут src для DASH (я проверял на Youtube) и для HLS (как в dailymotion или twitch.tv)?

  3. Я читал несколько статей на twitch.tv, поддерживает ли twitch.tv HLS только с плеером html5 или флеш-памятью? Если предположим, что браузер не поддерживает flash и HLS через проигрыватель html5, то нет возможности воспроизвести контент twitch.tv в браузере?

Спасибо


person user3704565    schedule 29.11.2016    source источник


Ответы (2)


Ваши вопросы действительно не имеют смысла, так как их задают, поэтому я не могу ответить на 1,2,3. Но я могу прояснить некоторые ваши затруднения. HLS и DASH - это совокупность технологий, а не отдельные конкурирующие технологии. Большинство протоколов потоковой передачи HTTPS состоят из двоичного видеоформата и текстового формата манифеста. DASH использует слишком сложный формат манифеста XML с фрагментированным видеоформатом MP4. HLS использует манифест m3u8 с фрагментированным транспортным потоком для формата видео. Начиная с IOS 10 HLS также поддерживает фрагментированный MP4. MSE может воспроизводить фрагментированный MP4. Но браузеры не читают манифесты. Следовательно, необходимо использовать приложение-плеер для загрузки и анализа манифеста, загрузки видеофрагментов, а затем передачи их браузеру для воспроизведения. Twitch использует HLS с транспортными потоками, но запускает специальное программное обеспечение в браузере для их преобразования во фрагменты MP4. (Или потоки flv в случае вспышки). Когда вы видите src с blob, это обычный (не фрагментированный) MP4, и это совершенно другое. Safari является исключением, он может воспроизводить HLS, используя манифест m3u8 в качестве источника.

person szatmary    schedule 29.11.2016
comment
Спасибо szatmary за прояснение моих сомнений ... Еще одна вещь, которую я хочу знать ... Я проверял twitch.tv на Chrome и обнаружил, что он получает видеопакеты с типом контента - для HLS. который показывает, что он использует HLS для воспроизведения видео, и я также видел, как он использует blob как src. Как я могу узнать, использует ли этот браузер MSE или нет. Я имею в виду, как crome играет на twitch.tv, использует ли он MSE для фрагментов MP4, преобразованных с помощью специального программного обеспечения twitch ... Я совершенно не знаком с этими терминами и технологиями ... так что, возможно, мои вопросы немного расплывчаты. - person user3704565; 30.11.2016
comment
Капля - это что-то другое, это не видео. Twitch скачивает файлы .ts. Файлы ts преобразуются в MP4 с помощью JavaScript, а затем добавляются в буфер источника мультимедиа. - person szatmary; 30.11.2016
comment
Спасибо, szatmary и Брэд за ответ .. Думаю, теперь мне все ясно .. еще одна вещь .. преобразование файла .ts в mp4 .. выполняется с помощью twitch или это преобразование выполняется браузером .. Я спрашиваю об этом, потому что Я видел, что некоторые браузеры не могут запускать twitch, потому что они не поддерживают HLS, хотя MSE есть и youtube работает. - person user3704565; 01.12.2016

MediaSource Extensions (MSE) поддерживает все, что вы можете распаковать в JavaScript и отправить в собственные кодеки браузера. Браузеры изначально не поддерживают DASH. Некоторые браузеры изначально поддерживают HLS, но большинство - нет. Можно использовать как DASH, так и HLS в браузерах, поддерживающих MSE, с правильной библиотекой JavaScript для обработки каждого из них.

Большой двоичный объект, который вы видите, может быть обычным двоичным двоичным объектом (неизменяемым фрагментом двоичного файла), но, скорее всего, он исходит от MSE.

Я не могу говорить о том, что Twitch делает внутри компании.

person Brad    schedule 29.11.2016
comment
Я не знаю, почему вы проиграли. Ответ хорош. Я проголосую за зачет. - person szatmary; 30.11.2016
comment
@szatmary Я ценю это, но в этом нет необходимости. Кто-то тоже проголосовал против вашего? : - / Иногда я действительно не получаю Stack Overflow. - person Brad; 30.11.2016