Monibuca is an open source streaming media server development framework implemented in go language. It is applicable to the rapid customized development of streaming media server. It can connect with CDN manufacturers as the source server, or build its own cluster deployment environment. Rich built-in plug-ins provide common functions of streaming media server, such as RTMP server, HTTP flv, video recording, QoS, etc. In addition, it also has a built-in background web interface, which is convenient to observe the running state of the server. You can also develop your own background management interface to obtain the operation information of the server through API. Monibuca provides a plug-in mechanism for customized development, and its functions can be extended arbitrarily.
Monibuca engine + plug-in = customized streaming media server
- High performance and low power consumption
Optimize the unique nature of streaming media server, make full use of the nature of goroutine of golang, reasonably allocate computing resources for a large number of connected reads and writes, and reduce memory copy operations as much as possible. Use object pools to reduce golang’s GC time.
- Modular and extensible
Designed for secondary development and based on golang language, the development efficiency is higher; The original plug-in mechanism can facilitate users to customize personalized function combination and make more efficient use of server resources.
- Visual and easy to manage
The powerful dashboard can intuitively see the running status of the server, the resources consumed, and other statistical information. Users can use the console to configure and control the server. Click the demo in the menu bar in the upper right corner to see the demo console interface.
- Zero dependency and easy deployment
Written in pure go, it does not rely on CGO, ffmpeg or other runtime. It is extremely convenient to deploy and has very loose requirements for the server.
Plug in market
Webrtc provides the function of pushing webrtc to monibuca
Cluster cluster plug-in, which can be used for cascade expansion
RTSP provides RTSP protocol streaming forwarding function, and can also accept RTSP streaming, which can be operated through programming or interface.
Record realizes the function of recording flv files, and supports the reuse of recorded flv files as publishers. The console of monibuca’s web interface provides the operation buttons for recording the room and the interface for listing all recorded files.
HLS pulls and parses m3u8 files on the network and converts them into other protocols, or writes HLS to disk
The TS programming method publishes TS data as a media source or reads TS files in the server as a media source
The implementation of hdlhttp-flv protocol can be used for the streaming protocol of CDN back to the source
Install the golang environment with one click and start the demo instance
Make sure you don’t have permission to run as root
bash <(curl -s -S -L https://monibuca.com/demo.sh)
If golang is installed, make sure go version > = 1.13
go get github.com/langhuihui/monibuca $GOPATH/bin/monibuca
Then use the browser to access port 8081 to view the management interface.
Some plug-ins are configured by default in the demo instance for quick experience
If you need to choose your own plug-ins and secondary development, please directly check the detailed introduction of the official documentshttp://docs.monibuca.com/
Source: love sharing coder
This article was first published on the official account: Java version web project. Welcome to get more exciting content