Awesome Open Source
Awesome Open Source

## Stargazers over time


🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server.

  • Customize the server by combining function plug-ins.
  • It's easy to develop plug-ins to implement business logic.
  • Reduce enterprise development cost and improve development efficiency

Quick start

Go has not been installed

bash <(curl -s -S -L

Go is already installed

  1. go get
  2. $GOPATH/bin/monibuca
  3. open your browser http://localhost:8081
  4. use ffmpeg or OBS to push video streaming to rtmp://localhost/live/user1


Nodejs has not been installed

bash <(curl -s -S -L

Nodejs is already installed

  1. npm i -g @langhuihui/monica
  2. monica
  3. open your browser http://localhost:3000
  4. follow the guide to create your project


go to to submit your own plugin

Project Description
plugin-rtmp rtmp protocol support.push rtmp stream to stream from monibuca.
plugin-rtsp rtsp protocol support.pull/push rtsp stream to monibuca
plugin-hls pull hls stream to monibuca
plugin-ts used by plugin-hls. read ts file to publish
plugin-hdl http-flv protocol support. pull http-flv stream from monibuca
plugin-gateway a console and dashboard to display information and status of monibuca ,also can display UI of other plugins
plugin-record record multimedia stream to flv files
plugin-cluster cascade transmission of multimedia by cluster network
plugin-jesscia play multimedia stream through websocket protocol
plugin-logrotate split log files by date or size
plugin-rtp used by plugin-webrtc and plugin-rtsp
plugin-webrtc webrtc protocol support. push webrtc stream to monibuca or pull webrtc stream from monibuca
plugin-gb28181 gb28181 protocol support.

Protocol Functions

Protocol Pusher(push)-->Monibuca Source-->Monibuca(pull) Monibuca-->Player(pull) Monibuca(push)-->Other Server




Q: There are so many streaming server projects in the world,why need to create Monibuca?

A: Monibuca is different from other streaming servers,that it was created for facilitate secondary development.

Q: Why use golang?

A: Golang is a greate programming language. It is very suited to build streaming server since streaming server is a kind of IO intensive system. Goroutine is good at doing these jobs. Another important reason of using Golang is that people read the source code or doing secondary development easier.

Q: What does "Monibuca" mean?

A: No special meaning. Just from monica —— a girl name.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
go (14,468
websocket (441
webrtc (328
hls (117
rtmp (89
rtsp (64
livestream (44
ts (44
rtp (33
flv (25
hdl (18

Find Open Source By Browsing 7,000 Topics Across 59 Categories