免費WEBRTC -SFU-簡單,安全,可擴展的實時視頻會議,最多支持8K分辨率和60fps。它與所有主要瀏覽器和平台兼容
探索Mirotalk SFU

加入我們的社區,以提出問題,討論和支持
100% Free - Open Source (AGPLv3) - Self Hosted和PWA!您可以使用鏈接directly join a room :
https://sfu.mirotalk.com/join?room = test&roompassword = 0&name = mirotalksfu&audio = 0&video = 0&screen=0¬ify=0
| 參數 | 類型 | 描述 |
|---|---|---|
| 房間 | 細繩 | 房間ID |
| Roompassword | 字符串/布爾值 | 房間密碼 |
| 姓名 | 細繩 | 使用者名稱 |
| 聲音的 | 布爾 | 音頻流 |
| 影片 | 布爾 | 視頻流 |
| 螢幕 | 布爾 | 屏幕流 |
| 通知 | 布爾 | 歡迎消息 |
| 隱藏 | 布爾 | 隱藏自己 |
| 令牌 | 細繩 | JWT |
當啟用host..protected或host.user_auth時,主機/用戶可以提供有效的令牌,用於app/src/config.js文件中指定的直接加入房間。
| 參數 | 價值 | 描述 |
|---|---|---|
host.protected | 如果啟用了保護, true ,如果沒有,則為false (默認為false) | 要求主機在房間初始化期間提供有效的用戶名和密碼。 |
host.user_auth | 如果需要用戶身份驗證, false true默認為false)。 | 確定是否需要主機身份驗證。 |
host.users | 帶有用戶對象的JSON數組: {"username": "username", "password": "password"} | 有效的主機用戶列表及其憑據。 |
例子:
host : {
protected : true ,
user_auth : true ,
users : [
{
username : 'username' ,
password : 'password' ,
} ,
{
username : 'username2' ,
password : 'password2' ,
} ,
//...
] ,
} ,在運行MiroTalk SFU之前,請確保您有Node.js和所有要求。該項目已通過節點版本18.x進行了測試。
要求安裝Ubuntu 24.04 LTS的示例
# Gcc g++ make
$ apt-get update
$ apt-get install -y build-essential
# Python 3.8 and pip
$ DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
$ apt install -y software-properties-common
$ add-apt-repository -y ppa:deadsnakes/ppa
$ apt update
$ apt install -y python3.8 python3-pip
# FFmpeg
$ apt install -y ffmpeg
使用Node版本管理器安裝NodeJS 18.X和npm
# 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 - be patient, the first time will take a few minutes, in the meantime have a good coffee ;)
$ npm install
# Start the server
$ npm start
# If you want to start the server on a different port than the default use an env var
$ PORT=3011 npm start:3011如果在瀏覽器中更改了默認端口。[!筆記]
要在
Windows operating system上運行MiroTalk SFU,您可以按照本文檔中提供的說明進行操作。

