UNPKG

mie-webconf-app

Version:

This is a mediasoup based web conferencing app with socket.io for signalling

53 lines (35 loc) โ€ข 1.74 kB
## ๐ŸŽฅ Mediasoup based Video Conferencing App A full-stack WebRTC-based video conferencing application built using React, Socket.IO, Express, Mediasoup, and Redis. ### ๐Ÿš€ Features - Real-time group video/audio calling using Mediasoup - Socket.IO-based signaling for fast and reliable communication - Redis integration to support multiple concurrent calls across rooms - Join or create rooms using a unique roomId - Enter a unique username for each call session - Mute/unmute audio and video during calls - Leave the call anytime ### ๐Ÿ› ๏ธ Tech Stack Frontend - React Backend - Express, Socket.IO Media Layer - Mediasoup Data Store - Redis (for room/call management) ### ๐Ÿ”ง Required Environment Variables Your app requires the following environment variables to connect to Redis: - `REDIS_HOST` โ€“ the hostname of your Redis server - `REDIS_PORT` โ€“ the port (usually 6379) - `REDIS_PASSWORD` โ€“ the password for authentication. You can define these in your environment or in a `.env` file. Make sure to run Redis locally or use a cloud Redis provider. All usernames within a room must be unique. ### ๐Ÿง‘โ€๐Ÿ’ป Usage npm start By default, the app runs on http://localhost:5001. ### ๐Ÿ“ก How It Works - User enters a username and room ID. - If the room ID exists, the user joins the room; otherwise, a new room is created. - Media capabilities are negotiated using Mediasoup. - Media streams are transmitted over WebRTC using a Send/Receive transport. - Redis ensures that multiple rooms and users can be handled simultaneously without collisions. ### ๐Ÿงช Features in Progress / TODO - Add additional workers and implement round robin. - UI Changes for preserving the state.