Monibuca是一款开源流媒体服务器开发框架,专为快速定制化开发而设计,支持对接CDN与集群部署,内置丰富插件和后台界面,便于实时监控与功能扩展。
高性能
针对流媒体服务器特性进行深度优化,利用Golang goroutine高效分配读写资源,减少内存拷贝,借助对象池降低GC耗时。
可扩展
基于Golang语言,独创插件机制使个性化定制更简单,用户可灵活组合功能,高效利用服务器资源。插件市场提供更多选择。
可视化
功能强大的仪表盘直观展示服务器运行状态、资源消耗及统计信息,用户可通过控制台进行配置和管理。

一键安装golang环境和monibuca的demo
bash <(curl -s -S -L https://monibuca.com/demo.sh)
对于已经安装好golang环境的
1、go get github.com/langhuihui/monibuca
2、linux下执行:$GOPATH/bin/monibuca windows下执行:%GOPATH%/bin/monibuca
3、启动后,浏览器打开8081端口查看后台界面
4、ffmpeg或者OBS推流到1935端口
5、后台界面上提供直播预览、录制flv、rtsp拉流转发、日志跟踪等功能
修复window编译错误
主要功能#
引擎方面#
提供插件机制,对插件的启动,配置解析,事件派发等进行统一管理
提供H264、H265、AAC、G711格式的转发
提供可复用的AVCC格式、RTP格式、AnnexB格式、ADTS格式等预封装机制
提供多Track机制,支持大小流,加密流扩展
提供DataTrack机制,可用于实现房间文字聊天等功能
提供时间戳同步机制,限速机制
提供RTP包乱序重排机制
提供订阅者追帧跳帧机制(首屏秒开)
提供发布订阅对外推拉的基础架构
提供鉴权机制的底层架构支持
提供内存复用机制
提供发布者断线重连机制
提供按需拉流机制
提供HTTP服务端口公用机制
提供HTTP API接口自动注册机制
提供HTTP接口中间件机制
提供结构化日志
提供流信息统计和输出
提供事件总线机制,可以对所有插件广播事件
提供配置热更新机制
插件方面#
提供RTMP协议的推拉流,对外推拉流(支持RTMPS)
提供RTSP协议的推拉流,对外推拉流
提供HTTP-FLV协议的拉流,对外拉流,读取本地FLV文件
提供WebSocket协议的拉流
提供HLS协议的拉流,对外拉流
提供WebRTC协议的推拉流
提供GB28181协议的推流,提供dump回放分析能力
提供Onif协议的支持
提供WebTransport协议的拉流
提供fmp4协议的拉流
提供边缘服务器功能,实现级联拉流
提供录像功能,支持flv、mp4、hls、raw格式
提供日志持久化功能,支持按天、按小时、按分钟、按秒、按大小、按文件数等多种方式
提供截屏功能
提供HTTP回调功能
提供预览功能(集成Jessibuca Pro)
提供房间功能(可实现视频会议)
提供对接Prometheus的功能
更多额外功能可通过第三方插件和收费插件获取,此处不再列举。
