~/projects / video-conferencing-platform
Video Conferencing Platform
Scalable real-time video conferencing powered by WebRTC and MediaSoup
// the problem
Building a reliable video conferencing platform that supports multiple participants is challenging due to WebRTC's peer-to-peer limitations. Mesh architectures quickly become inefficient as users increase, requiring a scalable media routing solution while maintaining low latency and high-quality streaming.
// how it works
The project began with implementing peer-to-peer video calls using native WebRTC while learning SDP negotiation, ICE candidates, and STUN/TURN servers. After exploring mesh, MCU, and SFU architectures, MediaSoup was adopted as the SFU to efficiently forward media streams between participants. Custom WebSocket signaling handled room management, while scalable MediaSoup workers dynamically distributed user load. The application was tested on AWS EC2 using NGINX and TMUX, with Kubernetes planned for production deployments.
// key features
- ✓One-to-one and group video/audio conferencing
- ✓MediaSoup SFU for scalable multi-user streaming
- ✓Screen sharing
- ✓Real-time text chat
- ✓File sharing
- ✓Host moderation controls (mute/remove participants)
- ✓Dynamic room creation and management
- ✓Adaptive simulcast streaming
- ✓Automatic MediaSoup worker scaling
- ✓WebSocket-based signaling server