RhinoMeet is a WebRTC-based video chat application inspired by Omegle. It allows users to connect and communicate in real-time via audio, video, and text chat. The application leverages WebSockets for signaling and WebRTC for media transmission between peers. Users can join random video chats with other connected users, enjoy features like screen sharing, skipping users, and real-time text messaging.
- Real-time video and audio chat: Connect instantly with peers using WebRTC technology for seamless communication.
- Random user matching: Enjoy the spontaneity of random pairing, just like Omegle, for engaging video chat sessions.
- Screen sharing: Share your screen with the connected user during your conversation for added interactivity.
- Text messaging: Send and receive real-time messages while on a video chat for a complete chat experience.
- Skip functionality: Easily skip the current user and connect with a new one in seconds.
- Peer-to-peer connection: High-quality, efficient media transmission powered by WebRTC for smooth video and audio calls.
- Echo cancellation and noise suppression: Built-in browser features ensure crisp and clear audio without background noise or echoes.
To install and run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Shobhit2205/RhinoMeet.git
-
Navigate to the folder:
cd RhinoMeet
-
Install dependencies:
cd server npm install
-
Set up environment variables:
cp .env.example .env
-
Start the backend server:
npm run start:dev
The server should now be running on http://localhost:8000.
-
starting frontend and Install dependencies:
cd client npm install
-
Set up environment variables:
cp .env.example .env
-
Start the Frontend:
npm run dev
The client should now be running on http://localhost:5173.
- Open your browser and navigate to the frontend of your application.
- Once connected, the application will randomly match you with another online user.
- You can engage in video chat, share your screen, send messages, and skip users.
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature
-
Make your changes and commit them:
git commit -m "Add a new feature"
-
Push your changes:
git push origin feature/your-feature
-
Submit a pull request.
- Inspired by Omegle.
- Powered by WebRTC and WebSockets for real-time communication.