插件总览
Monibuca V6 采用全插件化架构,所有协议接入、工具功能、设备对接均以独立插件 crate 的形式提供。引擎本体只负责流管理、配置、HTTP 服务等核心能力,具体功能由插件按需组合。
V6 共提供 26 个插件 + 1 个内置服务(Room),按功能分为五大类。
协议类(8 个)
Section titled “协议类(8 个)”| 插件名 | 配置节 | 说明 |
|---|---|---|
| RTMP | rtmp | RTMP 推拉流,支持推流鉴权、GOP 缓存 |
| RTSP | rtsp | RTSP 推拉流,支持 TCP/UDP 传输 |
| HTTP-FLV | flv | HTTP-FLV 拉流,支持 WebSocket-FLV |
| HLS | hls | HLS 切片与拉流,支持 LL-HLS |
| WebRTC | webrtc | WebRTC 推拉流,WHIP/WHEP 标准接入 |
| SRT | srt | SRT 协议推拉流,低延迟可靠传输 |
| WebTransport | webtransport | 基于 QUIC 的 WebTransport 协议支持 |
| GB28181 | gb28181 | 国标 GB/T 28181 设备接入与级联 |
工具类(11 个)
Section titled “工具类(11 个)”| 插件名 | 配置节 | 说明 |
|---|---|---|
| MP4 录制 | mp4 | MP4 录制与点播回放 |
| 截图服务 | snap | 视频流截图与 MJPEG 输出 |
| 音频转码 | ffmpeg_transcode | 基于 FFmpeg 的音视频转码 |
| 日志轮转 | logrotate | 日志文件自动轮转与清理 |
| 调试工具 | debug | 开发调试辅助工具 |
| SEI 注入 | sei | H.264/H.265 SEI 数据注入 |
| 定时任务 | crontab | 定时拉流、录制等周期性任务 |
| 混流 | mix | 多路流合并为单路输出 |
| 加密 | crypto | 流媒体内容加密 |
| 上报 | report | 运行状态与指标上报 |
| 测试 | test | 自动化集成测试插件 |
详细说明见 工具插件合集。
房间扩展类(4 个)
Section titled “房间扩展类(4 个)”| 插件名 | 配置节 | 说明 | 文档 |
|---|---|---|---|
| Room 服务 | room | 房间核心服务(引擎内置),管理房间生命周期、用户、WebSocket、回调 | 详见 |
| 直播间 | live | 直播间管理:礼物系统、连麦、PK、机器人观众、数据持久化 | 详见 |
| 会议室 | meeting | 视频会议:议程、计时器、实时转写、AI 总结、任务提取 | 详见 |
| 客服通话 | customer-service | 1v1 客服通话:坐席管理、音频混音、满意度评价 | 详见 |
设备类(3 个)
Section titled “设备类(3 个)”| 插件名 | 配置节 | 说明 |
|---|---|---|
| ONVIF | onvif | ONVIF 协议设备发现与管理 |
| V4L2 | v4l2 | Linux Video4Linux2 摄像头采集 |
| ALSA | alsa | Linux ALSA 音频采集 |
其他(1 个)
Section titled “其他(1 个)”| 插件名 | 配置节 | 说明 |
|---|---|---|
| HomeKit | homekit | Apple HomeKit 摄像头接入 |
详细说明见 设备与生态插件。
房间系统快速了解
Section titled “房间系统快速了解”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: trueflv: enable: truehls: enable: true
# 直播场景(需 Room 相关插件)live: enable: truewebrtc: enable: true
# 会议场景meeting: enable: true
# 监控场景rtsp: enable: truegb28181: enable: true未在配置中出现的插件通常保持默认启用策略;将 enable: false 可显式关闭不需要的插件以节省资源。各插件配置项见对应文档。
插件加载模式
Section titled “插件加载模式”Monibuca V6 支持三种插件加载模式:
内置插件(默认)
Section titled “内置插件(默认)”官方发布的二进制已静态内置全部官方插件,通过配置文件启用。推荐用于生产环境,性能最优、部署最简单。
第三方或定制插件可编译为 .so / .dylib / .dll,由引擎在运行时从 plugins_dir 加载,适用于热更新或按需扩展:
plugins_dir: "./plugins"WASM 插件(实验性)
Section titled “WASM 插件(实验性)”WASM 插件通过 WebAssembly 沙箱运行,提供更好的隔离性。此模式仍在开发中。
插件生命周期
Section titled “插件生命周期”所有插件遵循统一的生命周期管理:
Created → Initialized → Running → Stopped ↓ Disabled- Created — 插件实例被创建
- Initialized —
init()被调用,加载配置、注入依赖 - Running —
start()被调用,开始提供服务 - Stopped —
stop()被调用,优雅停机 - Disabled — 配置中
enable: false,跳过启动
引擎通过 PluginManager 统一管理所有插件的初始化顺序、依赖注入和优雅停机。
组件 API 入口
Section titled “组件 API 入口”如果你正在查“某个组件对应哪些 HTTP 接口”,可从以下入口快速跳转:
- 组件 API 总览:按组件查看路由前缀和接口入口
- HTTP API 概览:全局规范、认证与通用返回格式
- 流管理 API:
/api/核心流管理接口 - 客服通话插件:
/customer-service/业务接口与示例
联系我们
微信公众号:不卡科技
腾讯频道:流媒体技术
QQ 频道:p0qq0crz08
QQ 群:751639168