Термин

SFU (Selective Forwarding Unit)

Короткое определение

WebRTC-сервер, принимающий потоки от каждого участника и пересылающий их всем остальным без перекодирования. Такая топология является стандартной для любой WebRTC-сессии, в которой участвует более двух человек.

В mesh-топологии каждый участник отправляет свой поток каждому другому – при N участниках каждый загружает N−1 копий своего видео, и система быстро перегружается уже на 4–5 человек. SFU решает эту проблему: каждый участник отправляет один поток на SFU, а SFU рассылает копии всем остальным. С точки зрения участника объём загрузки остаётся постоянным; SFU берёт на себя нагрузку по дублированию. Для конференций на 50 человек SFU необходим; для двусторонних звонков mesh-топология вполне подходит.

SFU также делает simulcast и SVC полезными. Каждый участник загружает несколько слоёв разрешения (simulcast) или один масштабируемый набор слоёв (SVC). SFU пересылает каждому получателю подходящий слой в соответствии с его пропускной способностью: зритель с быстрым соединением получает 1080p, а пользователь с мобильной сетью – 360p, при этом всё это происходит из одного исходного потока. Без SFU пришлось бы кодировать поток, специфичный для каждого зрителя, прямо на источнике.

Open-source SFU в 2026 году – mediasoup, LiveKit, Janus, Jitsi Videobridge, Pion (Go-библиотека, позволяющая собрать SFU), OpenVidu. Коммерческие managed-решения – LiveKit Cloud, Twilio Video, Daily.co, Vonage Video API (бывший TokBox), Cloudflare Calls. Выбор обычно зависит от технологического стека (mediasoup для Node.js, Janus для C, LiveKit для Go), требований к масштабируемости и необходимости поддержки DRM и записи.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.