Self-hosted, open-source WebRTC cam-to-cam peer-to-peer video calling for private 1-to-1 real-time communication, with screen sharing and end-to-end encryption.
MiroTalk C2C is a self-hosted, open-source WebRTC platform for secure cam-to-cam peer-to-peer video calls and screen sharing. It enables immersive 1-to-1 real-time communication with full end-to-end encryption and can be easily embedded into any website via a simple iframe integration.
Try Live Demo · Privacy · Documentation · Discord · Sponsor
⚡ Quick start
Start in 5 commands:
git clone https://github.com/miroslavpejic85/mirotalkc2c.git
cd mirotalkc2c
cp .env.template .env
npm install
npm startOpen http://localhost:8080 - done!
🖼️ Camera backgrounds
In Settings > Video > Background, select Off, Blur, or Image. PNG, JPEG, and WebP images up to 10 MB are processed locally in your browser and are not uploaded. Effects appear in the camera preview, outgoing camera video, and camera recordings. Screen sharing is unaffected; the selected effect resumes when returning to the camera. Background changes are blocked while recording.
Effects require WebGL2 and canvas stream capture; blur also requires canvas filter support. MediaPipe Tasks Vision 0.10.21 and its WASM files are lazy-loaded from jsDelivr, and the selfie segmentation model (version 1) is loaded from Google Storage. These hosts must be reachable and allowed by any custom CSP, including WASM execution. Processing failures fall back to the original camera.
Effect output is capped at 1280 x 720 and 15 FPS. Off uses the original camera without processing. Performance varies by device, and background tabs may throttle rendering. Image selections are not persisted across page reloads.
🐳 Docker
Prerequisites: Install Docker Engine and Docker Compose - Image available on Docker Hub
git clone https://github.com/miroslavpejic85/mirotalkc2c.git
cd mirotalkc2c
cp .env.template .env
cp docker-compose.template.yml docker-compose.yml
docker-compose pull # optional: pull official image
docker-compose up # add -d to run in backgroundOpen http://localhost:8080 - done!
Note: Edit
.envanddocker-compose.ymlto customize your setup.
☁️ Recommended Hosting Providers
| Provider | Description | Link |
|---|---|---|
![]() |
High-performance cloud servers and dedicated root servers with top-tier reliability. Powers our live demo. | Explore Hetzner |
![]() |
Enterprise-grade performance at unbeatable prices. Scalable and reliable. | Explore Netcup |
![]() |
Fast, reliable hosting with 24/7 support and great performance. | Check out Hostinger |
![]() |
Top-tier German hosting, dedicated servers, VPS, and web hosting at unbeatable prices. | Explore Contabo |
To set up your own instance of MiroTalk C2C on a dedicated cloud server, please refer to our comprehensive self-hosting documentation.
🤝 Contributing
Contributions are welcome and greatly appreciated! Whether it's bug fixes, features, or documentation - every contribution helps.
- Fork the repository
- Create your feature branch
- Submit a pull request
Have questions? Join our Discord community!
📄 License
MiroTalk C2C 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 C2C 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 C2C 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 C2C. Your support is vital in ensuring that this valuable platform continues to thrive and remain accessible for all. Make an impact – back MiroTalk C2C today and be part of this exciting journey!
🌐 Explore the full MiroTalk suite (SFU, P2P, BRO, C2C, WEB, CME, ADM) → MiroTalk Overview
Built with ❤️ by Miroslav and the open-source community





