Monibuca, an open source streaming media server development framework implemented in go language, helps you solve streaming media problems

Time:2022-5-16

introduce

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, an open source streaming media server development framework implemented in go language, helps you solve streaming media problems

Github

https://github.com/Monibuca/docs

Functional characteristics

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.

Monibuca, an open source streaming media server development framework implemented in go language, helps you solve streaming media problems

Monibuca, an open source streaming media server development framework implemented in go language, helps you solve streaming media problems

Plug in market

Monibuca, an open source streaming media server development framework implemented in go language, helps you solve streaming media problems

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

Instance startup

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