MCPcopy Index your code
hub / github.com/miroslavpejic85/mirotalk

github.com/miroslavpejic85/mirotalk @main

repository ↗ · DeepWiki ↗ · + Follow
1,060 symbols 3,376 edges 59 files 601 documented · 57% updated 1d ago★ 4,617
README
<a href="https://p2p.mirotalk.com" target="_blank">
    <img src="https://github.com/miroslavpejic85/mirotalk/raw/main/public/images/mirotalk-icon.png">
</a>

MiroTalk P2P

Open Source WebRTC P2P Video Conferencing You Can Self-Host in Minutes

Free, Secure, Fast Real-Time Communication - up to 8K, 60fps. Works in All Browsers and Platforms.

GitHub Stars GitHub Forks

License: AGPLv3 Docker Pulls Last Commit Discord Author

MiroTalk P2P is a self-hosted, open-source video conferencing platform using direct peer-to-peer WebRTC connections for fast, secure, real-time communication. Deploy on your own server in minutes. Enjoy unlimited rooms, no time limits, end-to-end privacy, and a rich feature set - all under your control.

<a href="https://p2p.mirotalk.com">Try Live Demo</a> · <a href="https://p2p.mirotalk.com/privacy">Privacy</a> · <a href="https://docs.mirotalk.com/mirotalk-p2p/self-hosting/">Documentation</a> · <a href="https://discord.gg/rgGYfeYW3N">Discord</a> · <a href="https://github.com/sponsors/miroslavpejic85">Sponsor</a>











<a href="https://p2p.mirotalk.com/">
    <img src="https://github.com/miroslavpejic85/mirotalk/raw/main/public/images/mirotalk-github.gif" alt="MiroTalk P2P - Open Source Video Conferencing">
</a>

Proudly sponsored by

Recall.ai - API for meeting recording

An API for recording Zoom, Google Meet, Microsoft Teams, and in-person meetings.


✨ Why MiroTalk P2P?

MiroTalk P2P Other Solutions
💰 Cost Free & Open Source (AGPLv3). One-time fee licenses available Paid plans
🏠 Self-hosted ✅ Full control over your data ❌ Cloud only
🔒 Privacy Your server, your rules Third-party data processing
⏱️ Time limits Unlimited 40-60 min on free tiers
🏢 Rooms Unlimited concurrent rooms Limited
🎥 Resolution Up to 8K @ 60fps Up to 1080p
🌍 Languages 133 languages ~30-80
🔌 API Full REST API included Paid add-on
🤖 AI Features ChatGPT (OpenAI) integration Paid AI add-ons
🧩 Rebrand Full source code, white-label ready Limited branding options
📦 Deploy Docker, Node.js, one-click install N/A (SaaS only)

🚀 Features

  • 🎥 Video up to 8K @ 60fps · Screen sharing · Recording · Picture-in-Picture
  • 💬 Chat with Markdown & emoji · Collaborative whiteboard · File sharing
  • 🤖 ChatGPT (OpenAI) integration · Speech recognition
  • 🔒 OIDC auth · Host protection · JWT credentials · Room passwords · Peer-to-peer encryption
  • 🔌 REST API · Slack & Mattermost · Embeddable iframe & widget · 133 languages

See all features →

⚡ Quick start

Start in 6 commands:

git clone https://github.com/miroslavpejic85/mirotalk.git
cd mirotalk
cp .env.template .env
cp app/src/config.template.js app/src/config.js
npm install
npm start

Open http://localhost:3000 - done!

🐳 Docker

docker

Prerequisites: Install Docker Engine and Docker Compose - Image available on Docker Hub

git clone https://github.com/miroslavpejic85/mirotalk.git
cd mirotalk
cp .env.template .env
cp app/src/config.template.js app/src/config.js
cp docker-compose.template.yml docker-compose.yml
docker-compose pull    # optional: pull official image
docker-compose up      # add -d to run in background

Open http://localhost:3000 - done!

Note: Edit app/src/config.js, .env, and docker-compose.yml to customize your setup.

📚 Documentation

For detailed guides and references, visit the official documentation:

☁️ Recommended Hosting Providers

Provider Description Link
Cloudron One-click install from the Cloudron App Store. Automates deployment, updates, backups, and user management. Get Started
Hetzner High-performance cloud servers and dedicated root servers with top-tier reliability. Powers our live demo. Get €20 Free Credits
Netcup Enterprise-grade performance at unbeatable prices. Scalable and reliable. Explore Netcup
Hostinger Fast, reliable hosting with 24/7 support and great performance. Check out Hostinger
Contabo Top-tier German hosting, dedicated servers, VPS, and web hosting at unbeatable prices. Explore Contabo

To set up your own instance of MiroTalk P2P on a dedicated cloud server, please refer to our comprehensive self-hosting documentation.

🙏 Credits

🤝 Contributing

Contributions are welcome and greatly appreciated! Whether it's bug fixes, features, or documentation - every contribution helps.

  1. Fork the repository
  2. Create your feature branch
  3. Run npm run lint before committing
  4. Submit a pull request

Have questions? Join our Discord community!

📄 License

AGPLv3

MiroTalk P2P is free and open-source under the terms of AGPLv3 (GNU Affero General Public License v3.0). Please respect the license conditions, In particular modifications need to be free as well and made available to the public. Get a quick overview of the license at Choose an open source license.

To obtain a MiroTalk P2P license with terms different from the AGPLv3, you can conveniently make your purchase on CodeCanyon. This allows you to tailor the licensing conditions to better suit your specific requirements.

❤️ Support the project

Do you find MiroTalk P2P indispensable for your needs? Join us in supporting this transformative project by becoming a backer or sponsor. By doing so, not only will your logo prominently feature here, but you'll also drive the growth and sustainability of MiroTalk P2P. Your support is vital in ensuring that this valuable platform continues to thrive and remain accessible for all. Make an impact - back MiroTalk P2P today and be part of this exciting journey!

EvoPlat Cloudron EffectsSDK
[QuestionPro](http

Core symbols most depended-on inside this repo

getId
called by 414
public/js/client.js
log
called by 254
app/src/logs.js
createElement
called by 172
public/js/widget.js
elemDisplay
called by 164
public/js/client.js
setTippy
called by 133
public/js/client.js
error
called by 113
app/src/logs.js
playSound
called by 96
public/js/client.js
debug
called by 93
app/src/logs.js

Shape

Function 793
Method 205
Class 62

Languages

TypeScript100%

Modules by API surface

public/js/client.js609 symbols
public/js/widget.js60 symbols
public/js/rnnoiseSync.js30 symbols
public/js/noiseSuppressionProcessor.js30 symbols
app/src/server.js27 symbols
app/src/tokenManager.js26 symbols
app/src/mattermost.js26 symbols
public/js/nodeProcessor.js24 symbols
public/js/geoLocation.js22 symbols
public/js/localStorage.js13 symbols
public/js/customizeRoom.js13 symbols
app/src/api.js12 symbols

Dependencies from manifests, versioned

@mattermost/client11.8.0 · 1×
@ngrok/ngrok1.7.0 · 1×
@sentry/node10.63.0 · 1×
axios1.18.1 · 1×
body-parser2.2.0 · 1×
chokidar5.0.0 · 1×
colors1.4.0 · 1×
compression1.8.1 · 1×
cors2.8.6 · 1×
crypto-js4.2.0 · 1×
dompurify3.4.11 · 1×
dotenv17.4.2 · 1×

For agents

$ claude mcp add mirotalk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact