Monibuca v6 编译期架构 · Crate 依赖视图

Monibuca v6 编译期架构 · Crate 依赖视图 由 Archify 生成的架构图。 推流与播放端 · OBS · FFmpeg · 浏览器 · 移动端 · 架构组件 推流与播放端 OBS · FFmpeg · 浏览器 · 移动端 HTTP 表面层 · V5Compat · V6 · ZegoCompat → AppFacade · src/ · 引擎内置 HTTP 表面层 V5Compat · V6 · ZegoCompat → AppFacade 运维与管理端 · Admin Panel · CLI · gRPC · 架构组件 运维与管理端 Admin Panel · CLI · gRPC 房间服务 · Live · Meeting · WebSocket · 架构组件 房间服务 Live · Meeting · WebSocket 引擎内置服务 · StreamManager · PluginManager · TaskSystem · src/ · 引擎内置 引擎内置服务 StreamManager · PluginManager · TaskSystem 基础设施平面 · HTTP · gRPC · Config · Event · DB · QUIC · 架构组件 基础设施平面 HTTP · gRPC · Config · Event · DB · QUIC 插件加载器 · 内置静态 · 动态 .so · WASM · 架构组件 插件加载器 内置静态 · 动态 .so · WASM 插件层 · 29 crates · Protocol 9 · Utility 11 · Platform 6 · plugins/ · 29 个可插拔 crate 插件层 · 29 crates Protocol 9 · Utility 11 · Platform 6 房间扩展插件 · Live · Meeting · CustomerService · plugins/ · 29 个可插拔 crate 房间扩展插件 Live · Meeting · CustomerService config-framework · #[derive(ConfigSchema)] · 五层覆盖 · crates/ · SDK 与配置契约 config-framework #[derive(ConfigSchema)] · 五层覆盖 monibuca-sdk · Plugin trait · EngineContext · EventBus · crates/ · SDK 与配置契约 monibuca-sdk Plugin trait · EngineContext · EventBus sdk-macros · ABI · export_plugin! · C ABI 边界 · crates/ · SDK 与配置契约 sdk-macros · ABI export_plugin! · C ABI 边界 codec 基础 crate · 零内部依赖 · 帧与轨道抽象 · codec · 零内部依赖基础层 codec 基础 crate 零内部依赖 · 帧与轨道抽象 帧与封装能力 · NALU · RTP · PS · 转码 · codec · 零内部依赖基础层 帧与封装能力 NALU · RTP · PS · 转码 推流 / 拉流 管理 API AppFacade 内置房间 鉴权 · 配置 IoC 容器 静态 · 动态 房间扩展 Plugin trait 配置 Schema 宏与 ABI 帧 / 编解码 NALU · RTP src/ · 引擎内置 plugins/ · 29 个可插拔 crate crates/ · SDK 与配置契约 codec · 零内部依赖基础层

依赖方向(自顶向下)

  • • engine 依赖 sdk + codec + config-framework + 可选插件
  • • plugins 依赖 sdk + codec + config-framework + macros

插件分类 · 29 个 crate

  • • 协议 9:RTMP · RTSP · FLV · HLS · WebRTC · SRT · WebTransport · GB28181 · JT1078
  • • 工具 11 / 平台 6 / 房间扩展 3,Feature Flag 按需编译

三种插件加载模式

  • • 内置静态链接:默认,性能最优,编译期确定
  • • 动态加载:plugins_dir 下 .so / .dylib / .dll;WASM 沙箱实验性

codec · 零内部依赖

  • • 唯一不依赖任何内部 crate 的基础层,可被外部项目单独引用
  • • 提供 AVFrame · NALU/SPS · RTP · PS 封装解封装 · 转码配置