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