MiroTalk SFU: Scalable WebRTC Video Conferences Up to 8K

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.

At a glance

Added to OSRepos
October 12, 2025
Last analyzed
October 12, 2025
View on GitHub

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.

Source repository

Open the original repository on GitHub.

17 counted GitHub visits

View on GitHub

Related repositories

Similar repositories that may be relevant next.

CyberVerse: Self-Hosted Real-Time Digital Human Agent Platform

CyberVerse: Self-Hosted Real-Time Digital Human Agent Platform

September 18, 2026

CyberVerse is an open-source, self-hosted platform for building real-time digital human agents. It leverages WebRTC, persona memory, tools, and RAG to create voice-first AI agents, with optional digital-human video capabilities. This powerful framework allows developers to create highly interactive and lifelike AI companions.

AI AgentsDigital HumanVoice Assistant
vidgear: High-Performance Cross-Platform Video Processing Framework in Python

vidgear: High-Performance Cross-Platform Video Processing Framework in Python

July 27, 2026

vidgear is a high-performance, cross-platform Python framework for advanced video processing. It provides a comprehensive, multi-threaded, and asyncio API for real-time video capture, writing, streaming, and network transfer. This framework simplifies complex media operations, enabling developers to build robust applications with ease.

PythonVideo ProcessingReal Time Streaming
libwebrtc: C++ Wrapper for WebRTC Desktop and Embedded Systems

libwebrtc: C++ Wrapper for WebRTC Desktop and Embedded Systems

April 6, 2026

libwebrtc is a C++ wrapper designed for WebRTC binary releases, primarily supporting Flutter-WebRTC desktop applications. It simplifies the integration of WebRTC functionalities across Windows, Linux, and various embedded systems, offering pre-compiled binaries and a clear compilation guide.

DllSoWebRTC
Neko: A Self-Hosted Virtual Browser for Collaborative and Secure Web Access

Neko: A Self-Hosted Virtual Browser for Collaborative and Secure Web Access

April 1, 2026

Neko is an innovative self-hosted virtual browser that leverages Docker and WebRTC technology to provide secure and private internet access. It enables users to run a fully functional browser in an isolated environment, supporting multiple participants for collaborative activities like watch parties and interactive presentations. This versatile tool offers a robust solution for both individual privacy and team-based online interactions.

DockerGolangVirtual Browser
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 ❤️