A cutting-edge video conferencing application leveraging WebRTC, Firebase, and TensorFlow.js for real-time video enhancement.
- Real-time 1-to-1 video calls using WebRTC
- Firebase Firestore for signaling and call management
- TensorFlow.js integration for on-the-fly video enhancement
- Responsive design with Bootstrap
- Email notification system for sharing call IDs
- WebRTC
- Firebase (Firestore)
- TensorFlow.js
- JavaScript (ES6+)
- HTML5 & CSS3
- Bootstrap
- EmailJS
- Node.js (v14 or later recommended)
- npm (usually comes with Node.js)
- A Firebase account and project
-
Clone the repository:
git clone https://github.com/sohitrharma/enhanced-video-conferencing-app.git cd enhanced-video-conferencing-app
-
Install dependencies:
npm install
-
Update Firebase configuration: Open
main.js
and replace thefirebaseConfig
object with your own Firebase project details. -
Set up EmailJS (optional): If you want to use the email notification feature, sign up at EmailJS and update the initialization in
index.html
. -
Run the development server:
npm run dev
- Open the application in your browser.
- Click "Start Webcam" to initialize your camera.
- Click "Create Call" to generate a new call ID.
- Share the call ID with another user, or enter a received call ID and click "Answer".
- To end the call, click "Hangup".
This app uses TensorFlow.js to apply real-time enhancements to the video stream. The enhancement model is loaded from model.json
and processes video frames to improve quality.
Users can share call IDs via email directly from the app interface. This feature uses EmailJS to send emails without a backend server.
firebase.json
: Contains Firebase hosting configuration.model.json
: Defines the TensorFlow.js model for video enhancement.
Contributions, issues, and feature requests are welcome! Feel free to check issues page.
This project is MIT licensed.
Rohit Sharma
- GitHub: @sohitrharma
- LinkedIn: @rohitsanjaysharma