explaingit

miroslavpejic85/mirotalk

4,526JavaScriptAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

A self-hosted peer-to-peer video conferencing tool that runs in a browser and connects participants directly without routing your meeting data through a third-party server. Supports screen sharing, recording, whiteboard, and file sharing.

Mindmap

mindmap
  root((repo))
    What it does
      Video conferencing
      Peer to peer calls
      Screen sharing
    Tech Stack
      JavaScript
      Node.js
      WebRTC
      Docker
    Features
      Whiteboard
      File sharing
      REST API
    Use Cases
      Private team calls
      White-label product
      Website embedding
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a private video conferencing server for your team that keeps meeting data off third-party infrastructure.

USE CASE 2

Embed a video call room as an iframe or widget inside an existing website or product.

USE CASE 3

Build a white-label video conferencing product under your own brand using MiroTalk's custom branding support.

USE CASE 4

Automate room creation for scheduled meetings using MiroTalk's REST API.

Tech stack

JavaScriptNode.jsWebRTCDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a public server with Node.js installed, Docker is also supported for simpler deployment.

Free to use and modify under AGPLv3, any publicly distributed modified version must also be open-source. A commercial licence is available separately for teams that need different terms.

In plain English

MiroTalk P2P is a video conferencing tool you can run on your own server. Instead of sending video through a company's central computers, it connects participants directly to each other using a browser technology called WebRTC. That means your meeting data does not pass through a third party's infrastructure. The feature set is broad. Video quality can reach up to 8K resolution at 60 frames per second, and there are no time limits or caps on how many rooms can run at once. Alongside video and audio, users get screen sharing, session recording, a chat window with text formatting and emoji, a collaborative whiteboard, and file sharing within the room. The interface supports 133 languages. There is also an optional integration with OpenAI's ChatGPT, though you would need your own API key for that. For teams that need access control, the software includes room passwords, host protection modes, and support for standard login protocols used by corporate identity systems. A REST API is included, so developers can automate room creation or build MiroTalk into another product. It can also be embedded as an iframe or small widget inside an existing website. Getting it running is straightforward. The README shows a six-command setup starting from a code download, and a Docker option is available for teams that prefer container-based deployment. The project's documentation covers custom branding, which makes it usable as a white-label product if you want to present it under your own name. The code is released under the AGPLv3 open-source licence, which allows free use and modification but requires that any modified version you distribute publicly also stays open-source. The project also sells a one-time commercial licence for teams that need different terms. It is written in JavaScript and runs on Node.js.

Copy-paste prompts

Prompt 1
Show me the commands to install and start MiroTalk P2P on a fresh Ubuntu server from scratch to a working video call room.
Prompt 2
I want to embed a MiroTalk room as an iframe in my website. Show me the HTML and any configuration needed to make it work.
Prompt 3
Using MiroTalk's REST API, write a script that creates a new password-protected room and returns the join URL.
Prompt 4
Show me how to configure custom branding in MiroTalk so the interface shows my own logo and company name instead of the defaults.
Open on GitHub → Explain another repo

← miroslavpejic85 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.