MiroTalk SFU: Scalable WebRTC Video Conferences Up to 8K

This repository profile is provided by osrepos.com, an open source repository discovery platform.

MiroTalk SFU: Scalable WebRTC Video Conferences Up to 8K

Summary

MiroTalk SFU is a powerful, open-source WebRTC Selective Forwarding Unit built on Mediasoup, offering simple, secure, and scalable real-time video conferences. It supports resolutions up to 8K and 60fps, making it compatible with all major browsers and platforms for diverse communication needs. This self-hosted solution provides a rich set of features for meetings, webinars, and live broadcasting.

Repository Information

Analyzed by OSRepos on October 12, 2025

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

MiroTalk SFU (Selective Forwarding Unit) is a robust WebRTC solution designed for real-time video conferences. Built upon the powerful Mediasoup media server, it provides a simple, secure, and highly scalable platform for video communication, supporting resolutions up to 8K and 60 frames per second. Compatible with all major browsers and platforms, MiroTalk SFU is an open-source (AGPLv3) and self-hostable project, offering extensive features for meetings, webinars, and live streaming, including virtual backgrounds, AI integration, and advanced collaborative tools.

Installation

To get MiroTalk SFU up and running, you can choose between a direct Node.js setup or a Docker-based deployment.

Prerequisites

Ensure you have Node.js (version 18.X recommended), build-essential, Python 3.8 with pip, and FFmpeg installed on your system.

Manual Installation (Node.js)

  1. Clone the repository:
    git clone https://github.com/miroslavpejic85/mirotalksfu.git
    
  2. Navigate into the project directory:
    cd mirotalksfu
    
  3. Copy configuration files:
    cp app/src/config.template.js app/src/config.js
    cp .env.template .env
    
  4. Install dependencies:
    npm install
    
  5. Start the server:
    npm start
    # Or on a different port:
    # SERVER_LISTEN_PORT=3011 npm start
    
  6. Open https://localhost:3010 (or your specified port) in your browser.

Docker Installation

  1. Clone the repository:
    git clone https://github.com/miroslavpejic85/mirotalksfu.git
    
  2. Navigate into the project directory:
    cd mirotalksfu
    
  3. Copy configuration files:
    cp app/src/config.template.js app/src/config.js
    cp .env.template .env
    cp docker-compose.template.yml docker-compose.yml
    
  4. (Optional) Pull the official Docker image:
    docker-compose pull
    
  5. Create and start containers:
    docker-compose up
    
  6. Open https://localhost:3010 in your browser.

Examples

MiroTalk SFU offers flexible ways to integrate and interact with its conferencing features.

Direct Join Link

You can directly join a room using a URL with parameters:

https://sfu.mirotalk.com/join?room=test&roomPassword=0&name=mirotalksfu&avatar=0&audio=0&video=0&screen=0&chat=0&notify=0&duration=unlimited

Embed a Meeting (iframe)

Embed a meeting into your own service or application using an iframe:

<iframe
    allow="camera; microphone; display-capture; fullscreen; clipboard-read; clipboard-write; web-share; autoplay"
    src="https://sfu.mirotalk.com/newroom"
    style="height: 100vh; width: 100vw; border: 0px;"
></iframe>

REST API - Create Meeting

Create a new meeting programmatically using the REST API:

curl -X POST "http://localhost:3010/api/v1/meeting" \
     -H "authorization: mirotalksfu_default_secret" \
     -H "Content-Type: application/json"

REST API - Join Meeting (Basic)

Join an existing meeting via the REST API:

curl -X POST "http://localhost:3010/api/v1/join" \
     -H "authorization: mirotalksfu_default_secret" \
     -H "Content-Type: application/json" \
     --data '{"room":"test","roomPassword":false,"avatar":false,"name":"mirotalksfu","audio":false,"video":false,"screen":false,"chat":false,"notify":false,"duration":"unlimited"}'

Why Use It

MiroTalk SFU stands out as a comprehensive and powerful solution for real-time communication, offering several compelling advantages:

  • Scalability and Performance: Built on Mediasoup, it supports high-resolution video (up to 8K, 60fps) and is designed for scalable conferences, ensuring smooth experiences for multiple participants.
  • Rich Feature Set: It includes a wide array of functionalities such as virtual backgrounds, screen sharing, file sharing, private chat, local and server-side recording, real-time polls, collaborative whiteboards, and rich text editors. It also integrates with ChatGPT for AI assistance and offers VideoAI for custom avatars.
  • Open Source and Self-Hosted: Being open-source under AGPLv3 and self-hostable, MiroTalk SFU provides complete control over your communication infrastructure, ensuring data privacy and customization flexibility.
  • Security: Features like host protection, user authentication, JWT management, and room password protection enhance the security of your conferences.
  • Broad Compatibility: It is compatible with all major desktop and mobile browsers, offering a consistent experience across devices.
  • Integration Capabilities: With a robust REST API, RTMP server integration (compatible with OBS), and direct integrations with platforms like Slack, Discord, and Mattermost, MiroTalk SFU can be seamlessly incorporated into existing workflows.

Links

Related repositories

Similar repositories that may be relevant next.

Source repository

Open the original repository on GitHub.

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️