# 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 IMPORTANT (edit it according to your needs)
$ 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
# (Optional) Get official image from Docker Hub
$ docker-compose pull
# Create and start containers
$ docker-compose up # -d
# To stop and remove resources
$ docker-compose down
要使用IFRAME嵌入your service or app中的會議,您可以使用以下代碼:
< iframe
allow =" camera; microphone; display-capture; fullscreen; clipboard-read; clipboard-write; web-share; autoplay "
src =" https://sfu.mirotalk.com/newroom "
style =" height: 100vh; width: 100vw; border: 0px; "
> </ iframe >Ngrok/HTTPS:您可以直接從本地PC啟動視頻會議,並通過遵循這些說明使其從網絡外部的任何設備訪問,也可以直接在HTTPS上公開。
Self-hosting:有關您自己專用服務器上的self-hosting MiroTalk SFU ,請參閱此綜合指南。它將為您提供所有必要的說明,以使您的MiroTalk SFU實例啟動並順利運行。
Rest API: API文檔在https:// localhost:3010/api/v1/docs使用Swagger,或在此處進行現場檢查。
# The response will give you the total of rooms and users.
$ curl -X GET " http://localhost:3010/api/v1/stats " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json "
$ curl -X GET " https://sfu.mirotalk.com/api/v1/stats " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json "
# The response will give you the active meetings (default disabled).
$ curl -X GET " http://localhost:3010/api/v1/meetings " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json "
$ curl -X GET " https://sfu.mirotalk.com/api/v1/meetings " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json "
# 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.com/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","roomPassword":"false","name":"mirotalksfu","audio":"false","video":"false","screen":"false","notify":"false"} '
$ curl -X POST " https://sfu.mirotalk.com/api/v1/join " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json " --data ' {"room":"test","roomPassword":"false","name":"mirotalksfu","audio":"false","video":"false","screen":"false","notify":"false"} '
# The response will give you a entrypoint / URL for the direct join to the meeting with a token.
$ curl -X POST " http://localhost:3010/api/v1/join " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json " --data ' {"room":"test","roomPassword":"false","name":"mirotalksfu","audio":"false","video":"false","screen":"false","notify":"false","token":{"username":"username","password":"password","presenter":"true", "expire":"1h"}} '
$ curl -X POST " https://sfu.mirotalk.com/api/v1/join " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json " --data ' {"room":"test","roomPassword":"false","name":"mirotalksfu","audio":"false","video":"false","screen":"false","notify":"false","token":{"username":"username","password":"password","presenter":"true", "expire":"1h"}} '
# The response will give you a valid token for a meeting (default diabled)
$ curl -X POST " http://localhost:3010/api/v1/token " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json " --data ' {"username":"username","password":"password","presenter":"true", "expire":"1h"} '
$ curl -X POST " https://sfu.mirotalk.com/api/v1/token " -H " authorization: mirotalksfu_default_secret " -H " Content-Type: application/json " --data ' {"username":"username","password":"password","presenter":"true", "expire":"1h"} '
該應用程序正在運行,以demonstration purposes即Hetzner,這是the best雲提供商和專用的根服務器之一。
使用我的個人鏈接€20 IN CLOUD CREDITS 。

經驗還以unbeatable prices出現了德國頂級網絡託管 - 專用服務器,VPS和網絡託管。可靠,安全,並得到24/7的支持。現在在這裡探索
要在專用的雲服務器上設置您自己的MiroTalk SFU實例,請參考我們的全面自我託管文檔。本指南將逐步引導您完成整個過程,以確保平穩而成功的部署。

https://sfu.mirotalk.com

npm run lint之前運行
Mirotalk SFU根據AGPLV3條款(GNU AFFERO通用公共許可證v3.0)是免費的和開源的。請respect the license conditions ,特別是modifications need to be free as well and made available to the public 。在選擇開源許可證時快速概述許可證。
為了獲得與AGPLV3不同條款的Mirotalk SFU許可證,您可以方便地在Codecanyon上購買。這使您可以量身定制許可條件,以更好地滿足您的特定要求。
您是否發現Mirotalk SFU必不可少的需要滿足您的需求?加入我們,通過成為支持者或贊助商來支持這一變革性項目。通過這樣做,您的徽標不僅會在這裡突出,而且還可以推動Mirotalk SFU的增長和可持續性。您的支持對於確保這個有價值的平台繼續蓬勃發展並仍然可以使用所有人至關重要。產生影響 - 今天回到Mirotalk SFU,並成為這一激動人心的旅程的一部分!
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() |

還可以嘗試將Mirotalk P2P peer to peer對小組進行優化的實時視頻會議。 Unlimited time, unlimited concurrent rooms每個都有5-8名參與者。
還可以嘗試Mirotalk C2C peer to peer實時視頻會議,並針對CAM 2 CAM進行了優化。 Unlimited time, unlimited concurrent rooms每個房間都有2位參與者。
還可以嘗試Mirotalk Bro Live broadcast (Peer to Peer)實時視頻,音頻和屏幕流到所有連接的用戶(觀看者)。 Unlimited time, unlimited concurrent rooms每個房間都有廣播和許多觀眾。
還可以嘗試Mirotalk Web一個平台,該平台允許管理unlimited number of users 。每個用戶必須註冊他們的電子郵件,用戶名和密碼,之後他們可以訪問其personal dashboard 。在儀表板中,用戶可以在指定的日期和時間使用所需版本的Mirotalk manage their rooms and schedule meetings 。這些會議的邀請可以通過電子郵件發送,通過網絡瀏覽器共享或通過SMS發送。
該項目通過Browserstack進行了測試。