Overview
Discover what makes MiroTalk SFU powerful
MiroTalk SFU is a self‑hosted, browser‑centric WebRTC platform that leverages **Mediasoup** as its media engine. It exposes a high‑performance selective forwarding unit (SFU) that routes audio, video, and screen‑share streams among participants without transcoding, thereby preserving bandwidth and latency. The core application is a Node.js service that orchestrates Mediasoup workers, while the front‑end is a progressive web app (PWA) built with modern JavaScript frameworks, allowing instant access without native clients or plugins.
Unlimited rooms
High‑resolution video
Advanced media controls
Rich media sharing
Overview
MiroTalk SFU is a self‑hosted, browser‑centric WebRTC platform that leverages Mediasoup as its media engine. It exposes a high‑performance selective forwarding unit (SFU) that routes audio, video, and screen‑share streams among participants without transcoding, thereby preserving bandwidth and latency. The core application is a Node.js service that orchestrates Mediasoup workers, while the front‑end is a progressive web app (PWA) built with modern JavaScript frameworks, allowing instant access without native clients or plugins.
Key Features
- Unlimited rooms with no time caps, powered by a scalable Mediasoup cluster.
- High‑resolution video support up to 8K @60fps, with per‑participant bitrate adaptation.
- Advanced media controls: echo cancellation, noise suppression, speaking detection, and volume meters.
- Rich media sharing: webcam, screen share, virtual background/blur, file drag‑and‑drop.
- Security layers: OpenID Connect (OIDC), JWT‑based host/user authentication, room password protection, and spam mitigation.
- Multilingual UI with 133 language packs for global deployments.
Technical Stack
| Layer | Technology |
|---|---|
| Media Server | Mediasoup (C++ core, Node.js bindings) |
| Backend API | Node.js / Express with TypeScript interfaces |
| Real‑time Signaling | WebSocket (socket.io) or HTTP long polling |
| Database | PostgreSQL for user/room metadata; optional Redis for session caching |
| Front‑end | React (or Preact) with service workers to enable PWA offline mode |
| Deployment | Docker‑compose ready, Kubernetes manifests available; supports TLS via Let’s Encrypt |
The application follows a micro‑service style: the Mediasoup workers run as separate processes, while the Node.js controller handles signaling, authentication, and room orchestration. This separation allows horizontal scaling by adding more workers behind a load balancer.
Core Capabilities & APIs
- REST/WS API: Create/join rooms, manage participants, fetch media stats.
- JWT Claims: Hosts and users receive signed tokens that encode room permissions, enabling stateless auth.
- Webhooks: Trigger external services on events such as
room_created,participant_joined, orrecording_finished. - Media Recording: Browser‑side Blob recording via MediaRecorder API, with optional integration to external services like Recall.ai for server‑side capture.
- Extensibility: Plugin hooks allow custom media processors (e.g., AI‑based background removal) or analytics dashboards.
Deployment & Infrastructure
MiroTalk SFU is designed for self‑hosting on commodity hardware or cloud VMs. A single node can handle dozens of simultaneous 720p rooms; scaling to hundreds requires adding Mediasoup workers and a shared database. Docker images are provided for quick bootstrap, and the application can run on any OS that supports Node.js (Linux, macOS). For high‑availability, the Docker stack can be orchestrated with Kubernetes, using StatefulSets for database persistence and HorizontalPodAutoscaler to spin up workers based on CPU/memory thresholds.
Integration & Extensibility
Developers can embed MiroTalk SFU into existing web portals by including the PWA bundle or via an iframe. The SDK exposes a lightweight JavaScript client that abstracts WebSocket signaling, allowing custom UI layers or integration with authentication providers (OAuth2, SAML). The plugin architecture lets you inject custom media filters or analytics modules into the Mediasoup pipeline, enabling use cases such as real‑time transcription or adaptive bitrate routing.
Developer Experience
The codebase follows TypeScript conventions, with comprehensive JSDoc comments and a living API reference. The documentation includes end‑to‑end tutorials, Docker usage guides, and a community Discord server for rapid support. Licensing under AGPLv3 encourages open‑source contributions, while commercial licenses are available for enterprises that need proprietary support or extended features.
Use Cases
- Enterprise internal meetings: Self‑hosted to comply with data residency policies, with SSO via OIDC.
- Education platforms: Unlimited virtual classrooms with screen share and breakout rooms, all delivered via a single click.
- Event broadcasting: Live webinars to thousands of viewers with minimal latency, using Mediasoup’s low‑overhead forwarding.
- Remote support: Real‑time screen sharing with file transfer and chat, ideal for IT help desks.
- Compliance‑heavy industries: Full control over recording and storage, integrating with audit tools or external recording APIs.
Advantages
- Performance: SFU routing eliminates media transcoding, reducing CPU load and preserving native quality.
- Flexibility: Open‑source core + modular plugins allow tailoring to niche workflows.
- Scalability: Worker‑based architecture scales horizontally; Kubernetes integration simplifies large deployments.
- Security & Privacy: End‑to‑end encryption, JWT auth, and OIDC support meet enterprise security standards.
- Cost‑effectiveness: Free AGPLv3 version removes licensing fees; Docker images cut operational overhead.
MiroTalk SFU offers developers a robust, scalable foundation for real‑time video applications that can be customized from the UI to the media pipeline, all while staying fully open‑source and
Open SourceReady to get started?
Join the community and start self-hosting MiroTalk SFU today
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Rocket.Chat
Secure, open‑source team communication platform
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
Weekly Views
Repository Health
Information
Explore More Apps
Zusam
Private forums for friends, self-hosted and lightweight
Blocky
Fast, privacy‑first DNS proxy and ad blocker for local networks
DOMjudge
Automated programming contest management system
Taskwarrior
Command‑line task manager for organized, efficient to-do lists
ZincSearch
Lightweight full‑text search engine for Elasticsearch users
GitBucket
Scala‑powered Git platform with GitHub API compatibility
