# monibuca **Repository Path**: xiahuibin/monibuca ## Basic Information - **Project Name**: monibuca - **Description**: ๐Ÿงฉ Monibuca is a Modularized, Extensible framework for building Streaming Server - **Primary Language**: Go - **License**: AGPL-3.0 - **Default Branch**: v5 - **Homepage**: https://monibuca.com - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 31 - **Created**: 2025-05-21 - **Last Updated**: 2025-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
Logo

Monibuca v5

A highly scalable high-performance streaming server development framework developed purely in Go
ไธญๆ–‡ๆ–‡ๆกฃ ยท Explore the docs ยป

Report Bug ยท Request Feature

Table of Contents
  1. About
  2. Getting Started
  3. Usage
  4. Build Tags
  5. Monitoring
  6. Plugin Development
  7. Architecture
  8. Third-party Plugins
  9. Contributing
  10. License
  11. Contact
## 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 - ๐Ÿ“ **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

(back to top)

## Getting Started ### Prerequisites - Go 1.23 or higher - Basic understanding of streaming protocols ### Run with Default Configuration ```bash 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.

(back to top)

## Examples For more examples, please check out the [example](./example) documentation.

(back to top)

## 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 |

(back to top)

## Monitoring Monibuca supports Prometheus monitoring out of the box. Add the following to your Prometheus configuration: ```yaml scrape_configs: - job_name: "monibuca" metrics_path: "/api/metrics" static_configs: - targets: ["localhost:8080"] ```

(back to top)

## Plugin Development Monibuca's functionality can be extended through plugins. For information on creating plugins, see the [plugin guide](./plugin/README.md).

(back to top)

## Architecture For detailed architecture design documentation, please refer to the [Architecture Documentation](./doc/arch/index.md).

(back to top)

## Third-party Plugins - https://github.com/cuteLittleDevil/m7s-jt1078

(back to top)

## 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

(back to top)

## License Distributed under the MIT License. See `LICENSE` for more information.

(back to top)

## Contact monibuca - [@m7server](https://x.com/m7server) - service@monibuca.com Project Link: [https://github.com/langhuihui/monibuca](https://github.com/langhuihui/monibuca)

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/langhuihui/monibuca.svg?style=for-the-badge [contributors-url]: https://github.com/langhuihui/monibuca/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/langhuihui/monibuca.svg?style=for-the-badge [forks-url]: https://github.com/langhuihui/monibuca/network/members [stars-shield]: https://img.shields.io/github/stars/langhuihui/monibuca.svg?style=for-the-badge [stars-url]: https://github.com/langhuihui/monibuca/stargazers [issues-shield]: https://img.shields.io/github/issues/langhuihui/monibuca.svg?style=for-the-badge [issues-url]: https://github.com/langhuihui/monibuca/issues [license-shield]: https://img.shields.io/github/license/langhuihui/monibuca.svg?style=for-the-badge [license-url]: https://github.com/langhuihui/monibuca/blob/v5/LICENSE