selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

mirotalkbro logo

Self-host mirotalkbro

1.4.67

Open-source WebRTC live broadcasting platform

ReleaseOpen SourceAGPL-3.0
Updated4 months ago
LanguageJavaScript
Setup difficultyModerate
Stars
212
CPU
Ubuntu 22.04 LTS recommended
Ports
3016 (HTTP signaling and WebSocket server), 20000 (mediasoup RTC media port range start (UDP/TCP, SFU mode only)), 20099 (mediasoup RTC media port range end (UDP/TCP, SFU mode only))
Docker
mirotalk/bro
Install with Docker Compose
MiroTalk BRO broadcast studio interfaceMiroTalk BRO live broadcasting demo

What is mirotalkbro?

MiroTalk BRO is a self-hosted, open-source WebRTC live broadcasting platform for one-to-many streaming scenarios like webinars, live events, presentations, and announcements. It offers two broadcasting modes: P2P (mesh peer-to-peer) for small audiences and SFU (Selective Forwarding Unit via mediasoup) for larger broadcasts with 100+ viewers. Key capabilities include real-time video/audio/screen broadcasting, camera background effects (blur, image), recording, RTMP ingest from hardware encoders (OBS, Blackmagic ATEM), iframe embedding for website integration, and a REST API for programmatic room creation. The platform runs on Node.js and can be deployed via Docker Compose, bare Node.js with PM2, automated installation scripts on Ubuntu, or Cloudron. It uses AGPL-3.0 licensing with optional paid licenses for commercial closed-source use.

Should you self-host mirotalkbro?

mirotalkbro scores 50/100 on selfhost.directory (how scoring works) and ranks #19 of 36 in Video Streaming. It has 212 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is Jitsi Videobridge (65/100, 3 107 stars). It scores higher overall, so compare the two before you pick. See mirotalkbro vs Jitsi Videobridge side by side.

Features

  • Admin-only broadcasting
  • Camera background effectsCapped at 1280x720 and 15 FPS when effects active
  • Chat messaging
  • iFrame Embedding
  • OIDC AuthenticationOptional, disabled by default
  • P2P broadcasting mode
  • Recording
  • REST API
  • RTMP IngestRequires BROADCASTING=sfu, MediaMTX, and FFmpeg
  • Screen sharing
  • SFU broadcasting mode
  • Simulcast
  • STUN/TURN supportTURN recommended for production
  • WebRTC live broadcasting

mirotalkbro README

How to install mirotalkbro

Install mirotalkbro with Docker Compose

Docker Engine, Docker Compose

Install Docker and Docker Compose

sudo apt install -y docker.io sudo apt install -y docker-compose

Clone the repository

git clone https://github.com/miroslavpejic85/mirotalkbro.git

Navigate to the project directory

cd mirotalkbro

Copy and customize the environment template

cp .env.template .env

Copy and customize the Docker Compose template

cp docker-compose.template.yml docker-compose.yml

Pull the official Docker image

docker-compose pull

Create and start containers (add -d to run in background)

docker-compose up

mediasoup RTC port range only needed for SFU mode

FAQ

What licensing options are available?

MiroTalk BRO is free under AGPLv3 (open source, modifications must be shared). Paid Regular ($59) and Extended ($249) licenses allow private/commercial use with source code kept private.

Is there a REST API for programmatic access?

Yes, MiroTalk BRO exposes a REST API at /api/v1/join for creating direct broadcast join URLs, authenticated via API_KEY_SECRET header.

Can I embed MiroTalk BRO in my website?

Yes, MiroTalk BRO supports iframe embedding for both broadcaster and viewer roles with pre-set credentials, allowing integration into external websites.

Does MiroTalk BRO support RTMP streaming from hardware encoders?

Yes, in SFU mode MiroTalk BRO can ingest RTMP from hardware encoders like OBS, Blackmagic ATEM, and OSEE via MediaMTX and FFmpeg.

What are the server requirements for self-hosting?

Recommended OS is Ubuntu 22.04 LTS with Node.js LTS and npm. A domain with DNS A record pointing to the server's IPv4 is required. A TURN server (coturn) is recommended for production.

Can MiroTalk BRO handle large-scale broadcasts?

Yes, MiroTalk BRO supports both P2P and SFU modes. P2P works best for small audiences, while SFU (via mediasoup) handles 100+ viewers depending on server capacity.

More in Live Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…