Monibuca
纯 Go 开源一站式流媒体服务器开发框架
核心优势
一站式解决方案
全内置、跨平台、易部署
可观测系统架构
可视化、可追溯、可测试
易扩展二开友好
插件化、接口化、标准化
整体架构
可视化
Admin
功能插件
transcode
crypto
cascade
sei
onvif
ai
...
协议插件
rtmp
rtsp
webrtc
gb28181
hls
flv
...
工具插件
logrotate
debug
monitor
hook
stress
核心
Ring Buffer
Task System
Plugin System
Memory Pool
Pub-Sub
Alias System
数据库
SQLite
MySQL
PostgreSQL
DuckDB
...
功能一览
🎥 媒体处理
支持截图、转码、SEI数据处理
🎮 预览功能
支持视频预览、分屏预览、自定义分屏
📊 性能监控
支持压力测试和性能指标采集
📝 日志管理
日志轮转、自动清理、自定义扩展
🎬 录制回放
支持MP4、HLS、FLV格式录制、倍速播放、拖拽快进
⏱️ 动态时移
动态缓存设计,支持直播时移回看
🌐 远程调用
支持gRPC接口,方便跨语言集成
🏷️ 流别名
支持动态设置流别名,灵活管理多路流
🤖 AI能力
集成推理引擎,支持ONNX模型和自定义处理
🪝 WebHook
支持订阅流的生命周期事件,实现业务系统联动
🔒 私有协议
支持自定义私有协议,满足特殊业务需求
🌐 多协议支持
RTMP、RTSP、HTTP-FLV、WS-FLV、HLS、WebRTC、GB28181、ONVIF、SRT
快速开始
安装
# 克隆仓库
git clone https://github.com/langhuihui/monibuca.git
# 进入示例目录
cd monibuca/example/default
# 运行默认配置
go run -tags sqlite main.go
# 访问管理界面
# 将 admin.zip 放在配置文件相同目录下
# 访问 http://localhost:8080
Docker
docker run -id -p 1935:1935 -p 6000:6000 -p 8080:8080 -p 554:554 -p 50051:50051 -p 5060:5060/udp -p 9000:9000 langhuihui/monibuca:v5
官方插件
📹 协议插件
- RTMP - 支持RTMP协议推流和拉流
- RTSP - 支持RTSP协议推流和拉流
- HLS - 支持HLS协议直播和点播
- WebRTC - 支持WebRTC协议低延迟传输
- GB28181 - 支持国标协议
- ONVIF - 支持ONVIF协议设备接入
- SRT - 支持SRT协议传输
- FLV - 支持HTTP-FLV和WebSocket-FLV
📱 功能插件
- Preview - 视频预览和分屏功能
- Room - 房间管理和级联功能
- SEI - SEI数据处理
- Snap - 视频帧截图
- Transcode - 视频转码
- MP4 - MP4录制和点播
🛠️ 系统插件
- Monitor - 系统监控
- Debug - 调试工具
- LogRotate - 日志分片
- Stress - 压力测试
- Crypto - 加密传输
- Cascade - 级联功能
管理界面
版本说明
免费版
- ✅ 完整的核心功能
- ✅ 基础插件支持
- ✅ 社区支持
- ❌ 不可商用
- ❌ 不含Admin源码