Термин
Pull-протокол
Стриминговый протокол, в котором приёмник сам инициирует соединение и тянет медиа из отправителя. Классические pull-протоколы – HLS, DASH и RTSP-from-camera.
В pull-протоколе командует потребитель. Плеер или downstream-сервер открывает TCP-соединение к URL и читает байты; сервер отдаёт нужный сегмент, манифест или RTP-пакет. Pull естественен для distribution миллионам плееров: каждый плеер – уникальный потребитель, а сервер просто ждёт. HLS и DASH в своей основе – pull, включая live: плеер обновляет манифест и тянет новые сегменты по мере появления.
У pull два больших операционных плюса при масштабе раздачи. Первый: на пути отвечает любой HTTP-кеш, поэтому CDN тривиально встаёт перед origin. Второй: сервер не хранит состояние на каждого зрителя – он не отслеживает, какой клиент получил какой байт, потому что каждый запрос самодостаточен. Push-пайплайны вынуждены вести сессии, и это сложнее масштабировать и хуже failover-ить между регионами.
Слабое место pull – задержка. Каждый сегмент должен быть сначала опубликован, прежде чем плеер сможет его запросить, и каждый fetch добавляет round-trip. LL-HLS и LL-DASH атакуют это HTTP/2 chunked transfer и blocking playlist reload, но pull всегда проиграет push в самых низких задержках – поэтому WebRTC и WHEP, хотя и стартуют через HTTP-хэндшейк, после поднятия SCTP/SRTP ведут себя как push-стриминг.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.