A simple and interactive video-calling web application built using WebRTC. This app allows users to connect with others via video calls directly in their browser. You can also connect to the call using your mobile phone by exposing your local server to the internet using ngrok.
- Real-time video calls: Connect with others using WebRTC.
- Multi-tab support: Test the app by opening multiple tabs in your browser.
- Mobile support: Share the call link with your mobile phone or friends.
- End call button: Easily disconnect the call.
Before running the project, ensure you have the following installed:
- Node.js (v14 or higher)
- npm (usually comes with Node.js)
- Chocolatey (for installing
ngrokon Windows) - ngrok (for exposing your local server to the internet)
- Fork this repository to your GitHub account.
- Clone the forked repository to your local machine:
git clone https://github.com/your-username/Video-Call-WebApp.git cd Video-Call-WebApp
Install the required dependencies using npm:
npm installStart the development server:
npm run start- The app should automatically open in your browser at
http://localhost:9000. - If it doesn’t open automatically, manually navigate to
http://localhost:9000in your browser.
- Open two tabs in your browser and navigate to
http://localhost:9000in both tabs. - Enter a username in both tabs and click Create.
- In the contact list, click the phone button next to the username to initiate a call.
- The two tabs will connect via video call.
- Use the End Call button to disconnect.
-
Install ngrok (if not already installed):
- Open PowerShell as Administrator and run:
choco install ngrok
- Open PowerShell as Administrator and run:
-
Authenticate ngrok:
- Run the following command in PowerShell:
ngrok config add-authtoken 2uAXjKTFL8luLFHYzu2pu0N58ri_3JP6ZNLu2o1KXnwHpp9TN
- Run the following command in PowerShell:
-
Expose your local server:
- Run the following command in PowerShell:
ngrok http http://localhost:9000
- Copy the
ngroklink (e.g.,https://abcd1234.ngrok.io) from the terminal.
- Run the following command in PowerShell:
-
Share the link:
- Open the
ngroklink on your mobile phone or share it with friends. - Enter a username and click Create to join the call.
- Open the
-
Keep the server running:
- Ensure the PowerShell window running
ngrokremains open while testing.
- Ensure the PowerShell window running
Video-Call-WebApp/
├── public/ # Static files (HTML, CSS, JS)
├── src/ # Source code
├── package.json # Project dependencies and scripts
├── README.md # Project documentation
└── ... # Other configuration files
- WebRTC: For real-time video and audio communication.
- Node.js: For the backend server.
- Express.js: For serving static files.
- Socket.io: For real-time signaling between clients.
- ngrok: For exposing the local server to the internet.
Contributions are welcome! If you’d like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Commit your changes (
git commit -m "Add your feature"). - Push to the branch (
git push origin feature/your-feature-name). - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Thanks to WebRTC for enabling real-time communication.
- Thanks to ngrok for making local development easier.
- Connect with me on LinkedIn for any questions or feedback.
Enjoy using the Video-Call-WebApp! If you have any questions or feedback, feel free to open an issue or reach out.