Thanks — I’m responding to your follow-up about supporting up to 50 visible users per screen at max 360p.
Recommended starting hardware
• CPU: 8–16 cores (modern Intel Xeon / AMD EPYC). Multi-core load distribution is important.
• RAM: 16–32 GB.
• Network: 1 Gbps NIC (10 Gbps preferred for headroom); plan for ~25 Mbps outbound per participant if a single user receives 50 streams at ~500 kbps each, but aggregate outbound depends on subscription patterns.
• Storage: 250–500 GB NVMe SSD (only required if you record sessions).
• GPU: Not required unless doing server-side transcoding or AI workloads.
Operational recommendations
• Enable simulcast and adaptive stream so the SFU only forwards the appropriate 360p layer or lower for thumbnails.
• Use selective/dynamic subscription so clients only receive streams they actually display.
• Start with a single well-provisioned node; add more LiveKit nodes behind a load balancer or use a small Kubernetes cluster if you need redundancy or higher concurrency.
If you want, I can:
• Estimate aggregate outbound bandwidth for your expected concurrency pattern (how many simultaneous active speakers and how many total participants).
• Provide example Kubernetes CPU/memory requests & limits for an 8-core and a 16-core node. Which would you like? Sources:
Going beyond a single-core |
How We Built a Globally Distributed WebRTC Mesh Network