This project enables easy one-to-one video calls directly from your web browser using WebRTC technology.
This project allows you to:
Sign in
with a username.Initiate video calls
by clicking the call button next to a recipient's username.Switch
between cameras, microphones, or speakers seamlessly during a call.Chat
in real time with all participants.Hide
your video feed as needed.Toggle
your video.Toggle
your audio.Hang up
the call when finished.Use the REST API
to retrieve the list of connected users or initiate a call.
# Clone this repo
git clone https://github.com/miroslavpejic85/call-me.git
# Go to to dir call-me
cd call-me
# Copy the config file
$ cp public/config.template.js public/config.js
# Copy .env.template to .env
cp .env.template .env
# Install dependencies
npm install
# Start the application
npm start
Install docker engine and docker compose
# Clone this repo
git clone https://github.com/miroslavpejic85/call-me.git
# Go to to dir call-me
cd call-me
# Copy .env.template to .env
cp .env.template .env
# Create your own docker-compose.yml
cp docker-compose.template.yml docker-compose.yml
# Get official image from Docker Hub
docker-compose pull
# Create and start containers
docker-compose up
-
Open
your browser and visit http://localhost:8000. -
Sign in
with your username. -
Select
the connected recipient's username and clickCall
. -
Enjoy
your one-to-one video call.
Allows a user to join
the room as a user1
Lets the user2 join
the room and initiate a call
to the user1
- http://localhost:8000/join?user=user2&call=user1 (dev)
- https://cme.mirotalk.com/join?user=user2&call=user1 (prod)
You can explore a widget
example that demonstrates this functionality here.
Easily integrate Call-Me
into your website or application with a simple iframe. Just add the following code to your project:
<iframe
allow="camera; microphone; fullscreen; clipboard-read; clipboard-write; web-share; autoplay"
src="https://cme.mirotalk.com/"
style="width: 100vw; height: 100vh; border: 0px;"
></iframe>
Get all connected users
# Get all connected users
curl -X GET "http://localhost:8000/api/v1/users" -H "authorization: call_me_api_key_secret" -H "Content-Type: application/json"
curl -X GET "https://cme.mirotalk.com/api/v1/users" -H "authorization: call_me_api_key_secret" -H "Content-Type: application/json"
# Generate call links for connected users to call
curl -X GET "http://localhost:8000/api/v1/connected?user=call-me" -H "authorization: call_me_api_key_secret" -H "Content-Type: application/json"
curl -X GET "https://cme.mirotalk.com/api/v1/connected?user=call-me" -H "authorization: call_me_api_key_secret" -H "Content-Type: application/json"
Docs: http://localhost:8000/api/v1/docs/ or you can check it out live in prod here.
To install this on your VPS, VDS, or personal server, please follow the instructions in the self-hosting documentation.