介绍

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我的项目,欢送关注获取更多精彩内容