Wat een SFU doet
In een gesprek stuurt iedere deelnemer audio en vaak video. Een selective forwarding unit ontvangt elke stream één keer en bepaalt welke streams naar wie gaan – bijvoorbeeld alleen de actieve sprekers, of een lagere videokwaliteit voor iemand met een zwakke verbinding.
De SFU mengt en hercodeert de media niet. Zo blijft de vertraging laag en de serverbelasting beperkt, en kan ieder zelf kiezen welke weergave hij ziet.
Mesh, MCU en SFU vergeleken
- Mesh (peer-to-peer)
- Iedereen stuurt naar iedereen. Prima voor twee of drie personen; de upload groeit met elke deelnemer.
- MCU (multipoint control unit)
- De server decodeert, mengt en hercodeert alle streams tot één. Weinig bandbreedte voor de clients, maar zwaar voor de server en minder flexibel.
- SFU
- De server stuurt streams selectief door zonder ze te decoderen. Elke client verstuurt één keer en ontvangt wat hij nodig heeft.
Veel SFU’s gebruiken simulcast: de zender codeert zijn video in meerdere kwaliteiten en de SFU kiest per ontvanger de juiste.
SFU in Coviqo
Vergaderingen, spraakruimtes en gesprekken in Coviqo lopen via WebRTC en SFU-mediaservers in datacenters in Duitsland. De verbinding met de mediaserver is versleuteld.
In eind-tot-eind versleutelde ruimtes worden audio, video en schermdelingen bovendien frame voor frame op de apparaten versleuteld. De SFU stuurt dan alleen frames door die hij niet kan ontsleutelen.
Veelgestelde vragen
Kan de SFU mijn gesprek zien of horen?
In een normaal gesprek zijn de media onderweg versleuteld, maar verwerkt de mediaserver ze onversleuteld om ze door te sturen. In eind-tot-eind versleutelde ruimtes worden de frames op de apparaten versleuteld en kan de server ze niet ontsleutelen.
Waarom niet peer-to-peer?
Bij meer dan een paar mensen zou elke deelnemer zijn stream per ontvanger apart moeten uploaden. Met een SFU volstaat één upload per deelnemer.