Powered by WebRTC
and SFU integrated server.
Open the app with the following supported browsers & many more...
- Is
100% Free
-Open Source
-Self Hosted
No download
,plug-in
orlogin
required, entirely browser basedUnlimited
number ofconference rooms
andusers
,without
calltime limitation
- Desktop and Mobile compatible
- Optimized Room URL Sharing (share it to your participants, wait them to join)
- Possibility to Lock/Unlock the Room for the meeting
- Webcam Streaming up to 4K quality (Front - Rear for mobile)
- Echo cancellation and noise suppression that makes your audio crystal clear
- Screen Sharing to present documents, slides, and more ...
- File Sharing, share any files to your participants in the room
- Chat with Emoji Picker to show you feeling and possibility to Save the conversations
- Advance collaborative whiteboard for the teachers
- Select Microphone - Speaker and Video source
- Recording your Screen, Audio or Video
- Share any YouTube video in real time to your participants
- Full Screen Mode on mouse click on the Video element
- Supports REST API (Application Programming Interface)
This application is running just for demonstration purposes
on DigitalOcean droplet Ubuntu 20.04 (LTS) x64 [1 vCPU - 1GB Ram]
, with Ngnix and Let's Encrypt.
If you want to deploy an MiroTalk SFU
instance on your own dedicated droplet
, or for other needs, don't hesitate to contact me at miroslav.pejic.85@gmail.com
- You will need to have
Node.js
installed, this project has been tested with Node version 12.X and 14.X,python3-pip DEB package
,build-essential DEB package
andpython version >= 3.6 with PIP
.
# Clone this repo
$ git clone https://github.com/miroslavpejic85/mirotalksfu.git
# Go to to dir mirotalksfu
$ cd mirotalksfu
# Copy app/src/config.template.js in app/src/config.js and edit it if needed
$ cp app/src/config.template.js app/src/config.js
# Install dependencies
$ npm install
# Start the server
$ npm start
- Open https://localhost:3010 in browser
# Copy app/src/config.template.js in app/src/config.js and edit it if needed
$ cp app/src/config.template.js app/src/config.js
# Copy docker-compose.template.yml in docker-compose.yml and edit it if needed
$ cp docker-compose.template.yml docker-compose.yml
# Build or rebuild services
$ docker-compose build
# Create and start containers
$ docker-compose up # -d
# Stop and remove resources
$ docker-compose down
- Open https://localhost:3010 in browser
- The API documentation uses swagger at https://localhost:3010/api/v1/docs or check it on live here.
# The response will give you a entrypoint / Room URL for your meeting.
$ curl -X POST "http://localhost:3010/api/v1/meeting" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json"
$ curl -X POST "https://sfu.mirotalk.org/api/v1/meeting" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json"
- Run the project on a
Linux or Mac
system as themediasoup
installation could have issues onWindows
.
- Davide Pacilio (html template)
- Dirk Vanbeveren (sfu logic)
- Mediasoup (sfu server)
- Contributions are welcome and greatly appreciated!
- Just run before
npm run lint
You can try also MiroTalk P2P, The difference between the 2 projects you can found here.