A real-time video communication application built with React, Socket.io, and WebRTC. This application allows users to join rooms, make video calls, and manage their streams effectively.
- Real-time communication: Make and receive video calls in real-time.
- Room Management: Create or join rooms using unique room IDs.
- Stream Control: Toggle webcam streams on and off.
- WebRTC Integration: Utilizes WebRTC for peer-to-peer communication.
- Socket.io Signaling: Manages signaling between peers via Socket.io.
Check out the live demo of the project here.
Follow these steps to set up the project locally:
- Clone the repository:
git clone https://github.com/UKD1211/connectRTC cd connectRTC
- Install dependencies::
npm install
- Run the server::
node/nodemon server.js
- Start the client::
npm start/npm run dev
- Open the application in your browser.
- Enter your email and a room ID to join or create a room.
- Once in a room, use the interface to make video calls.
- Toggle your webcam stream using the provided buttons.
- React
- ReactPlayer
- CSS (with custom styles)
- RTCPeerConnection
- MediaDevices API
/root
├── /public
├── /src
│ ├── /components
│ │ ├── LobbyScreen.jsx
│ │ ├── RoomPage.jsx
│ ├── /context
│ │ ├── SocketProvider.js
│ ├── /service
│ │ ├── peer.js
│ ├── App.js
│ ├── index.js
├── server.js
├── README.md
├── package.json