Термин

SFU (Selective Forwarding Unit)

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

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

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

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

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

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

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