项目定位

这是一个面向企业内部的视频智能分析平台实践教程。目标是把“相机接入 + 实时检测 + 多场景算法 + 告警闭环 + 统计分析”打通,落地成可部署、可扩展、可运维的小型企业级项目。

你将完成的核心能力

  • Python/Java 实现相机登录与录像(ONVIF/RTSP)。
  • 实时推理:算法输出新的视频流 + 关键帧截图保存。
  • 在线检测:结合大语言模型输出可读的实时文本描述(如:人员闯入、未戴安全帽)。
  • 单相机多场景算法执行(区域检测、安全帽、工服、烟雾、火焰等)。
  • AI 定期总结 + 异常及时推送飞书等平台。
  • 从单任务扩展到几十任务的并行处理能力。

系统架构概览

  • 相机接入层:ONVIF 发现、认证、RTSP 拉流。
  • 流媒体层:Mediamtx 统一推拉流,FFmpeg 做转码与抽帧。
  • 推理服务层:检测模型实时推理 + 事件生成 + 截图落库。
  • 场景与任务编排:同一相机绑定多个场景算法,支持策略与时间窗。
  • 消息与告警:WebSocket 实时输出 + 飞书/钉钉/短信通知。
  • AI 解释与摘要:LLM 输出实时摘要、异常统计、趋势洞察。
  • 数据闭环:Label Studio 标注 → 训练 → 权重更新 → 回归评估。

端到端数据流

  1. ONVIF 获取设备信息与 RTSP 地址,建立登录与可用性检测。
  2. Mediamtx 统一接入视频流,FFmpeg 转码、降帧、抽图。
  3. 推理服务消费视频流,输出检测结果、截图与可追溯事件。
  4. 推理结果转为新视频流(叠加框与告警)对外分发。
  5. WebSocket 输出实时文本;LLM 生成事件说明。
  6. 异常事件进入告警中心并推送飞书。
  7. 定期生成区域异常统计与趋势摘要。

关键技术栈

  • 协议/流媒体:ONVIF、RTSP、Mediamtx、FFmpeg
  • 服务端:Python(推理/调度)+ Java(业务/任务/权限)
  • 实时通信:WebSocket
  • AI/算法:YOLO 系列、检测/分类/分割
  • 数据闭环:Label Studio、数据标注、模型训练与权重迭代
  • 基础设施:对象存储、消息队列、监控告警

场景算法清单

  • 区域入侵与电子围栏
  • 安全帽佩戴识别
  • 工服/反光衣识别
  • 烟雾/火焰检测
  • 人员滞留与聚集检测

规模化与稳定性设计

  • 任务调度:单任务 → 多任务 → 批量并发。
  • 资源隔离:GPU/CPU 配额、任务优先级与熔断。
  • 可观测性:帧率、延迟、丢帧、模型耗时、告警成功率。
  • 可靠性:断流自动重连、异常降级、失败重试。

里程碑路线

  1. M1:接入与流媒体
    完成相机登录、RTSP 拉流、录像与截图。
  2. M2:实时推理与事件
    完成检测推理、事件输出、截图落库、视频叠加输出。
  3. M3:多场景与告警
    支持单相机多算法、告警策略、飞书推送。
  4. M4:AI 摘要与统计
    每日/每周摘要、区域异常分析、趋势洞察。

课程目录规划

  • 01 项目总览与架构图
  • 02 相机接入:ONVIF 登录与 RTSP 获取
  • 03 Mediamtx 流媒体统一接入
  • 04 FFmpeg 转码、抽帧与录像
  • 05 推理服务:实时检测与事件生成
  • 06 叠加视频流输出与在线推送
  • 07 WebSocket 实时文本播报
  • 08 LLM 事件解释与总结
  • 09 多场景算法调度与策略编排
  • 10 数据标注与模型训练闭环
  • 11 并发任务与性能优化
  • 12 运维与告警体系

后续章节将逐步填充完整实现细节与可运行示例。