mirotalksfu  by miroslavpejic85

WebRTC SFU for scalable real-time video conferences

Created 4 years ago
2,720 stars

Top 17.4% on SourcePulse

GitHubView on GitHub
Project Summary

MiroTalk SFU is a self-hostable, open-source WebRTC Selective Forwarding Unit (SFU) designed for scalable, secure real-time video conferencing. It targets developers and organizations needing a robust platform for meetings, webinars, and broadcasting, offering features like up to 8K resolution, broad browser compatibility, and extensive customization options.

How It Works

Built on the mediasoup framework, MiroTalk SFU efficiently routes audio and video streams between participants, minimizing bandwidth usage and maximizing scalability. Its architecture supports advanced features like virtual backgrounds, AI avatars, screen sharing, file sharing, and real-time collaboration tools, all managed via a REST API and configurable through environment variables and configuration files.

Quick Start & Requirements

  • Install: Clone the repository, copy config.template.js to config.js, copy .env.template to .env, run npm install, and start with npm start.
  • Prerequisites: Node.js (v18.X recommended), npm, FFmpeg, GCC, G++, Make, Python 3.8+.
  • Setup: Initial npm install can take several minutes.
  • Docs: Self-hosting, API Documentation.

Highlighted Details

  • Supports up to 8K resolution and 60fps.
  • Features virtual background/blur, AI avatars, and speech recognition.
  • Includes integrated RTMP server compatible with OBS.
  • Offers REST API for programmatic control and integrations (Slack, Discord, Mattermost).

Maintenance & Community

  • Active development with community support via Discord.
  • Sponsors include Hetzner, Hostinger, Contabo, and others.
  • Community Forum link provided.

Licensing & Compatibility

  • Licensed under AGPLv3. Modifications must also be open-sourced.
  • Commercial licenses are available for purchase via CodeCanyon.

Limitations & Caveats

  • AGPLv3 license requires derived works to be open-sourced, which may impact closed-source commercial use.
  • The README mentions support for up to 4K video, but the description claims up to 8K; clarification may be needed.
Health Check
Last Commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
2
Star History
76 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.