Xmtv player
HLS или HTTP Live Streaming — протокол для потоковой передачи медиа, простой и самый распространенный способ организации трансляций на данный момент.
В основе работы лежит принцип разбиения цельного потока на небольшие фрагменты (чанки), последовательно скачиваемые по HTTP. Поток непрерывен и теоретически может быть бесконечным. В начале сессии скачивается манифест с расширением m3u8, содержащий метаданные о вложенных потоках. Например, с разным качеством или аудио дорожкой (все эти данные плеер возьмет из манифеста автоматически).
PlayerJS использует библиотеку hls.js последней версии для управления HLS, но в настройках можно выбрать и конкретный релиз. Поддержка HLS включена в конструкторе по умолчанию.
В PRO версии конструктора есть расширенные настройки HLS.
Содержание
Как плеер понимает, что это HLS
Плеер определяет, что перед ним манифест HLS по расширению .m3u8. Вы можете не использовать его, если добавите в коде подключения плеера параметр hls:1 (с версии 11.6). Не используйте расширение txt ‒ оно зарезервировано за плейлистами.
var player = new Playerjs({id:»player», file:»//site.com/stream», hls:1});
Специальные события для JS API
Можно получать некоторые данные HLS через JS API. Например, можно подписаться на метаданные фрагментов событием fragdata через слушатель (работает с 9 версии плеера).
document.getElementById(«player»).addEventListener(«fragdata», onFragmentData); var player = new Playerjs({id:»player», file:»//site.com/stream.m3u8″}); function onFragmentData(event){ console.log(event.info); }
В JS API также есть событие fragment для получения ссылок воспроизводимых фрагментов.
Для HLS также может быть актуальна технология DVR.
Параметры hls.js
Вы можете передать любые параметры hls.js с помощью объекта hlsconfig
var player = new Playerjs({id:»player», file:»//site.com/stream.m3u8″, hlsconfig:{maxBufferLength:30, maxLoadingDelay:4}});
AES шифрование
Поток может быть защищен AES шифрованием. Чтобы проиграть такой поток, плеер не нужно дополнительно настраивать. Дешифрование происходит с помощью серверных файлов ключей и вектора инициализации (IV), который указан в манифесте.
Свой дистрибутив
Вы можете использовать свой дистрибутив hls.js, например для реализации P2P. Для этого достаточно отключить модуль HLS в конструкторе и подключить его отдельно тегом script на странице до подключения плеера.
Добавить комментарий