mirror of https://github.com/aiden09/mirotalksfu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
4 years ago | |
|---|---|---|
| .github | 4 years ago | |
| app | 4 years ago | |
| public | 4 years ago | |
| .gitignore | 4 years ago | |
| .prettierrc.js | 4 years ago | |
| Dockerfile | 4 years ago | |
| LICENSE | 4 years ago | |
| README.md | 4 years ago | |
| docker-compose.template.yml | 4 years ago | |
| package.json | 4 years ago | |
README.md
MiroTalk SFU
Powered by WebRTC and SFU integrated server.
Open the app with the following supported browsers and many more.
https://sfu.mirotalk.org/
Features
- Is
100% Free-Open Source-Self Hosted No download,plug-inorloginrequired, entirely browser-basedUnlimitednumber ofconference roomsandusers,withoutcalltime 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 miroslav.pejic.85@gmail.com
Live Demo
Run it locally
- You will need to have
NodeJSinstalled, this project has been tested with Node version 12.X and 14.X,python3-pip DEB package,build-essential DEB packageandpython version >= 3.6 with PIP. - The
requirementscan 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
- Open https://localhost:3010 in browser
Docker
- Install docker engine: https://docs.docker.com/engine/install/
- Install docker compose: https://docs.docker.com/compose/install/
# 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
API
- 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"
# 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
- You can also
joindirectly to yourroomby going to - https://sfu.mirotalk.org/join?room=test&name=mirotalksfu&audio=0&video=0¬ify=0
Params Type Description room string room Id name string your name audio boolean enable / disable video boolean enable / disable notify boolean enable / disable
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 Macsystem as themediasoupinstallation could have issues onWindows.
Credits
- Davide Pacilio (html template)
- Dirk Vanbeveren (sfu logic)
- Mediasoup (sfu server)
Contributing
- Contributions are welcome and greatly appreciated!
- Just run before
npm run lint - For communication we use discord
License
MiroTalk P2P
You can also try MiroTalk P2P, The difference between the two projects you can found here.



