High-performance Selective Forwarding Unit with server-authoritative signaling and perfect negotiation
The server acts as an SFU: it receives media streams from each participant and intelligently forwards only the required streams to others. This approach offers excellent scalability and allows clients to control which streams they receive.
The server controls the negotiation flow. It can initiate offers for new participants, track additions/removals, simulcast layer changes, and ICE restarts.
Client operates as a Polite Peer.
When the server sends an sfu_offer, the client always yields.
sfu_joined eventsetLocalDescriptionsfu_offer to serversfu_offer from Server
This logic handles regular renegotiation and ICE restart identically.
Candidates are sent immediately. When the last candidate arrives, send
sfu_ice_candidate with data: null.
Triggered via WebSocket event or manually by sending sfu_ice_restart .
RTCRtpTransceivers for dynamic track management
Server-authoritative perfect negotiation
Robust reconnection handling
Explore full API specifications