Regarding the issue of screen sharing self-hosting, my current room has 130 people and the bandwidth is too high (around 400Mbps). Using the official service causes lag and stuttering in China. Are there any solutions? How should I choose a server?
When self-hosting single room scalability is limited to a single server, because livekit OSS doesn’t support multi-homed rooms. Is there a reason for all participants to actively participate in the room? Or are there passive observers as well? If yes, webrtc might not be needed for all of them.
@Raghu_Udiyar’s framing is right. 1-to-130 broadcast over raw WebRTC is wasteful regardless of server. Math: 130 × ~3 Mbps screen share = ~400 Mbps, the SFU fanning out one track 130 times.
Two paths:
- Mostly passive viewers. Egress with
segment_outputstoHLS, stored onS3oraliOSS(Alibaba OSS is a built-in egress destination), served via a Chinese CDN. SFU bandwidth drops to the presenter’s single track plus the egress transcoder. Latency~5to10s; fine for passive viewing. - Everyone active. A self-hosted OSS room is bound to one node. Redis-distributed mode spreads rooms across nodes, not one room. That’s Cloud Scale-tier or commercial-mesh territory. Also trim publisher resolution and fps; simulcast on screen share is typically single-layer.
China side: host the SFU on Alibaba or Tencent cloud near your users. Global Cloud edges fight the Great Firewall on cross-border WebRTC.
However, LiveKit does not support SFU and can only use their cloud service.