Термин

ManagedMediaSource

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

Вариант MSE от Apple (iOS 17.1, конец 2023), дающий Safari и WebKit-браузерам memory-conscious MSE-API. Впервые включает hls.js и Shaka Player в iOS Safari.

Большую часть истории Safari единственным способом проиграть HLS на iOS был AVPlayer (или `<video>` с HLS-URL – под ним тот же AVPlayer). MSE сознательно не выставлялся, потому что стандартный MSE-API не даёт ОС видеть memory pressure, а на мобильном это важнее, чем на десктопе. JavaScript-плееры, работавшие в Chrome и Firefox, годами не работали в iOS Safari.

ManagedMediaSource, привезённый в iOS 17.1 в ноябре 2023, – ответ Apple. API-совместим с MSE, но с дополнительными хуками: ОС может попросить плеер выгрузить данные из source-buffer при нехватке памяти, а плеер может сообщать свой memory budget. Приложения на ManagedMediaSource получают ту же MSE-модель программирования, что и в Chrome, но с кооперативным управлением памятью.

Практический эффект – hls.js (с 1.5, 2024), Shaka Player (с 4.10) и dash.js теперь работают в iOS Safari, открывая кросс-платформенный JavaScript-плеер-код, ранее требовавший платформо-специфичных веток. AVPlayer остаётся нативным вариантом для iOS-приложений и дефолтом для `<video src=hls>`-сокращения, но для веб-приложений, уже крутящих hls.js в Chrome, тот же код теперь работает на iOS – крупный инженерный выигрыш.

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

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