Files
monibuca/README_CN.md
2025-09-16 19:12:07 +08:00

6.8 KiB
Raw Blame History

Monibuca v5

Contributors Forks Stargazers Issues AGPL License Go Reference Featured|HelloGitHub

Logo

Monibuca v5

强大的纯 Go 开发的流媒体服务器开发框架
官方网站 »

报告问题 · 功能建议

目录
  1. 项目介绍
  2. 快速开始
  3. 使用示例
  4. 构建选项
  5. 监控系统
  6. 插件开发
  7. 架构文档
  8. 贡献指南
  9. 许可证
  10. 联系方式

项目介绍

Monibuca简称 m7s是一款纯 Go 开发的开源流媒体服务器开发框架。它具有以下特点:

  • 🚀 高性能 - 无锁设计、部分手动管理内存、多核计算

  • 低延迟 - 0 等待转发、全链路亚秒级延迟

  • 📦 插件化 - 按需加载,无限扩展能力

  • 🔧 灵活性 - 高度可配置,满足各种流媒体场景需求

  • 💪 可扩展 - 支持分布式部署,轻松应对大规模场景

  • 🔍 调试友好 - 内置调试插件,支持实时性能监控和分析

  • 🎥 媒体处理 - 支持截图、转码、SEI 数据处理

  • 🔄 集群能力 - 内置级联和房间管理功能

  • 🎮 预览功能 - 支持视频预览、分屏预览、自定义分屏

  • 🔐 安全加密 - 提供加密传输和流鉴权能力

  • 📊 性能监控 - 支持压力测试和性能指标采集

  • 📝 日志管理 - 日志轮转、自动清理、自定义扩展

  • 🎬 录制回放 - 支持 MP4、HLS、FLV 格式录制、倍速播放、拖拽快进、暂停能力

  • ⏱️ 动态时移 - 动态缓存设计,支持直播时移回看

  • 🌐 远程调用 - 支持 gRPC 接口,方便跨语言集成

  • 🏷️ 流别名 - 支持动态设置流别名,灵活管理多路流,实现导播功能

  • 🤖 AI 能力 - 集成推理引擎,支持 ONNX 模型,支持自定义的前置处理,后置处理,以及画框

  • 🪝 WebHook - 支持订阅流的生命周期事件,实现业务系统联动

  • 🔒 私有协议 - 支持自定义私有协议,满足特殊业务需求

  • 🔄 多协议支持RTMP、RTSP、HTTP-FLV、WS-FLV、HLS、WebRTC、GB28181、ONVIF、SRT

(返回顶部)

快速开始

环境要求

  • Go 1.23 或更高版本
  • 了解基本的流媒体协议

运行默认配置

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

UI 界面

将 admin.zip (不要解压)放在和配置文件相同目录下。

然后访问 http://localhost:8080 即可。

(返回顶部)

使用示例

更多示例请查看 example 文档。

(返回顶部)

构建选项

可以使用以下构建标签来自定义构建:

构建标签 描述
disable_rm 禁用内存池
sqlite 启用 SQLite 存储
sqliteCGO 启用 SQLite CGO 版本
mysql 启用 MySQL 存储
postgres 启用 PostgreSQL 存储
duckdb 启用 DuckDB 存储
taskpanic 抛出 panic用于测试
fasthttp 使用 fasthttp 服务器代替标准库
enable_buddy 开启 buddy 内存预申请

(返回顶部)

监控系统

Monibuca 内置支持 Prometheus 监控。在 Prometheus 配置中添加:

scrape_configs:
  - job_name: "monibuca"
    metrics_path: "/api/metrics"
    static_configs:
      - targets: ["localhost:8080"]

(返回顶部)

插件开发

Monibuca 支持通过插件扩展功能。查看插件开发指南了解详情。

(返回顶部)

架构文档

详细的架构设计文档请查看 架构文档

(返回顶部)

第三方插件

贡献指南

我们非常欢迎社区贡献,您的参与将使开源社区变得更加精彩!

  1. Fork 本项目
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的修改 (git commit -m '添加一些特性')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 发起 Pull Request

(返回顶部)

许可证

本项目采用 AGPL 许可证,详见 LICENSE 文件。

(返回顶部)

联系方式

  • 微信公众号:不卡科技
  • QQ群751639168
  • QQ频道p0qq0crz08

(返回顶部)