跳转到内容

插件总览

Monibuca V6 采用全插件化架构,所有协议接入、工具功能、设备对接均以独立插件 crate 的形式提供。引擎本体只负责流管理、配置、HTTP 服务等核心能力,具体功能由插件按需组合。

V6 共提供 26 个插件 + 1 个内置服务(Room),按功能分为五大类。

插件名配置节说明
RTMPrtmpRTMP 推拉流,支持推流鉴权、GOP 缓存
RTSPrtspRTSP 推拉流,支持 TCP/UDP 传输
HTTP-FLVflvHTTP-FLV 拉流,支持 WebSocket-FLV
HLShlsHLS 切片与拉流,支持 LL-HLS
WebRTCwebrtcWebRTC 推拉流,WHIP/WHEP 标准接入
SRTsrtSRT 协议推拉流,低延迟可靠传输
WebTransportwebtransport基于 QUIC 的 WebTransport 协议支持
GB28181gb28181国标 GB/T 28181 设备接入与级联
插件名配置节说明
MP4 录制mp4MP4 录制与点播回放
截图服务snap视频流截图与 MJPEG 输出
音频转码ffmpeg_transcode基于 FFmpeg 的音视频转码
日志轮转logrotate日志文件自动轮转与清理
调试工具debug开发调试辅助工具
SEI 注入seiH.264/H.265 SEI 数据注入
定时任务crontab定时拉流、录制等周期性任务
混流mix多路流合并为单路输出
加密crypto流媒体内容加密
上报report运行状态与指标上报
测试test自动化集成测试插件

详细说明见 工具插件合集

插件名配置节说明文档
Room 服务room房间核心服务(引擎内置),管理房间生命周期、用户、WebSocket、回调详见
直播间live直播间管理:礼物系统、连麦、PK、机器人观众、数据持久化详见
会议室meeting视频会议:议程、计时器、实时转写、AI 总结、任务提取详见
客服通话customer-service1v1 客服通话:坐席管理、音频混音、满意度评价详见
插件名配置节说明
ONVIFonvifONVIF 协议设备发现与管理
V4L2v4l2Linux Video4Linux2 摄像头采集
ALSAalsaLinux ALSA 音频采集
插件名配置节说明
HomeKithomekitApple HomeKit 摄像头接入

详细说明见 设备与生态插件


Monibuca V6 的房间系统基于内置的 Room 服务 和三个扩展插件组成:

┌─────────────────────────────────────────────┐
│ Room Service (引擎内置) │
│ • 房间生命周期管理 │
│ • WebSocket 连接管理 │
│ • 用户加入/离开/心跳 │
│ • RoomApi trait 与回调系统 │
└─────────────────────────────────────────────┘
↓ RoomApi trait ↓
┌──────────────────────────────────────────────┬──────────────────────────────────────────────┬─────────────────────────────────────────┐
│ Live Plugin (直播间) │ Meeting Plugin (会议室) │ CustomerService Plugin (客服通话) │
│ • 礼物系统 & Combo │ • 议程管理 │ • 1v1 会话(max_users: 2) │
│ • 连麦系统(Link-Mic) │ • 计时器 │ • 会话分配与转接 │
│ • PK 对战 │ • 实时转写(ASR) │ • 音频混音 │
│ • 机器人观众 │ • AI 总结 & 任务提取 │ • 满意度评价 │
│ • 数据持久化 │ • 等候室(Lobby) │ • HTTP API │
│ • 100+ 观众 │ • 50+ 参与者 │ • 1000+ 并发会话 │
└──────────────────────────────────────────────┴──────────────────────────────────────────────┴─────────────────────────────────────────┘

使用场景对应

  • 直播场景 → Live 插件 + WebRTC 推流
  • 会议场景 → Meeting 插件 + 等候室 + 录制
  • 客服场景 → CustomerService 插件 + HTTP API

详见 房间系统详细文档


官方预编译二进制与 Docker 镜像已内置全部官方插件,在 config.yaml 中通过 enable: true/false 按需开关即可,无需自行编译引擎。

# 最小协议集
rtmp:
enable: true
flv:
enable: true
hls:
enable: true
# 直播场景(需 Room 相关插件)
live:
enable: true
webrtc:
enable: true
# 会议场景
meeting:
enable: true
# 监控场景
rtsp:
enable: true
gb28181:
enable: true

未在配置中出现的插件通常保持默认启用策略;将 enable: false 可显式关闭不需要的插件以节省资源。各插件配置项见对应文档。

Monibuca V6 支持三种插件加载模式:

官方发布的二进制已静态内置全部官方插件,通过配置文件启用。推荐用于生产环境,性能最优、部署最简单。

第三方或定制插件可编译为 .so / .dylib / .dll,由引擎在运行时从 plugins_dir 加载,适用于热更新或按需扩展:

plugins_dir: "./plugins"

WASM 插件通过 WebAssembly 沙箱运行,提供更好的隔离性。此模式仍在开发中。

所有插件遵循统一的生命周期管理:

Created → Initialized → Running → Stopped
Disabled
  1. Created — 插件实例被创建
  2. Initializedinit() 被调用,加载配置、注入依赖
  3. Runningstart() 被调用,开始提供服务
  4. Stoppedstop() 被调用,优雅停机
  5. Disabled — 配置中 enable: false,跳过启动

引擎通过 PluginManager 统一管理所有插件的初始化顺序、依赖注入和优雅停机。

如果你正在查“某个组件对应哪些 HTTP 接口”,可从以下入口快速跳转:

联系我们

微信公众号:不卡科技 微信公众号二维码
腾讯频道:流媒体技术 腾讯频道二维码
QQ 频道:p0qq0crz08 QQ 频道二维码
QQ 群:751639168 QQ 群二维码