SkillAgentSearch skills...

Monibuca

๐Ÿงฉ Monibuca is a Modularized, Extensible framework for building Streaming Server

Install / Use

/learn @langhuihui/Monibuca

README

<!-- Improved compatibility of back to top link -->

<a id="readme-top"></a>

Contributors Forks Stargazers Issues MIT License

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://m7s.live"> <img src="https://m7s.live/logo+.svg" alt="Logo" width="200"> </a> <h1 align="center">Monibuca v5</h1> <p align="center"> A highly scalable high-performance streaming server development framework developed purely in Go <br /> <a href="./README_CN.md">ไธญๆ–‡ๆ–‡ๆกฃ</a> ยท <a href="https://github.com/Monibuca/v5/wiki"><strong>Explore the docs ยป</strong></a> <br /> <br /> <a href="https://github.com/Monibuca/v5/issues">Report Bug</a> ยท <a href="https://github.com/Monibuca/v5/issues">Request Feature</a> </p> </div> <!-- TABLE OF CONTENTS --> <details> <summary>Table of Contents</summary> <ol> <li><a href="#about">About</a></li> <li><a href="#getting-started">Getting Started</a></li> <li><a href="#usage">Usage</a></li> <li><a href="#build-tags">Build Tags</a></li> <li><a href="#monitoring">Monitoring</a></li> <li><a href="#plugin-development">Plugin Development</a></li> <li><a href="#arch">Architecture</a></li> <li><a href="#third-party-plugins">Third-party Plugins</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#contact">Contact</a></li> </ol> </details>

About

Monibuca is a powerful streaming server framework written entirely in Go. It's designed to be:

  • ๐Ÿš€ High Performance - Lock-free design, partial manual memory management, multi-core computing

  • โšก Low Latency - Zero-wait forwarding, sub-second latency across the entire chain

  • ๐Ÿ“ฆ Modular - Load on demand, unlimited extensibility

  • ๐Ÿ”ง Flexible - Highly configurable to meet various streaming scenarios

  • ๐Ÿ’ช Scalable - Supports distributed deployment, easily handles large-scale scenarios

  • ๐Ÿ” Debug Friendly - Built-in debug plugin, real-time performance monitoring and analysis

  • ๐ŸŽฅ Media Processing - Supports screenshot, transcoding, SEI data processing

  • ๐Ÿ”„ Cluster Capability - Built-in cascade and room management

  • ๐ŸŽฎ Preview Features - Supports video preview, multi-screen preview, custom screen layouts

  • ๐Ÿ” Security - Provides encrypted transmission and stream authentication

  • ๐Ÿ“Š Performance Monitoring - Supports stress testing and performance metrics collection (integrated in test plugin)

  • ๐Ÿ“ Log Management - Log rotation, auto cleanup, custom extensions

  • ๐ŸŽฌ Recording & Playback - Supports MP4, HLS, FLV formats, speed control, seeking, pause

  • โฑ๏ธ Dynamic Time-Shift - Dynamic cache design, supports live time-shift playback

  • ๐ŸŒ Remote Call - Supports gRPC interface for cross-language integration

  • ๐Ÿท๏ธ Stream Alias - Supports dynamic stream alias, flexible multi-stream management

  • ๐Ÿค– AI Capabilities - Integrated inference engine, ONNX model support, custom pre/post processing

  • ๐Ÿช WebHook - Subscribe to stream lifecycle events for business system integration

  • ๐Ÿ”’ Private Protocol - Supports custom private protocols for special business needs

  • ๐Ÿ”„ Supported Protocols: RTMP, RTSP, HTTP-FLV, WS-FLV, HLS, WebRTC, GB28181, ONVIF, SRT

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Getting Started

Prerequisites

  • Go 1.23 or higher
  • Basic understanding of streaming protocols

Run with Default Configuration

cd example/default
go run -tags sqlite main.go

Web UI

Place the admin.zip file (do not unzip) in the same directory as your configuration file.

Then visit http://localhost:8080 to access the UI.

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Examples

For more examples, please check out the example documentation.

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Build Tags

The following build tags can be used to customize your build:

| Build Tag | Description | |-----------|-------------| | disable_rm | Disables the memory pool | | sqlite | Enables the sqlite DB |
| sqliteCGO | Enables the sqlite cgo version DB | | mysql | Enables the mysql DB | | postgres | Enables the postgres DB | | duckdb | Enables the duckdb DB | | taskpanic | Throws panic, for testing | | fasthttp | Enables the fasthttp server instead of net/http | | enable_buddy | Enables the buddy memory pre-allocation |

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Monitoring

Monibuca supports Prometheus monitoring out of the box. Add the following to your Prometheus configuration:

scrape_configs:
  - job_name: "monibuca"
    metrics_path: "/api/metrics"
    static_configs:
      - targets: ["localhost:8080"]
<p align="right">(<a href="#readme-top">back to top</a>)</p>

Plugin Development

Monibuca's functionality can be extended through plugins. For information on creating plugins, see the plugin guide.

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Architecture

For detailed architecture design documentation, please refer to the Architecture Documentation.

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Third-party Plugins

  • https://github.com/cuteLittleDevil/m7s-jt1078
<p align="right">(<a href="#readme-top">back to top</a>)</p>

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request
<p align="right">(<a href="#readme-top">back to top</a>)</p>

License

Distributed under the AGPL License. See LICENSE for more information.

<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- CONTACT -->

Contact

monibuca - @m7server - service@monibuca.com

Project Link: https://github.com/langhuihui/monibuca

<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- MARKDOWN LINKS & IMAGES -->
View on GitHub
GitHub Stars2.4k
CategoryDevelopment
Updated1d ago
Forks336

Languages

Go

Security Score

100/100

Audited on Mar 20, 2026

No findings