Shaka Player — это библиотека JavaScript с открытым исходным кодом для адаптивного мультимедиа. Он воспроизводит адаптивные мультимедийные форматы (такие как DASH и HLS) в браузере без использования плагинов или Flash. Вместо этого Shaka Player использует открытые веб-стандарты MediaSource Extensions и Encrypted Media Extensions.
Shaka Player также поддерживает автономное хранение и воспроизведение мультимедиа с помощью IndexedDB. Контент может храниться в любом браузере. Хранение лицензий зависит от поддержки браузера.
Наша главная цель — максимально упростить потоковую передачу видео и аудио с адаптивным битрейтом с использованием современных браузерных технологий. Мы стараемся, чтобы библиотека была легкой, простой и свободной от сторонних зависимостей. Все, что вам нужно для сборки и развертывания, находится в исходниках.
Особенности DASH
Поддерживаемые функции DASH:
VOD, Live и In-Progress Recordings (динамический контент VOD) MPD@timeShiftBufferDepth для поиска назад в прямых трансляциях Многопериодный контент (статический и динамический) Элементы Xlink (actuate=onLoad only, разрешение на ноль, резервный контент) Все формы информации индекса сегмента: SegmentBase@indexRange, SegmentTimeline, SegmentTemplate@duration, SegmentTemplate@index, SegmentList Мультикодековые/мультиконтейнерные манифесты (обговариваем поддержку с браузером и выбираем лучшие) Зашифрованный контент (включая настраиваемые схемы ContentProtection, PSSH в манифесте) Вращение ключа Треки в режиме трюка
Особенности ЗОЖ
Поддерживаемые функции HLS:
Типы VOD, Live и Event Зашифрованный контент с Widevine Поддержка ISO-BMFF/MP4/CMAF Поддержка MPEG-2 TS (трансмуксирование обеспечивается mux.js v4.4+, должно быть включено отдельно) ВебВТТ и ТТМЛ Подписи CEA-608/708