Короткое определение

Доминирующий open-source JavaScript-плеер HLS. Лицензия Apache 2.0, работает в любом браузере с MSE; используется Twitch, JW Player, Video.js и тысячами других деплоев.

hls.js создал Guillaume du Pontavice в 2015 году, чтобы привезти HLS-воспроизведение в браузеры без нативной поддержки – исторически это был любой десктоп, кроме Safari. Парсит m3u8-плейлисты, забирает сегменты, гоняет ABR, управляет MSE source buffers, интегрируется с EME для DRM. Библиотека зрелая, хорошо документирована, обильно протестирована и поставляется в составе многих коммерческих плеер-продуктов. К 2026 году – де-факто открытый HLS-плеер.

hls.js обрабатывает классический HLS, LL-HLS (с 1.1, 2022), fMP4-сегменты (с 0.13, 2018), live и VOD, мульти-аудио и субтитры, content steering (с 1.4, 2023) и Widevine/PlayReady через EME. ABR – throughput-based с safety constraint-ами по уровню буфера; поведение ABR конфигурируется через десятки параметров. Размер библиотеки – около 80 КБ minified+gzipped, мало для любой видео-страницы.

Продакшен-паттерны: hls.js как дефолт для десктопа и Android-браузеров, нативный HLS Safari – для iOS. Часть операторов всегда используют hls.js даже в Safari ради поведенческой консистентности (нативный HLS в Safari делает некоторые вещи иначе). hls.js встроен в плеер Twitch на вебе, дефолтный плеер Cloudflare Stream и многие меньшие сервисы. Команда мейнтейнеров активна, релизы регулярны, API стабилен.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.