介绍
Monibuca 是一个开源的 Go 语言实现的流媒体服务器开发框架。实用于疾速定制化开发流媒体服务器,能够对接 CDN 厂商,作为回源服务器,也能够本人搭建集群部署环境。丰盛的内置插件提供了流媒体服务器的常见性能,例如 rtmp server、http-flv、视频录制、QoS 等。除此以外还内置了后盾 web 界面,不便察看服务器运行的状态。也能够本人开发后盾治理界面,通过 api 形式获取服务器的运行信息。Monibuca 提供了可供定制化开发的插件机制,能够任意扩大其性能。
Github
https://github.com/Monibuca/docs
性能个性
Monibuca 引擎 + 插件 = 定制化流媒体服务器
- 高性能 低功耗
针对流媒体服务器独特的性质进行的优化,充分利用 Golang 的 goroutine 的性质对大量的连贯的读写进行正当的调配计算资源,以及尽可能的缩小内存 Copy 操作。应用对象池缩小 Golang 的 GC 工夫。
- 模块化 可扩大
专为二次开发而设计,基于 Golang 语言,开发效率更高;独创的插件机制,能够不便用户定制个性化的性能组合,更高效率的利用服务器资源。
- 可视化 易治理
功能强大的仪表盘能够直观的看到服务器运行的状态、耗费的资源、以及其余统计信息。用户能够利用控制台对服务器进行配置和管制。点击右上角菜单栏外面的演示,能够看到演示控制台界面。
- 零依赖 易部署
纯 Go 编写,不依赖 cgo,不依赖 FFMpeg 或者其余运行时,部署极其不便,对服务器的要求极为宽松。
插件市场
WebRTC 提供 WebRTC 推送到 Monibuca 的性能
Cluster 集群插件,能够用于级联扩大
RTSP 提供 RTSP 协定拉流转发性能, 也可承受 RTSP 推流,可通过编程或者界面操作形式。
Record 实现了录制 Flv 文件的性能,并且反对再次应用录制好的 Flv 文件作为发布者进行公布。在 Monibuca 的 web 界面的控制台中提供了对房间进行录制的操作按钮,以及列出所有曾经录制的文件的界面。
HLS 拉取网络上的 m3u8 文件并解析后转换成其余协定, 或写出 HLS 到磁盘
TS 编程形式将 TS 数据作为媒体源或者读取服务器中的 TS 文件作为媒体源进行公布
HDLHTTP-FLV 协定实现,可用于 CDN 回源的拉流协定
实例启动
一键装置 Golang 环境并启动 Demo 实例
用 root 身份运行,确保没有权限问题
bash <(curl -s -S -L https://monibuca.com/demo.sh)
如果 Golang 曾经装好,确保 go version >= 1.13
go get github.com/langhuihui/monibuca
$GOPATH/bin/monibuca
而后用浏览器拜访 8081 端口查看治理界面。
demo 实例外面默认配置了一些插件,可供疾速体验
如果须要自行抉择插件以及二次开发请间接查看官网文档的具体介绍 http://docs.monibuca.com/
起源:爱分享 Coder
本文首发于公众号:Java 版 web 我的项目,欢送关注获取更多精彩内容