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 and many more.

Foo

https://sfu.mirotalk.org/

mirotalksfu

Features

  • Is 100% FreeOpen SourceSelf 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 for 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
  • Take a snapshot from the video frame(screen/cam) to save it as an image.
  • Chat with Emoji Picker to show you feeling and the possibility to Save the conversations
  • Speech recognition, execute the app features simply with your voice.
  • 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 a MiroTalk SFU instance on your dedicated droplet, or for other needs, don’t hesitate to contact me at [email protected]

DigitalOcean Referral Badge

Live Demo

Live demo

mirotalksfu-qr

Run it locally

  • You will need to have NodeJS 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.
  • The requirements can also be found here.

# 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"
# The response will give you a entrypoint / URL for the direct join to the meeting.
$ curl -X POST "http://localhost:3010/api/v1/join" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json" --data '{"room":"test","name":"mirotalksfu","audio":"0","video":"0","notify":"0"}'
$ curl -X POST "https://sfu.mirotalk.org/api/v1/join" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json" --data '{"room":"test","name":"mirotalksfu","audio":"0","video":"0","notify":"0"}'

Direct Join

Https

You can start videoconferencing directly from your Local PC, and be reachable from any device outside your network, simply by following these steps.

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
  • For communication we use discord

License

AGPLv3

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

BroadcastX


MiroTalk P2P

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

GitHub

View Github