This project implements a real-time Peer-to-Peer (P2P) Video Conferencing application using WebRTC. It enables users to communicate via video, audio, and text chat, making it an ideal solution for remote collaboration. The system is designed with a Node.js backend for signaling and a JavaScript frontend, hosted on Vercel and AWS.
- Video & Audio Streaming: Direct P2P connections for low-latency communication.
- Text Chat: Built-in messaging system with usernames.
- Media Controls: Mute/unmute audio and toggle video during calls.
- Create & Join Rooms: Generate unique room IDs and invite participants.
- Error Handling: Clear error messages for missing inputs or invalid rooms.
- Pause & Resume: Manage media streams dynamically.
- STUN Servers: Uses
stun.l.google.com:19302for NAT traversal. - Secure HTTPS Deployment: Enables camera and microphone permissions.
- Enter a username.
- Click Create Room to generate a unique Room ID.
- Share the Room ID with others to join.
- Enter a username.
- Input the Room ID.
- Click Join Room to connect.
- Mute/Unmute Audio: Toggle microphone status.
- Enable/Disable Video: Control camera streaming.
- Open chat using the Chat button.
- Send and receive messages in real-time.
- Built with: Node.js, Express, Socket.IO.
- Hosted on: AWS with HTTPS support.
- Handles: Room creation, WebRTC signaling, user events, and chat messaging.
- Built with: HTML, CSS, JavaScript.
- Hosted on: Vercel.
- Handles: UI interactions, WebRTC connections, and messaging.
- Direct audio/video streaming between users.
- STUN/TURN servers handle network traversal.
- ICE Candidates manage connectivity between peers.
- Frontend: Vercel Deployment
- Backend: Hosted on AWS with Docker & GitHub Actions for CI/CD.
🚀 Experience seamless peer-to-peer video communication!