MiroTalk Home

MiroTalk Projects
| Project | Live Demo | Description |
|---|---|---|
| ๐ SFU | sfu.mirotalk.com | Scalable group video conferencing |
| ๐ P2P | p2p.mirotalk.com | Peer-to-peer video calls |
| โจ C2C | c2c.mirotalk.com | Cam-to-Cam communication |
| ๐ก BRO | bro.mirotalk.com | Broadcasting one-to-many streaming |
| ๐ WEB | webrtc.mirotalk.com | Room scheduler and meeting manager |
| โ๏ธ ADMIN | Self-hosting guide | Manage updates, configurations, and settings |
View the complete MiroTalk projects overview and comparisons.
License
Support the ongoing development and adapt MiroTalk to your unique needs.
๐ Check our licensing options
Questions & Support
Join our MiroTalk Community Forum for questions, discussions, and support.
About
MiroTalk WebRTC enables real-time audio and video communication directly through web browsers โ no plugins or software installations required.
| Advantage | Description |
|---|---|
| ๐ Ease of Use | Connect via any web browser โ no complex setups or downloads needed |
| โก Low Latency | Smooth, near-instantaneous audio and video for real-time interactions |
| ๐ Security | End-to-end encryption for private and confidential conversations |
| ๐ป Cross-Platform | Works on Windows, macOS, Linux, Android, and iOS |
| ๐ Scalability | Supports one-on-one calls through large-scale conferences |
| ๐ Integration | Embeds seamlessly into existing platforms and applications |
| ๐ ๏ธ Flexible | Open codebase lets developers build tailored solutions |
| ๐ฐ Reduced Costs | No dedicated hardware or software licenses required |
| ๐ฎ Versatile | Use for video conferencing, live streaming, customer support, and more |
Fast Integration

Embed MiroTalk into your website or app with a simple iframe:
<iframe
allow="camera; microphone; speaker-selection; display-capture; fullscreen; clipboard-read; clipboard-write; web-share; autoplay; picture-in-picture"
src="https://sfu.mirotalk.com/newroom"
style="width: 100vw; height: 100vh; border: 0px;"
></iframe>
Just change the src to match the MiroTalk variant you need:
| Project | Source URL | CodePen |
|---|---|---|
| SFU | https://sfu.mirotalk.com/newroom |
Demo |
| P2P | https://p2p.mirotalk.com/newcall |
Demo |
| C2C | https://c2c.mirotalk.com |
Demo |
| BRO | https://bro.mirotalk.com |
Demo |
| WEB | https://webrtc.mirotalk.com |
Demo |
See also: React integration example
After setting up your MiroTalk instances, update the src attribute with your custom domain or subdomain.
Quick Custom Integration
Integrate MiroTalk into existing platforms like Perfex, PlayTube, Sngine, Wowonder, or any web application.
Step 1: HTML Button
Add a button to trigger a video conference session:
<!-- Button for Javascript -->
<button id="startConferenceButton">Start Video Conference</button>
<!-- Button for PHP-->
<form method="post">
<button type="submit" name="startConferenceButton" id="startConferenceButton">
Start Conference
</button>
</form>
Step 2: Handle the Click Event
JavaScript:
document
.getElementById("startConferenceButton")
.addEventListener("click", function () {
window.open("videoConference.html", "_blank");
// toggleMiroTalk();
});
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['startConferenceButton'])) {
echo '<script> window.open("videoConference.html", "_blank"); </script>';
// echo '<script> toggleMiroTalk(); </script>';
}
}
Step 3: Video Conference Page
Create a dedicated videoConference.html page:
<!-- videoConference.html -->
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<!-- HTML container for the video conference -->
<iframe
id="mirotalkIframe"
allow="camera; microphone; display-capture; fullscreen; clipboard-read; clipboard-write; web-share; autoplay"
src="https://sfu.mirotalk.com/newroom"
style="height: 100vh; width: 100vw; border: 0px;"
></iframe>
</body>
<!--
The iframe 'src' attribute can be any of:
- https://sfu.mirotalk.com
- https://p2p.mirotalk.com
- https://c2c.mirotalk.com
- https://bro.mirotalk.com
- https://webrtc.mirotalk.com
- ...
-->
</html>
Alternatively, embed the iframe in your existing page and toggle its visibility:
function toggleMiroTalk() {
const mirotalkIframe = document.getElementById("mirotalkIframe");
mirotalkIframe.style.display =
mirotalkIframe.style.display === "none" ||
mirotalkIframe.style.display === ""
? "block"
: "none";
}
After setting up your MiroTalk instances, update the src attribute with your custom domain or subdomain.
Step 4: Customize the iframe src
Use query parameters to customize the URL โ see the join-room guide for each variant:
You can also generate meeting URLs via the REST API:
- MiroTalk SFU REST API
- MiroTalk P2P REST API
- MiroTalk C2C REST API
- MiroTalk BRO REST API
- MiroTalk WEB REST API
Self-Hosting
Deploy MiroTalk on your own server for full control over your data and infrastructure.
| Project | Self-Hosting Guide | Configurations |
|---|---|---|
| ๐ SFU | Self-hosting | Config |
| ๐ P2P | Self-hosting | Config |
| โจ C2C | Self-hosting | Config |
| ๐ก BRO | Self-hosting | Config |
| ๐ WEB | Self-hosting | Config |
| โ๏ธ ADMIN | Self-hosting | โ |
Deployment Options
Multiple deployment methods are available to suit different environments:
| Method | Description | Guide |
|---|---|---|
| ๐ Install Scripts | Automated setup on Ubuntu with a single command | Scripts guide |
| ๐ณ Docker Compose | Containerized deployment for easy management | Docker guide |
| โ๏ธ Cloudron | One-click deployment with automatic updates and backups | Cloudron guide |
WebRTC Architectures
Understanding WebRTC architectures helps you choose the right MiroTalk product for your use case:
| Architecture | How It Works | Best For |
|---|---|---|
| Mesh (P2P) | Peers connect directly to each other | Small groups, low latency |
| SFU | Central server selectively forwards streams | Larger meetings, scalable |
| MCU | Server mixes all streams into one | Centralized control, media mixing |
๐ Learn more about WebRTC architectures
Advanced Features
MiroTalk offers powerful capabilities beyond basic video conferencing:
| Feature | Description | Guide |
|---|---|---|
| ๐บ RTMP Streaming | Live stream to platforms via Node Media Server or Nginx RTMP | RTMP guide |
| ๐ Scalability | Scale to 100โ1000+ concurrent users with vertical or horizontal scaling | Scalability guide |
| ๐ Webhooks | Event-driven integrations for room and user events | SFU webhooks ยท P2P webhooks |
| ๐ก๏ธ Host Protection | Restrict room access and manage participants | SFU ยท P2P |
| ๐จ Rebranding | Customize the look and feel with your own brand | SFU ยท P2P |
Infrastructure & Utilities
Guides for setting up the supporting infrastructure:
| Topic | Description | Guide |
|---|---|---|
| ๐ STUN/TURN | NAT traversal with Coturn for reliable peer connections | STUN/TURN overview ยท Installation |
| ๐ง Ngrok | Expose local servers via secure public URLs for development and testing | Ngrok guide |
| ๐ฆ NVM | Manage multiple Node.js versions on your server | NVM guide |
| ๐ FTP | Set up an FTP server for file transfers | FTP guide |
| ๐ System Updates | Keep your server up to date | Update guide |