This project implements a WebRTC-based video calling application where users can create and join video call rooms for peer-to-peer (P2P) communication. The application uses Socket.IO for signaling and WebRTC to establish direct, real-time connections between users. By entering a unique room name and email, users can connect with others, and once two users enter the same room, they can initiate a video call.
- Room Creation: Allows users to create a unique room for video calls.
- Real-Time Signaling: Utilizes Socket.IO for signaling, room management, and message exchange between users.
- Peer-to-Peer Communication: Establishes direct P2P video calls using WebRTC after signaling.
- Secure Communication: The video call is encrypted, ensuring secure communication between users.
- End-to-End Video Call: Users can see and hear each other in real-time.
- WebRTC - Peer-to-peer real-time video and audio communication.
- Socket.IO - Real-time communication for signaling and room management.
- Node.js - Backend runtime for the signaling server.
- Express.js - Web framework to handle routing and middleware.
- HTML5/CSS3/JavaScript - Frontend technologies for the user interface and WebRTC logic.
-
Create a Room:
- Enter your email and a unique room name.
- Click Join Room to create and enter the room.
-
Share the Room:
- After joining the room, you can share the room link with the second person.
- The second person needs to enter the same room name and their email.
-
Start the Call:
- Once both users are in the room, the video call will be automatically initiated.
-
End the Call:
- Either user can click the End Call button or close the browser window to end the call.
- User 1 enters the room, and a signaling message is sent to the server.
- User 2 enters the same room, and the signaling messages are exchanged via Socket.IO.
- ICE Candidates are gathered by WebRTC and exchanged to establish the peer-to-peer connection.
- Once the signaling and ICE candidates are exchanged, the P2P connection is established, and both users can see and hear each other.
- Clone the Repository
git clone https://github.com/yourusername/webrtc-video-call.git cd webrtc-video-call