JavaScript AGPL-3.0

mirotalkc2c

📹 Open-source, self-hosted WebRTC 1-to-1 video calling for private real-time communication. Build secure browser-based consultations, coaching, support, telehealth, and other video call experiences with peer-to-peer communication and screen sharing.

M

miroslavpejic85

Dernière activité 28 sept. 2026
miroslavpejic85/mirotalkc2c

513

étoiles

97

forks

0

issues ouvertes

e2e-encryptionembedableend-to-end-encryptioniframelow-latencymirotalkone-to-oneonline-meetingopen-sourcep2ppeer-to-peerreal-time-communicationscreen-sharingself-hostedvideo-callvideo-chatvideo-conferencingwebrtc

Ce README est souvent en anglais.

MiroTalk C2C - Open Source Self-Hosted WebRTC 1-to-1 Video Calling

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.


GitHub Stars GitHub Forks

License: AGPLv3 Docker Pulls Last Commit Discord Author


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


MiroTalk C2C - Cam-2-Cam Video Calls



⚡ Quick start

Start in 5 commands:

git clone https://github.com/miroslavpejic85/mirotalkc2c.git
cd mirotalkc2c
cp .env.template .env
npm install
npm start

Open 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

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 background

Open http://localhost:8080 - done!

Note: Edit .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
Hetzner High-performance cloud servers and dedicated root servers with top-tier reliability. Powers our live demo. Explore Hetzner
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 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.

  1. Fork the repository
  2. Create your feature branch
  3. Submit a pull request

Have questions? Join our Discord community!

📄 License

AGPLv3

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

Projets similaires

🚀 Open-source, self-hosted P2P WebRTC video conferencing for fast, private real-time communication. Create browser-based meeting rooms with no downloads or time limits, plus screen sharing, chat, whiteboard, recording, and collaboration.

JavaScriptcollaborationconferencingdecentralized
Mmiroslavpejic85
4,8 k étoiles777

🏆 Self-hosted, open-source WebRTC video conferencing platform for real-time communication and collaboration. A modern alternative to Zoom, Google Meet, Jitsi Meet, and Microsoft Teams, powered by scalable SFU architecture with Mediasoup.

JavaScriptcollaborationdockerfile-sharing
Mmiroslavpejic85
3,1 k étoiles508

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.

TypeScriptdebiandeep-videojitsi
Jjitsi
30 k étoiles8,1 k