This is the backend for the video conferencing project using Mediasoup. It handles WebRTC media routing, socket signaling, room management, and real-time communication. Built with Node.js, Express.js, and Socket.IO, it ensures a scalable and efficient backend infrastructure for many-to-many video conferencing.
- Manages Mediasoup Workers, Routers, and Transports
- Handles WebRTC Producer & Consumer Streams
- Supports up to 5 Active Speakers per Room
- Real-time Signaling with Socket.IO
- Efficient SFU-based Media Streaming
- Room Creation and Management
- Node.js - Backend runtime environment
- Express.js - Lightweight web framework
- Socket.IO - WebSocket-based real-time communication
- Mediasoup - WebRTC Selective Forwarding Unit (SFU)
Ensure you have the following installed:
- Node.js (Latest LTS recommended)
- NPM or Yarn
-
Clone the Repository
git clone https://github.com/your-username/your-repo-name.git cd your-repo-name/backend -
Install Dependencies
npm install
-
Configure Environment Variables
- Create a
.envfile in the root directory. - Add necessary Mediasoup and WebRTC configurations.
- Create a
-
Start the Backend Server
npm start
- Users Join a Room
- They connect via WebRTC and are assigned producer/consumer roles.
- Mediasoup Manages Media Routing
- Optimizes video/audio streams for efficient bandwidth usage.
- Socket.IO Handles Communication
- Provides real-time updates between clients.
- Active Speaker Detection
- Dynamically updates the UI to display the top 5 active speakers.
For any queries, feel free to reach out or create an issue in the repository.