项目定位
这是一个面向企业内部的视频智能分析平台实践教程。目标是把“相机接入 + 实时检测 + 多场景算法 + 告警闭环 + 统计分析”打通,落地成可部署、可扩展、可运维的小型企业级项目。
你将完成的核心能力
- Python/Java 实现相机登录与录像(ONVIF/RTSP)。
- 实时推理:算法输出新的视频流 + 关键帧截图保存。
- 在线检测:结合大语言模型输出可读的实时文本描述(如:人员闯入、未戴安全帽)。
- 单相机多场景算法执行(区域检测、安全帽、工服、烟雾、火焰等)。
- AI 定期总结 + 异常及时推送飞书等平台。
- 从单任务扩展到几十任务的并行处理能力。
系统架构概览
- 相机接入层:ONVIF 发现、认证、RTSP 拉流。
- 流媒体层:Mediamtx 统一推拉流,FFmpeg 做转码与抽帧。
- 推理服务层:检测模型实时推理 + 事件生成 + 截图落库。
- 场景与任务编排:同一相机绑定多个场景算法,支持策略与时间窗。
- 消息与告警:WebSocket 实时输出 + 飞书/钉钉/短信通知。
- AI 解释与摘要:LLM 输出实时摘要、异常统计、趋势洞察。
- 数据闭环:Label Studio 标注 → 训练 → 权重更新 → 回归评估。
端到端数据流
- ONVIF 获取设备信息与 RTSP 地址,建立登录与可用性检测。
- Mediamtx 统一接入视频流,FFmpeg 转码、降帧、抽图。
- 推理服务消费视频流,输出检测结果、截图与可追溯事件。
- 推理结果转为新视频流(叠加框与告警)对外分发。
- WebSocket 输出实时文本;LLM 生成事件说明。
- 异常事件进入告警中心并推送飞书。
- 定期生成区域异常统计与趋势摘要。
关键技术栈
- 协议/流媒体:ONVIF、RTSP、Mediamtx、FFmpeg
- 服务端:Python(推理/调度)+ Java(业务/任务/权限)
- 实时通信:WebSocket
- AI/算法:YOLO 系列、检测/分类/分割
- 数据闭环:Label Studio、数据标注、模型训练与权重迭代
- 基础设施:对象存储、消息队列、监控告警
场景算法清单
- 区域入侵与电子围栏
- 安全帽佩戴识别
- 工服/反光衣识别
- 烟雾/火焰检测
- 人员滞留与聚集检测
规模化与稳定性设计
- 任务调度:单任务 → 多任务 → 批量并发。
- 资源隔离:GPU/CPU 配额、任务优先级与熔断。
- 可观测性:帧率、延迟、丢帧、模型耗时、告警成功率。
- 可靠性:断流自动重连、异常降级、失败重试。
里程碑路线
- M1:接入与流媒体
完成相机登录、RTSP 拉流、录像与截图。 - M2:实时推理与事件
完成检测推理、事件输出、截图落库、视频叠加输出。 - M3:多场景与告警
支持单相机多算法、告警策略、飞书推送。 - M4:AI 摘要与统计
每日/每周摘要、区域异常分析、趋势洞察。
课程目录规划
- 01 项目总览与架构图
- 02 相机接入:ONVIF 登录与 RTSP 获取
- 03 Mediamtx 流媒体统一接入
- 04 FFmpeg 转码、抽帧与录像
- 05 推理服务:实时检测与事件生成
- 06 叠加视频流输出与在线推送
- 07 WebSocket 实时文本播报
- 08 LLM 事件解释与总结
- 09 多场景算法调度与策略编排
- 10 数据标注与模型训练闭环
- 11 并发任务与性能优化
- 12 运维与告警体系
后续章节将逐步填充完整实现细节与可运行示例。
评论