Термин
Ingest
Первый сервис, принимающий contribution-поток от источника и передающий его энкодеру, packager-у или live-origin. Въезд в стриминг-пайплайн.
Ingest-endpoint – это публичный адрес, на который пушит энкодер. Он терминирует contribution-протокол (RTMP, SRT, RIST, WHIP, RTSP), демультиплексирует аудио и видео, иногда делает первичную валидацию (формат, битрейт, выравнивание) и пересылает дальше – обычно транскодеру для live или packager-у и origin для pass-through. В managed live-сервисах (Mux, Cloudflare Stream, AWS Elemental MediaLive) ingest – это API-вызов, в который бьют stream key.
Ingest сложен по трём причинам. Первая: ему приходится терминировать «враждебные» протоколы – энкодеры иногда шлют битые RTMP-таймстемпы, поломанные H.264 NAL и неправильные PTS/DTS-пары, а ingest должен чисто отказать, не положив весь сервис. Вторая: ingest должен поглощать пики – на старте крупного события за минуту могут подключиться тысячи потоков, и ёмкость должна успеть. Третья: ingest должен аутентифицировать – обычно stream key в URL, иногда подписанный токен, IP-allowlist и квоты по событию.
Главный тренд 2022–2026 – замена RTMP на SRT и WHIP как ingest по умолчанию. RTMP однопоточен, single-bitrate, TCP-based с плохим восстановлением на нестабильных каналах. SRT и WHIP оба работают по UDP, восстанавливаются от потерь без раздувания задержки и чисто ложатся на облачный autoscaling. Mux, Cloudflare и большинство современных live-сервисов принимают все три на одном endpoint и дают энкодеру выбрать.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.