🚀 A free WebRTC browser-based video call, chat and screen sharing
🚀
Powered by WebRTC
using google Stun and numb Turn. Videolify
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
- Share any YouTube video in real time
- 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://cloudmeets.herokuapp.com/newcallor
https://cloudmeet.mrjbadshah.repl.coPick
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 your room name by going to https://cloudmeets.herokuapp.com/join/your-room-name-goes-hereor
https://CloudMeet.mrjbadshah.repl.co/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/Jaideep25/videolify.git
cd videolify
- 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 videolify 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
, where authorization: API_KEY_SECRET
.
curl -X POST "http://localhost:3000/api/v1/meeting" -H "authorization: videolify_default_secret" -H "Content-Type: application/json"
curl -X POST "https://videolify.up.railway.app/api/v1/meeting" -H "authorization: videolify_default_secret" -H "Content-Type: application/json"
curl -X POST "https://videolify.herokuapp.com/api/v1/meeting" -H "authorization: videolify_default_secret" -H "Content-Type: application/json"
The server exposes a swagger document at http://localhost:3000/api/v1/docs. Or you can check it out live on railway or heroku.
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://cloudmeets.herokuapp.com/
DEMO :
https://cloudmeet.mrjbadshah.repl.co/
Many Thanks to:
- Special thanks to Miroslav Pejic!
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 cloudmeets/
Made with ❤️ by MRJ Badshah