/mirotalksfu

🏆 WebRTC with integrated SFU server. Video calls, messaging, screen sharing, recording and more.🏆

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

MiroTalk SFU

Author License: AGPLv3 PayPal Digital Ocean Code style: prettier

Powered by WebRTC and SFU integrated server.

Open the app with the following supported browsers & many more...

Foo


mirotalksfu

Features

  • Is 100% Free - Open Source - Self Hosted
  • No download, plug-in or login required, entirely browser based
  • Unlimited number of conference rooms and users, without call time 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)

DigitalOcean

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

DigitalOcean Referral Badge

Live Demo

Live demo

mirotalksfu-qr

Run it locally

  • 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 and python 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

Docker

# 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

API

# 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"

Notes

  • Run the project on a Linux or Mac system as the mediasoup installation could have issues on Windows.

Credits

Contributing

  • Contributions are welcome and greatly appreciated!
  • Just run before npm run lint

License


MiroTalk P2P

You can try also MiroTalk P2P, The difference between the 2 projects you can found here.