Термин
Push-протокол
Стриминговый протокол, в котором источник сам инициирует соединение и передаёт медиа данные приёмнику. К классическим push-протоколам относятся RTMP, SRT (caller-режим), RIST (sender-режим) и WHIP.
В push-протоколе отправитель устанавливает TCP- или UDP-сессию на известный приёмнику endpoint и передаёт туда медиа. Приёмник при этом пассивен – он публикует URL или SRT IP/порт и ждёт подключения. Push-архитектура естественно подходит для contribution из полевых условий: полевой блок может находиться за NAT и менять IP-адрес, тогда как приёмник в дата-центре остаётся стабильным и доступным. Почти все рабочие процессы OBS, vMix и аппаратных энкодеров используют именно push-подход.
Push противопоставлен pull, при котором приёмник сам устанавливает соединение с отправителем и получает медиа (классический пример – RTSP с IP-камеры). У push есть преимущество: исходящее соединение естественным образом проходит через домашний и корпоративный NAT. Минус – приёмник должен быть доступен по адресу. Для приёма контента из любой точки интернета стандартный подход – публичный балансируемый ingest-эндпоинт, принимающий RTMP/SRT/WHIP с любого источника.
Push-протоколы различаются по способу ретрансляции и уровню безопасности. RTMP работает поверх TCP, обеспечивая надёжность «из коробки», но страдает от задержек из-за head-of-line blocking. SRT использует UDP с ARQ и настраиваемым окном буферизации. RIST похож на SRT, но поддерживает многоточечные соединения и лучше соответствует стандартам вещания. WHIP – это push-WebRTC поверх HTTP-сигнализации, идеально подходящий для браузеров. Выбор протокола зависит от RTT, профиля потерь пакетов и того, является ли источник аппаратным или программным.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.