Термин

LL-DASH (Low-Latency DASH)

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

Профиль DASH-IF с низкой задержкой (LL-DASH ИОП, актуальная редакция 2024): использует CMAF с передачей чанками и `availabilityTimeOffset` для потоковой передачи в реальном времени с задержкой от экрана к экрану 2–5 секунд.

LL-DASH решает ту же проблему задержки, что и LL-HLS, но с использованием инструментов DASH. Вместо partial-сегментов и preload hints LL-DASH использует CMAF-чанки, передаваемые через HTTP/1.1 с chunked transfer encoding. Пакер формирует CMAF-чанки длительностью 200–400 мс внутри более крупных сегментов продолжительностью 2–4 секунды и отправляет их немедленно. MPD-манифест содержит атрибут `availabilityTimeOffset` (ATO), который указывает плееру запрашивать сегменты до их номинального времени доступности – плеер опирается на частично полученный chunked-ответ, чтобы завершить загрузку.

Поведение плеера в LL-DASH – «запрашивать следующий сегмент сразу после сдвига live edge, интерпретировать chunked-ответ как поток CMAF-чанков, парсить и инжектить каждый чанк в MSE по мере получения». Поддержка LL-DASH появилась в dash.js с версии 3.0 (2020), а в Shaka – с версии 3.2 (2021). Уточнение IOP 2024 года дало более чёткие рекомендации по параметрам suggested presentation delay, target latency и поведению ABR в условиях низкой задержки.

LL-DASH и LL-HLS обеспечивают схожие задержки и предъявляют аналогичные требования к CDN (поддержка chunked transfer, объединённых запросов, предварительного получения частичных ответов). Выбор между ними в основном зависит от платформы: устройства Apple требуют HLS, а всё остальное может воспроизводить DASH. Большинство операторов используют один и тот же вывод CMAF-пакера, чтобы одни и те же чанки одновременно обслуживали LL-HLS и LL-DASH.

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

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