MiroTalk SFU
Self-hosted WebRTC video conferencing using a Selective Forwarding Unit for scalable multi-participant calls. Supports recording, RTMP streaming, AI integrations, and up to 8K at 60fps
Quick Start
git clone https://github.com/miroslavpejic85/mirotalksfu && cd mirotalksfu && cp app/src/config.template.js app/src/config.js && docker compose up -d Overview
MiroTalk SFU is a self-hosted video conferencing platform built on a Selective Forwarding Unit architecture using Mediasoup. Unlike peer-to-peer tools where participants connect directly to each other, an SFU routes all media streams through the server. Each participant sends one stream up, and the server forwards it to everyone else. This makes it significantly more scalable for larger groups, at the cost of higher server resource requirements.
The feature set is the broadest of the MiroTalk family: video up to 8K at 60fps, screen sharing, chat with Markdown support, a collaborative whiteboard, file sharing, and local or server-side recording. RTMP streaming lets you broadcast calls directly to YouTube, Twitch, or any RTMP endpoint from within the meeting interface. ChatGPT and DeepSeek integrations add AI features including speech recognition. Access control covers room passwords, a lobby system, JWT credentials, and OIDC authentication for SSO.
Deployment requires a bit more setup than a simple Docker run. Mediasoup needs a specific range of UDP ports open to the internet for media to flow correctly — most deployment issues trace back to a firewall blocking those ports rather than any application problem. Once open, the docker compose path is straightforward.
AGPL-3.0 covers self-hosted internal and personal use without restriction. Commercial deployment as a SaaS product requires either source disclosure or a commercial licence available separately.
MiroTalk SFU: Pros & Cons
| Pros (The Wins) | Cons (The Friction) |
|---|---|
| Scales to larger groups: SFU routes media server-side; no P2P bandwidth ceiling. | Server resource cost: All media runs through host; needs meaningful CPU and bandwidth. |
| RTMP streaming: Broadcast to YouTube, Twitch, or any RTMP endpoint built in. | Port configuration: Mediasoup requires UDP range open on firewall to function. |
| Full feature set: Recording, whiteboard, AI chat, OIDC, and 133 languages. | AGPL-3.0: SaaS use requires source disclosure or a commercial licence. |
| Access control: Lobby, passwords, JWT, and OIDC all supported. | No managed option: Self-hosting is the only deployment path. |
Use Cases
Specific ways to use MiroTalk SFU for your workflow.
Deployment Strategy
Recommended ways to host MiroTalk SFU in your own environment.