Multi-peer connections with React WebRTC, featuring multiple webcams and screen sharing capabilities, along with chat functionalities, session leave and end options using RTC DataChannel.
Here is a cool demonstration of the feature:
This project is a React application built with TypeScript that utilizes WebRTC technology for establishing multi-peer connections. It includes features for multi-webcam streaming and multi-screen sharing using WebRTC for real-time communication.
- Multi-Peer Connection: Establish direct peer-to-peer connections between multiple clients.
- Multi-Webcam Support: Stream video from multiple webcams simultaneously.
- Multi-Screen Share: Share screens from multiple clients in real-time.
- RTC-Datachannel: Employs RTC DataChannel for messaging and other real-time signaling communications, such as session leave or end session for everyone.
- Signaling: Socket.IO is used for sending offers and answers in this project. Other signaling methods, such as WebSocket, REST APIs, or SIP (Session Initiation Protocol), can also be employed.
Follow these steps to set up and run the project locally.
- Node.js (v14.x or higher)
- npm (v6.x or higher) or yarn (v1.x or higher)
- Git
git clone https://github.com/justpingme/React-WebRTC-MultiCamScreenShare.git
cd React-WebRTC-MultiCamScreenSharecd client
npm install Open New terminal
cd server
npm installGetting Started
Starting the Server
npm run devStarting the Client
npm startFeel free to customize this template further based on your specific project details, branding, or additional features you may want to highlight. Adjust the folder structure section to accurately reflect your project's organization.
Contributing Contributions are welcome! Feel free to fork the repository and submit pull requests to propose improvements or additional features.
License This project is licensed under the MIT License - see the LICENSE file for details.
- WebRTC: Real-time communication protocol for peer-to-peer applications.
- React: JavaScript library for building user interfaces.
- Socket.IO: Real-time bidirectional event-based communication library.
This project is licensed under the MIT License. See the LICENSE file for details.
