Термин
Preload hint
Тег HLS `#EXT-X-PRELOAD-HINT` сообщает плееру URL следующего partial-сегмента до его создания. Это позволяет запросу отправляться параллельно с процессом упаковки.
В LL-HLS механизм HTTP/2 server push был заменён на preload hint. Packager, зная URL следующего partial-сегмента (он определяется однозначно по segment template), добавляет `#EXT-X-PRELOAD-HINT` в конец текущего media playlist, указывая этот URL. Плеер обнаруживает подсказку, отправляет GET-запрос, origin удерживает ответ открытым до появления partial-сегмента, после чего передаёт его обратно с использованием chunked transfer encoding.
Механизм превращает логику «обнаружить, что partial есть → забрать его» в «забрать заранее → подождать, пока появится». На типичном CDN-канале экономия составляет 100–300 мс на каждый запрос partial, что при пяти partial’ах в секунду даёт выигрыш в 0,5–1,5 секунды по показателю glass-to-glass задержки по сравнению с наивной реализацией LL-HLS.
Preload hints работают эффективнее всего там, где CDN поддерживает объединение запросов (request coalescing): несколько плееров, запрашивающих один и тот же URL, должны использовать одно общее соединение с origin, а не открывать по отдельному. Без coalescing популярный live-стрим может перегрузить origin тысячами одинаковых hint-запросов, ожидающих один и тот же частичный ответ. Референсная реализация от Apple, поддержка LL-HLS в Akamai, CloudFront и Cloudflare – все они обеспечивают coalescing к 2025 году.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.