MCPSERV.CLUB
MiroTalk SFU

MiroTalk SFU

Self-Hosted

Free, browser‑based real‑time video conferences

Active(100)
2.8kstars
0views
Updated 1 day ago
MiroTalk SFU screenshot 1
1 / 5

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

LayerTechnology
Media ServerMediasoup (C++ core, Node.js bindings)
Backend APINode.js / Express with TypeScript interfaces
Real‑time SignalingWebSocket (socket.io) or HTTP long polling
DatabasePostgreSQL for user/room metadata; optional Redis for session caching
Front‑endReact (or Preact) with service workers to enable PWA offline mode
DeploymentDocker‑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, or recording_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