Выпуск

Выпуск 38. Веб-плееры: hls.js, Shaka Player, dash.js, Video.js

Декодировано — подкаст о видеоинженерии · 1 ноября 2026 г. · 7 мин

Никто не пишет плеер прямо на MSE и EME: между стандартами браузера и продуктом лежит слой библиотек, и выбор между ними — архитектурное решение. От него зависит, какие протоколы, DRM и устройства вы поддержите, сколько килобайт скачает зритель до старта и как поток переживёт сбой. Выпуск сравнивает четыре библиотеки, на которых держится почти весь открытый веб: hls.js, Shaka Player, dash.js и Video.js. В выпуске: — зачем поверх MSE и EME нужен слой библиотек: сам браузер не гоняет ABR, не следит за буфером и не спасает поток при скачке сети; — hls.js: узкий специалист по HLS весом ≈ 156 КБ и его трансмуксер, пересобирающий MPEG-TS в fMP4 без перекодирования; — Shaka Player: HLS и DASH за одним API, все три DRM и офлайн-хранилище в IndexedDB — и почему его ≈ 239 КБ ощутимы на слабых Smart TV; — dash.js как референс-плеер DASH-IF: качество выбирает борьба ABR-правил — по пропускной способности канала и по заполнению буфера (BOLA); — Video.js как каркас из плагинов и его Streaming Processor Framework с HLS-движком в ≈ 12 КБ, который на август 2026 года всё ещё в бете; — выбор плеера по матрице «протоколы × DRM × платформы × вес» и две ветки восстановления в hls.js: startLoad() на сбой сети и recoverMediaError() на ошибку медиа. «Декодировано» — подкаст компании Фора Софт по материалам серии книг «Справочник по видеоинженерии». Второй сезон — о стриминге, по книге «Видеостриминг». Фора Софт с 2005 года создаёт видеопродукты, real-time-коммуникации и AI-системы: 250+ проектов, живой стриминг с задержкой 0,4–0,5 секунды на 10 000 зрителей, решения для NBC, CBS и Red Bull. Если вы делаете продукт, где есть видео или онлайн-звонки, — приходите к нам: https://fora-soft.ru/

Страница выпуска