
SFU (Selective Forwarding Unit)
glossary.categories.architectureArquitetura de servidor que encaminha fluxos entre participantes de forma eficiente
O que é um SFU?
Uma Selective Forwarding Unit (SFU) é uma arquitetura de servidor para videoconferência que recebe fluxos de mídia de todos os participantes e os encaminha seletivamente para os outros participantes — sem decodificar, mixar ou transcodificar a mídia. Pense no SFU como um sistema de correio inteligente: ele recebe seus pacotes e os distribui para as caixas de correio corretas, mas nunca abre os pacotes.
O SFU é a arquitetura dominante para videoconferência moderna. Zoom, Google Meet, Microsoft Teams, Discord e praticamente todas as grandes plataformas de vídeo usam SFUs como base de sua infraestrutura. É o equilíbrio ideal entre custo de servidor, qualidade e escalabilidade.
Como o SFU Funciona
- Cada participante envia seu fluxo de mídia para o SFU (um upload)
- O SFU recebe todos os fluxos de todos os participantes
- O SFU encaminha seletivamente os fluxos apropriados para cada participante
- Cada participante baixa fluxos de outros participantes do SFU
Vantagens do SFU
- Escalabilidade: Pode lidar com centenas de participantes por servidor
- Baixa latência: Sem decodificação/recodificação, adiciona ~50ms vs ~200ms do MCU
- Sem perda de qualidade: Mídia é encaminhada, não transcodificada
- Flexibilidade do cliente: Cada participante pode escolher qual qualidade receber
- Custo moderado: Muito mais barato que MCU por participante
SFU com Simulcast
Simulcast é o companheiro perfeito do SFU. Com simulcast, cada participante envia múltiplas versões do mesmo vídeo (por exemplo, 720p, 360p, 180p). O SFU então escolhe qual versão encaminhar para cada receptor com base em sua largura de banda e tamanho de exibição.
Implementações Populares de SFU
- mediasoup: SFU de código aberto em C++/Node.js, usado por muitas plataformas comerciais
- Janus: Gateway WebRTC de código aberto com funcionalidade SFU
- Pion: Implementação WebRTC em Go, popular para SFUs personalizados
- LiveKit: Plataforma de comunicação em tempo real de código aberto
- Cloudflare Calls: SFU serverless na borda global da Cloudflare
Referências
- Selective Forwarding Unit (SFU) Architecture - Stream
- P2P, SFU and MCU - WebRTC Architectures Explained - DigitalSamba