2026.10.14

MiroTalk BRO:面向自托管直播房间的 WebRTC 平台

MiroTalk BRO 适合希望自行管理直播入口的团队,支持视频、音频、屏幕广播及 RTMP 输入;采用前需评估 SFU、网络、浏览器效果和 AGPLv3 要求。

项目用途

MiroTalk BRO 是一个开源、自托管的 WebRTC 直播平台,目标是把实时视频、音频和屏幕内容发送给连接中的观众。官方将它定位于网络研讨会、线上活动、演示、公告和其他实时沟通场景。与依赖托管视频平台的方案不同,部署者需要自行准备运行环境、域名或访问入口,以及网络和运维流程。

适合哪些人

它更适合希望掌握直播服务部署位置、配置和访问方式的开发者、小型团队、教育或活动组织者。项目支持房间模型:每个房间包含一名广播者和多名观众,README称房间没有时间限制。需要注意的是,这些描述并不等于已确认的并发容量;仓库提供的资料没有给出统一的硬件规格、观众上限或性能承诺。

已知功能

广播可使用摄像头、麦克风和屏幕共享。项目提供 P2P 与 SFU 广播模式;如果选择 SFU,需要先满足 mediasoup 的安装要求。官方README也提供 Docker Compose 和本地 Node.js 部署路径,并列出配置、自动化脚本、集成、直接加入房间及 REST API 文档入口。

摄像头背景功能包括关闭、模糊和图片。图片可以是本地 PNG、JPEG 或 WebP,单个文件不超过 10 MB,且不会上传到服务器。效果在广播者浏览器中处理,因此浏览器能力和设备负载会影响体验。启用效果时,输出上限为 1280×720、15 FPS;关闭效果时可保留摄像头分辨率并最高达到 60 FPS,具体表现仍取决于设备。屏幕共享和 RTMP 源不使用这套浏览器摄像头效果。

项目还支持 RTMP 输入,让 Blackmagic ATEM、OSEE 或 OBS 等硬件或软件编码器作为广播源。该路径要求 SFU、FFmpeg 和 MediaMTX,并涉及发布令牌、对外可达地址以及 mediasoup UDP/TCP 端口范围配置。

采用前的限制与部署考虑

首先,部署责任在使用者一侧:包括依赖安装、环境变量、反向代理、网络连通性、端口暴露和访问控制。远程部署或 Docker 位于 NAT 后时,README特别要求把 mediasoup 的广播地址设置为观众可访问的公网地址或主机名;仅使用回环地址不适合远程观众。

其次,浏览器背景效果并非无条件可用。它需要 WebGL2、canvas 流捕获,模糊还需要 canvas filter 支持;相关 MediaPipe 与模型资源会从 jsDelivr 和 Google Storage 加载,因此自定义 CSP 或网络策略必须允许这些主机。初始化失败时会回退到无效果摄像头画面。项目资料没有确认所有浏览器、移动设备或网络环境的兼容性,正式活动前应自行验证。

最后,MiroTalk BRO采用 AGPLv3。若修改并对外提供服务,应让开发和法务团队阅读完整许可证及项目说明。README还列出不同条款的商业授权选项,但具体价格、权利范围和适用条件未在所给资料中确认。

资料来源

资料核对日期:2026-10-14