跳过导航,直接进入主要内容跳过导航,直接进入主要内容跳过导航,直接进入主要内容

架构

MiBeeVision 采用管道式分层架构:Source → Pipeline → Sink,每一层以接口抽象,配置驱动组合。

┌─────────────────────────────────────────────────────────────┐
│ MiBeeVision(serve 常驻 + 内嵌 Web 配置页 :9092)            │
│                                                             │
│   Source 层(录像段获取)                                    │
│   • local_file     与 NVR 共享录像目录,直接读本地文件       │
│   • http_download  跨机部署时从 NVR 下载录像段               │
│                 │                                           │
│                 ▼                                           │
│   Pipeline 层(分析管道)                                    │
│   解码抽帧 → YOLOv8n 检测 → ByteTrack 跟踪 → 事件规则判定    │
│                 │                                           │
│                 ▼                                           │
│   Sink 层(结果输出)                                        │
│   • 事件入库(SQLite/libSQL)                                │
│   • 带框快照落盘                                             │
│   • 回写 MiBeeNvr(AI 状态 + 事件)                          │
└─────────────────────────────────────────────────────────────┘

各层职责

层 职责 说明
Source 产出录像段 两种获取方式按部署形态选择:与 NVR 同机时用 local_file(共享录像目录);分机部署时用 http_download(从 NVR 下载后分析)。配置页保存后自动生效
Pipeline 把画面变成判断 FFmpeg 解码抽帧 → YOLOv8n 目标检测(ONNX Runtime)→ ByteTrack 多目标跟踪 → 区域入侵/越界/徘徊规则判定
Sink 把判断变成记录 事件写入 SQLite/libSQL;每条事件生成带框快照;状态与事件回写 NVR

运行形态

  • serve 常驻服务:当前发布版的推荐形态——进程常驻,持续消费 NVR 新生成的录像段;配置页(:9092)负责接线(NVR 地址、API Key、摄像头、规则)与运行状态自检。
  • 配置驱动:摄像头选择、规则区域、传输方式均在配置页修改,保存后管线自动重启生效,不需要手工编辑配置文件。

设计原则

  1. 与 NVR 解耦:Vision 是独立进程,可以跑在 NVR 同机(共享存储)或另一台机器(HTTP 下载录像),NVR 挂了 Vision 不受影响,反之亦然。
  2. 每层可替换:录像段来源、检测模型、事件输出都以接口抽象——换模型、换存储、增加输出渠道都是「加一个实现」,不改既有链路。
  3. 零云依赖:推理、规则、存储全部在本地完成,无任何外部服务调用。

与 MiBeeNvr 的关系

NVR 是数据与语义中枢:决定「哪些录像段给 Vision 分析」,消费「Vision 判定出的结果」(AI 状态、事件、快照)。完整协同方式见 MiBeeNvr 协同。

可访问性增强功能已加载,支持焦点管理、键盘导航和屏幕阅读器