🚀 A free WebRTC browser-based video call, chat and screen sharing
🚀
Powered by WebRTC
using google Stun and numb Turn. Mirotalk
provides video quality and latency not available with traditional technology.
Open the app in one of following supported browser
- Is
100% Free
andOpen Source
- No download, plug-in or login required, entirely browser based
- Unlimited number of conference rooms without call time limitation
- Desktop and Mobile compatible
- Optimized Room Url Sharing (share it to your participants, wait them to join)
- WebCam Streaming (Front - Rear for mobile)
- Audio Streaming
- Screen Sharing to present documents, slides, and more...
- File Sharing, share any files to your participants in the room
- Select Audio Input - Output && Video source
- Recording your Screen, Audio and Video
- Chat with Emoji Picker & Private messages & Save the conversations
- Simple Whiteboard for the teachers
- Full Screen Mode on mouse click on the Video element
- Possibility to Change UI Themes
- Right click on the Video elements for more options
- Direct
peer-to-peer
connection ensures lowest latency thanks towebrtc
- Supports
API
(Application Programming Interface)
Open
https://mirotalk.herokuapp.com/newcallor
https://mirotalk.up.railway.app/newcallPick
your personal Room name andJoin To Room
Allow
to use the camera and microphoneShare
the Room URL andWait
someone to join for video conference
- You can also
join
directly to yourroom
by going to https://mirotalk.herokuapp.com/join/your-room-name-goes-hereor
https://mirotalk.up.railway.app/join/your-room-name-goes-here
- You will need to have Node.js installed, this project has been tested with Node version 12.X
- Clone this repo
git clone https://github.com/miroslavpejic85/mirotalk.git
cd mirotalk
- Copy .env.template to .env
cp .env.template .env
Turn
Not mandatory but recommended.
- Create an account on http://numb.viagenie.ca
- Get your Account USERNAME and PASSWORD
- Fill in your credentials in the
.env
file - Set
TURN_ENABLED=true
, if you want enable the Turn Server.
Ngrok
Not mandatory at all, but useful for tests and debug.
- Get started for free https://ngrok.com/
- Fill in your authtoken in the
.env
file - Set
NGROK_ENABLED=true
, if you want to expose the server using the https tunnel, starting it from your local PC.
npm install
npm start
- Open http://localhost:3000 in browser
Install: https://docs.docker.com/compose/install/
cp .env.template .env
docker-compose up # or
docker-compose up -d
- Open http://localhost:3000 in browser
To Update
image after some mirotalk changes
or updates
.
docker-compose build
To Stops
containers and removes containers, networks, volumes, and images created by up
docker-compose down
The response
will give you a entrypoint / Room URL
for your meeting
.
curl -X POST "http://localhost:3000/api/v1/meeting" -H "authorization: YourApiKeySecret" -H "Content-Type: application/json" -d "{ \"title\": \"Mirotalk GET meeting\"}"
curl -X POST "https://mirotalk.up.railway.app/api/v1/meeting" -H "authorization: mirotalk_default_secret" -H "Content-Type: application/json" -d "{ \"title\": \"Mirotalk GET meeting\"}"
curl -X POST "https://mirotalk.herokuapp.com/api/v1/meeting" -H "authorization: mirotalk_default_secret" -H "Content-Type: application/json" -d "{ \"title\": \"Mirotalk GET meeting\"}"
If you want to use a client on another computer/network, make sure you publish your server on an HTTPS
connection.
You can use a service like ngrok or deploy it on:
demo
https://mirotalk.herokuapp.com/
demo
https://mirotalk.up.railway.app/
Many Thanks to:
- ianramzy (html template)
- vasanthv (webrtc)
- Sajad (chat)
- i-aryan (whiteboard)
From where I took inspiration for this project. ❤️
- Pull Requests are welcome! 🙂
- Please run prettier on all of your PRs before submitting, this can be done with
prettier --write mirotalk/
- For communication we use gitter or discord chats which can be found here:
Made with ❤️ by Miroslav Pejic