Was eine SFU macht
In einem Anruf sendet jede Person Audio und oft auch Video. Eine Selective Forwarding Unit empfängt jeden Strom einmal und entscheidet, welche Ströme sie an wen weiterleitet – zum Beispiel nur die aktiven Sprecher oder eine geringere Videoqualität für jemanden mit schwacher Verbindung.
Die SFU mischt und kodiert die Medien nicht neu. Das hält die Verzögerung niedrig und die Serverlast moderat, und jede Person kann selbst wählen, welches Layout sie sieht.
Mesh, MCU und SFU im Vergleich
- Mesh (Peer-to-Peer)
- Alle senden an alle. Gut für zwei oder drei Personen; der Upload wächst mit jeder weiteren Person.
- MCU (Multipoint Control Unit)
- Der Server dekodiert, mischt und kodiert alle Ströme zu einem neu. Wenig Bandbreite für die Clients, aber viel Last auf dem Server und weniger flexibel.
- SFU
- Der Server leitet Ströme gezielt weiter, ohne sie zu dekodieren. Jeder Client sendet einmal und empfängt, was er braucht.
Viele SFUs nutzen Simulcast: Der Sender kodiert sein Video in mehreren Qualitäten, und die SFU wählt pro Empfänger die passende.
SFU bei Coviqo
Meetings, Sprachräume und Anrufe laufen bei Coviqo über WebRTC und SFU-Medienserver in Rechenzentren in Deutschland. Die Verbindung zum Medienserver ist verschlüsselt.
In Ende-zu-Ende-verschlüsselten Räumen werden Audio, Video und Bildschirmfreigaben zusätzlich Bild für Bild auf den Geräten verschlüsselt. Die SFU leitet dann nur Frames weiter, die sie nicht entschlüsseln kann.
Häufige Fragen
Kann die SFU meinen Anruf sehen oder hören?
In einem normalen Anruf sind die Medien unterwegs verschlüsselt, der Medienserver verarbeitet sie zum Weiterleiten aber unverschlüsselt. In Ende-zu-Ende-verschlüsselten Räumen werden die Frames auf den Geräten verschlüsselt, und der Server kann sie nicht entschlüsseln.
Warum nicht Peer-to-Peer?
Ab ein paar Personen müsste jede Person ihren Strom für jeden Empfänger einzeln hochladen. Mit einer SFU reicht ein Upload pro Person.