MiroTalk SFU
MiroTalk SFU is a JavaScript-based application that provides simple, secure, scalable real-time video conferences up to 4k, compatible.
Open-source video conferencing, honestly reviewed. What you actually get when you deploy it yourself.
TL;DR
- What it is: A self-hosted WebRTC video conferencing server using a Selective Forwarding Unit (SFU) architecture, built on mediasoup. Think Zoom or Google Meet, but running on your own server [website].
- Who it’s for: Teams and founders who want to cut Zoom/Teams bills, need data sovereignty, or want to embed video conferencing in their own product without per-seat pricing.
- Cost savings: Zoom Business runs $199.90/user/year. A $6–20/mo VPS running MiroTalk SFU handles unlimited rooms and participants. The savings math is obvious at any scale above 3 people.
- Key strength: No login, no download, no plugin — participants click a link and they’re in a call. The feature list is genuinely broad: 8K resolution, RTMP streaming, collaborative whiteboard, file sharing, virtual backgrounds, ChatGPT integration, REST API [README].
- Key weakness: AGPL-3.0 license creates real friction for commercial use. Solo developer behind the project with GitHub star count of 2,911 — modest relative to Jitsi Meet’s 23k+ stars. Third-party review coverage is thin, which limits independent validation [merged profile].
- License note: AGPL-3.0 means if you modify and deploy MiroTalk SFU as a network service, you must open-source your changes. Commercial use without that obligation requires purchasing a license on CodeCanyon [README].
What is MiroTalk SFU
MiroTalk SFU is a browser-based video conferencing server. SFU stands for Selective Forwarding Unit — the architecture that makes it scale. Instead of every participant sending their video stream to every other participant (P2P mesh, which collapses past 4–5 people), all streams go through a central server that routes them selectively. The server is mediasoup, a production-grade WebRTC SFU written in C++ and Node.js [README].
The practical result: you can host larger calls than a purely P2P setup allows, with the server doing the heavy lifting of stream routing rather than burning each participant’s CPU.
The project is built and maintained by Miroslav Pejic, a full-stack developer. It is open-source under AGPL-3.0, with commercial licenses available on CodeCanyon for regular private use and extended commercial use [README]. The hosted demo at sfu.mirotalk.com lets you try it without deploying anything — you pick a room name and join.
There are actually three separate MiroTalk projects: MiroTalk SFU (this one, mediasoup-based, scales to larger rooms), MiroTalk P2P (pure peer-to-peer, simpler, lower overhead for 1:1 calls), and MiroTalk C2C (camera-to-camera, browser-based only). This review covers only SFU.
The GitHub repository sits at 2,911 stars [merged profile]. That’s a working, maintained project — not a toy — but it’s also not in the same weight class as Jitsi Meet (23k+ stars, Apache Foundation backing) or BigBlueButton (10k+ stars, substantial institutional adoption in education). This matters when you’re making a long-term infrastructure bet.
Why people choose it over Zoom, Teams, and Jitsi
The case for self-hosting video conferencing is almost always the same: data sovereignty, no per-seat pricing, and the ability to embed or white-label the solution. MiroTalk SFU’s specific angle is the zero-friction join experience and a feature set that punches above its star count.
The no-account join is real. The homepage states: “No download, plug-in, or login is required. Just get straight to talking, messaging, and sharing your screen.” This is a meaningful differentiator versus self-hosted alternatives like BigBlueButton, which can be clunky to join, and it matches what Zoom/Meet offer while keeping the data on your infrastructure [website].
Versus Zoom and Microsoft Teams. The cost argument is straightforward. Zoom Business costs $199.90/user/year; Teams is bundled into Microsoft 365 at $12.50–$22/user/month. For a 10-person company, that’s $2,000–$2,600/year on Zoom or $1,500–$2,600/year on Teams. A Hetzner VPS running MiroTalk SFU runs $6–15/month. The per-user pricing model disappears entirely.
What you give up versus Zoom: years of UX polish, native mobile apps (MiroTalk has PWA support, not native apps), Zoom’s ecosystem of integrations, and — most importantly — the ability to point a non-technical user at the problem and say “just use Zoom, everyone knows how.” That soft cost is real.
Versus Jitsi Meet. Jitsi is the obvious open-source comparison. Both are WebRTC-based, both self-hostable, both AGPL-licensed. Jitsi has dramatically more community traction (23k+ GitHub stars), a larger contributor base, and 8x+ the deployment documentation scattered across the internet. Jitsi also has a managed hosted version (8x8.vc) with a generous free tier.
MiroTalk SFU’s counter-argument is the broader built-in feature set: the whiteboard, RTMP streaming, ChatGPT integration, virtual backgrounds, and REST API are included without additional setup. Jitsi’s comparable features require separate modules and more configuration [README][website].
Versus BigBlueButton. BigBlueButton is the education market’s choice — LMS integrations, breakout rooms, attendance, polling. If you’re running classes or webinars for education institutions, BigBlueButton’s specific tooling is purpose-built for that. MiroTalk SFU covers the same feature surface more informally and with less institutional baggage [website].
Note: no independent third-party reviews of MiroTalk SFU were available in the sources provided for this article. The comparisons above are derived from primary sources (README, website) and general knowledge of the competitive landscape, not synthesized from reviewer accounts.
Features
Based on the README and website:
Core video/audio:
- WebRTC video and audio with echo cancellation and noise suppression [website]
- Up to 4K video quality in standard mode, 8K supported [README][website]
- Front/rear camera support on mobile [README]
- Speaking detection and volume indicators [README]
- Push-to-talk mode [README]
- Full-screen mode with per-video zoom and pin/unpin [README]
Screen and content sharing:
- Screen sharing for presentations [website]
- Real-time YouTube embed and video/audio file sharing (MP4, WebM, OGG, MP3) [README]
- File sharing with drag-and-drop [README][website]
Recording and streaming:
- Local recording to browser Blob [website]
- Server-side recording [README]
- S3 bucket recording [README]
- Integrated RTMP server, compatible with OBS [README]
- RTMP streaming from files, URLs, webcams, or screen [README]
- Live broadcasting to wide audiences [website]
Collaboration:
- Collaborative whiteboard [website]
- Rich text editor, collaborative [README]
- Chat with Emoji Picker, private messages, Markdown, conversation saving [README]
- Real-time polls [README]
- Speech recognition — control app features by voice [README]
AI features:
- ChatGPT integration for in-meeting Q&A [website]
- VideoAI for customizable AI avatars [website]
Privacy and security:
- All media streams encrypted via SRTP [website]
- Room password protection [README]
- Room lobby/waiting room [README]
- Host protection and JWT-based auth [README]
- OpenID Connect (OIDC) authentication support [README]
- Room spam mitigation [README]
Infrastructure:
- REST API for external integration [website]
- Docker and npm deployment [merged profile]
- PWA (Progressive Web App) — installable from browser [README]
- Translated into 133 languages [README]
- Geolocation of participants [README]
- Customizable UI themes [README]
The feature list is genuinely extensive for a project of this star count. The caveat: “supports X” in a README and “X works reliably in production at scale” are different things. Without independent reviews to cross-check, take the feature list as a capability inventory, not a quality certification.
Pricing: SaaS vs self-hosted math
MiroTalk SFU self-hosted:
- AGPL-3.0 license: free to self-host with the requirement that modifications deployed as a network service must be open-sourced [README]
- Regular license (CodeCanyon): covers private commercial use without AGPL obligations — pricing listed on CodeCanyon, data not available in provided sources [README]
- Extended license (CodeCanyon): covers resale/embedding in commercial products — pricing listed on CodeCanyon, data not available in provided sources [README]
Hosted demo: sfu.mirotalk.com is free to use as a demo/light use case. Sponsored by Recall.ai and hosted on Hetzner [website].
Zoom for comparison:
- Basic: free, 40-minute cap on group meetings
- Pro: $15.99/user/month (billed annually)
- Business: $19.99/user/month, minimum 10 users = $199.90/user/year minimum
- Business Plus/Enterprise: $25+/user/month
Microsoft Teams:
- Essentials: $4/user/month
- Microsoft 365 Business Basic: $6/user/month (includes Teams)
- Microsoft 365 Business Standard: $12.50/user/month
Google Meet:
- Free tier: up to 60 minutes, up to 100 participants
- Google Workspace Business Starter: $6/user/month
Self-hosted math for a 15-person team:
| Option | Monthly cost |
|---|---|
| Zoom Pro | $239.85/mo |
| Google Workspace Starter | $90/mo |
| MiroTalk SFU on Hetzner CX22 | ~$6–10/mo |
Over 12 months: Zoom Pro ≈ $2,878. Google Workspace ≈ $1,080. Self-hosted MiroTalk ≈ $72–120. The math works, assuming you’re comfortable with the deployment and maintenance overhead. If you need a developer to maintain it: factor in their time.
One honest caveat: a Zoom or Google Meet call just works across every device, ISP, and firewall. A self-hosted WebRTC server can run into NAT traversal issues, TURN server configuration problems, and codec mismatches that Zoom’s engineering team solved years ago. These aren’t deal-breakers, but they’re real costs to factor in.
Deployment reality check
What you need:
- A Linux VPS with at least 2–4GB RAM (video routing is CPU and bandwidth intensive — more participants means more requirements)
- Docker or Node.js 18+ installed
- A domain name with SSL (WebRTC requires HTTPS in modern browsers)
- Ports 3010 (HTTPS), 3016 (HTTP/3), and 40000–49999 UDP open for WebRTC media streams [README implies this, standard mediasoup requirement]
- A TURN server if participants are behind strict firewalls — mediasoup handles STUN, but TURN requires separate setup (coturn is the standard choice)
- An SMTP provider if you want email features
Docker path: The repository supports Docker deployment and docker-compose, which is the most straightforward path for most users [merged profile features list].
npm path: Also supported for those who want to run it directly on Node.js [merged profile].
What can go sideways:
- TURN server setup is the biggest deployment pain point for WebRTC. Without TURN, participants behind corporate firewalls or strict NAT will fail to connect. This isn’t MiroTalk-specific — it affects every self-hosted WebRTC solution — but it’s the piece most tutorials gloss over.
- Bandwidth is a real cost. Video conferencing is bandwidth-intensive. A 10-person call at 720p can push 30–50 Mbps through your server. Factor this into VPS selection — many cheap VPS providers cap bandwidth or charge overages.
- The AGPL-3.0 license is a deployment concern if you’re building a product on top of MiroTalk. Using it internally? AGPL is fine. Offering it to customers as a service? Read the license carefully or buy a commercial license from CodeCanyon.
- Single maintainer risk. The project’s primary committer is one developer, Miroslav Pejic. That’s not unusual for open-source tools at this star level, but it matters for long-term planning.
Realistic time estimate for technical users: 1–3 hours including TURN server setup and reverse proxy configuration. For non-technical founders following a guide: half a day to a full day, assuming Linux familiarity. Without any server experience: hire someone.
Pros and Cons
Pros
- Zero-friction join experience. No download, no login. Share a link, participant is in the call. Matches what Zoom/Meet offer while data stays on your server [website].
- Genuine SFU architecture. mediasoup is a production-quality media server, not a toy. The SFU approach handles more participants than P2P configurations [README][website].
- Broad feature set. Recording (local, server-side, S3), RTMP streaming, OBS compatibility, whiteboard, collaborative rich text editor, polls, speech recognition, virtual backgrounds, ChatGPT integration — all in one package [README].
- REST API included. External integration without hacking the client [website][merged profile].
- 8K and 60fps support. Technically capable of very high quality video if your network supports it [README].
- PWA support. Installable from browser on mobile without an app store [README].
- 133 language support. Genuinely international [README].
- No per-seat pricing. Unlimited rooms, unlimited participants on your own hardware [website].
Cons
- AGPL-3.0 license friction. If you’re building a SaaS product that includes video conferencing, AGPL requires open-sourcing your changes. Commercial licenses exist on CodeCanyon but add cost and terms to evaluate [README].
- Single maintainer. The project is maintained primarily by one developer. Bus factor of 1 is a real risk for infrastructure you depend on [README, project structure].
- Modest community. 2,911 GitHub stars vs. Jitsi Meet’s 23k+ means fewer community-contributed guides, fewer StackOverflow answers, and slower community-driven bug fixes [merged profile].
- TURN server not included. Setting up coturn (or paying for a managed TURN service like Metered.ca) adds complexity and cost to the deployment. Essential for reliable operation across corporate firewalls.
- No native mobile apps. PWA works, but isn’t equivalent to native apps for background audio and reliability [README notes PWA support].
- Independent review scarcity. The lack of substantial third-party reviews makes it harder to validate production reliability claims. You’re largely trusting the README and the demo.
- AI feature depth uncertain. ChatGPT and VideoAI integrations are listed prominently, but depth and reliability of these features is unclear without hands-on testing or independent reports.
Who should use this / who shouldn’t
Use MiroTalk SFU if:
- You’re running internal team calls and paying Zoom Business per-seat pricing for 10+ people — the math is obvious.
- You need data sovereignty: meetings involving sensitive information that can’t transit external servers.
- You want to embed video conferencing in your own product and need a commercial license without per-minute cloud pricing.
- You have a developer who can handle initial deployment and occasional maintenance.
- You’re running a community or Discord-adjacent project that wants a self-hosted meeting space.
Consider Jitsi Meet instead if:
- You want a larger community, more deployment documentation, and more third-party integrations.
- You need a proven track record in enterprise/institutional deployments.
- The Apache 2.0 license (vs. AGPL-3.0) matters for your commercial use case.
Consider BigBlueButton instead if:
- You’re in education and need LMS integrations, attendance tracking, and pedagogical features.
- You want institutional-grade support and hosting options.
Stay on Zoom/Teams/Meet if:
- You have non-technical users who need zero setup and zero troubleshooting tolerance.
- Your organization has Microsoft 365 and Teams is already included — the marginal cost of switching is negative.
- You have fewer than 5 people — Google Meet’s free tier covers you.
- Compliance requirements need audited, certified infrastructure (SOC 2, HIPAA) that you aren’t prepared to certify yourself.
Alternatives worth considering
- Jitsi Meet — the most direct open-source competitor, Apache 2.0 licensed, 23k+ GitHub stars, more community and documentation. Lower feature density than MiroTalk SFU out of the box, but more proven at scale. Managed option at 8x8.vc.
- BigBlueButton — education-focused, LMS integrations, breakout rooms. More complex to deploy and maintain. Best-in-class for the online classroom use case.
- Element/Matrix with Element Call — federated, E2E encrypted, open standard. More complex, but the right choice if decentralization and federation matter.
- LiveKit — newer, developer-focused, cloud-native SFU with strong SDK support. Higher ceiling for custom applications but requires more engineering to stand up.
- Daily.co — managed WebRTC API with transparent pricing. The “just use a managed service” answer if deployment overhead is the real objection.
- Whereby — minimal-setup hosted video, no download required. Simple, well-designed, not self-hosted. $6.99/host/month.
- Zoom / Google Meet / Microsoft Teams — the incumbents. Not self-hosted, but the comparison that most prospects are escaping from.
Bottom line
MiroTalk SFU is a technically capable, feature-rich WebRTC conference server that makes the self-hosting math work for teams tired of per-seat pricing. The zero-friction join experience is genuine, the feature set covers most business use cases, and mediasoup is a serious media server. But the AGPL-3.0 license requires attention if you’re building commercial products, the single-maintainer structure is a real long-term risk, and the modest community means you’re more on your own when things go wrong. For internal team use or data-sovereignty-driven deployments where you have developer support, it’s a legitimate Zoom alternative. For embedding in a product or running for a non-technical team with no IT support, evaluate carefully. The feature list in the README tells you what it can do; your deployment circumstances will tell you whether it’s the right choice.
If deployment is the blocker, that’s exactly what unsubbed.co’s parent studio upready.dev deploys for clients. One-time fee, done, you own the infrastructure.
Sources
Primary sources (all factual claims in this article trace to these):
- MiroTalk SFU GitHub Repository — README, feature list, license information. https://github.com/miroslavpejic85/mirotalksfu (2,911 stars, AGPL-3.0)
- MiroTalk SFU Official Website — Feature descriptions, homepage copy, team information. https://sfu.mirotalk.com
- MiroTalk SFU Merged Profile — Structured metadata: slug, category, stars, license, canonical features. Internal enrichment data.
- CodeCanyon — MiroTalk SFU Commercial License — Regular and Extended commercial license options. https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
Note: Third-party independent reviews of MiroTalk SFU were not available in the source material provided for this article. Comparative claims about Zoom, Jitsi Meet, BigBlueButton, and Microsoft Teams pricing are based on published pricing pages as of April 2026 and general knowledge of the competitive landscape.
Features
Integrations & APIs
- Plugin / Extension System
- REST API
Mobile & Desktop
- Mobile App
Category
Replaces
Compare MiroTalk SFU
Related Communication & Messaging Tools
View all 128 →LobeChat
74KAn open-source AI chat platform with multi-model support, agent building, MCP integration, and plugin ecosystem — a self-hosted alternative to ChatGPT.
Rocket.Chat
45KRocket.Chat is an open-source team communication platform that combines messaging, video conferencing, and omnichannel customer engagement in a single self-hosted deployment.
Mattermost
36KSecure collaboration, workflow and AI on sovereign infrastructure. Operational sovereignty for national security and critical infrastructure.
Mattermost
36KSecure collaboration, workflow and AI on sovereign infrastructure. Operational sovereignty for national security and critical infrastructure.
Continue
32KSource-controlled AI checks on every pull request. Standards as checks, enforced by AI, decided by humans.
ntfy
29KPush notifications made easy. Simple HTTP-based pub-sub notification service for your phone or desktop.