mirror of
https://github.com/langhuihui/monibuca.git
synced 2025-12-24 13:48:04 +08:00
b3a485ddfbdeaab2caaf320bcc295f24bfaa05ef
Introduction
🧩 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 https://monibuca.com/demo.sh)
Go is already installed
- go get github.com/langhuihui/monibuca
- $GOPATH/bin/monibuca
- open your browser http://localhost:8081
- use ffmpeg or OBS to push video streaming to rtmp://localhost/live/user1
Advanced
- go get github.com/Monibuca/monica
- $GOPATH/bin/monica
- open your browser http://localhost:8000
- follow the guide to create your project
Ecosystem
go to https://plugins.monibuca.com. to submit your own plugin
| Project | Description |
|---|---|
| plugin-rtmp | rtmp protocol support.push rtmp stream to monibuca.play 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 |
Protocol Functions
| Protocol | Pusher(push)-->Monibuca | Source-->Monibuca(pull) | Monibuca-->Player(pull) | Monibuca(push)-->Other Server |
|---|---|---|---|---|
| rtmp | ✔ | ✔ | ||
| rtsp | ✔ | ✔ | ||
| http-flv | ✔ | |||
| hls | ✔ | ✔ | ||
| ws-flv | ✔ |
Documentation
中文文档: http://docs.monibuca.com.
Contact
wechat group:
Q&A
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.
Languages
Go
52.3%
JavaScript
27.3%
C++
15.6%
C
1.5%
HTML
1.3%
Other
1.9%

