视频监控功能设计文档
1. 插件简介
Section titled “1. 插件简介”视频监控插件 是基于 NocoBase 开发的视频监控管理插件,用于接入、集中管理和展示视频监控。插件通过对接萤石云开放平台(open.ys7.com)API,实现摄像头设备接入、实时播放、云台控制、截图抓拍等功能。
2. 核心能力
Section titled “2. 核心能力”- 设备接入:通过萤石云 appKey/appSecret 批量导入摄像头设备
- 实时播放:基于 EZUIKit 播放器实现实时视频流播放
- 云台控制:支持 PTZ(Pan-Tilt-Zoom)方向控制
- 封面刷新:定时任务自动刷新设备封面截图
- 分类管理:支持对视频监控进行自定义分类
- 区块展示:提供可配置的视频列表区块(行列/固定布局)
- 3D数字孪生集成:可选与 3D数字孪生 插件联动,注入视频监控类型的标点
二、数据关系
Section titled “二、数据关系”监控配置 1 ──── M 监控设备监控分类 1 ──── M 监控设备监控设备 M ──── M BIM标点三、功能设计
Section titled “三、功能设计”1. 业务流程
Section titled “1. 业务流程”管理员创建配置(填入 appKey/appSecret/序列号) ↓点击「添加视频」,打开抽屉 ↓从萤石云拉取设备列表,展示在抽屉表格中 ↓管理员通过开关选择要导入的设备 ↓管理视频监控列表 → 使用视频监控区块 ↓定时任务自动维护在线状态和封面图片2. 后台管理
Section titled “2. 后台管理”管理萤石云账号接入配置。
- 列表展示:配置名称、AppKey、AppSecret、设备序列号
- 操作:新增、编辑、删除
- 批量导入设备:点击「添加视频」打开抽屉,从萤石云拉取设备列表,通过开关批量导入
管理已接入的监控设备。
- 列表展示:设备名称、序列号、通道号、分类、在线状态、监控预览
- 操作:查看详情、编辑、删除
- 拖拽排序:支持通过拖拽调整设备顺序
管理监控设备分类。
- 列表展示:分类名称
- 操作:新增、编辑、删除
- 拖拽排序:支持通过拖拽调整分类顺序
3. 视频监控区块
Section titled “3. 视频监控区块”| 布局 | 说明 | 可配置项 |
|---|---|---|
| 行列模式 | 自适应网格布局 | 列数(2-6)、每页条数 |
| 固定模式 | 预设网格布局 | 布局类型(2×2、3×3、4×4、1+5) |
固定模式-轮播功能:当设备数量超出固定布局容量时,自动进入轮播模式。
| 配置项 | 说明 | 可选值 |
|---|---|---|
| 布局模式 | 两种布局方式 | 行列/固定 |
| 列数 | 每行显示列数 | 2, 3, 4, 5, 6 |
| 固定类型 | 预设布局 | 2×2, 3×3, 4×4, 1+5 |
| 每页条数 | 分页大小 | 2-30, 全部 |
| 刷新间隔 | 自动刷新周期(用于大屏) | 关闭, 5秒, 10秒, 30秒, 1分钟 ~ 1天 |
| 图表样式 | 图表风格开关(用于大屏) | 开/关 |
| 区块标题 | 自定义标题 | / |
| 区块高度 | 固定高度 | / |
| 数据范围 | 筛选条件 | / |
| 排序规则 | 数据排序 | / |
4. 视频播放
Section titled “4. 视频播放”播放器功能:
- 基于 EZUIKit(ezuikit-js)SDK
- 支持实时直播和录像回放
- 播放控件:播放/暂停、音频、录制、缩放、高清切换、全屏、对讲
- 设备离线时显示离线提示
- 响应式布局(自动适配移动端)
云台控制:
- 方向控制:上、下、左、右、左上、右上、左下、右下
- 可调节控制速度
- 鼠标按下开始控制,松开停止控制
- 仅对支持云台的设备(isControlled=true)显示控制面板
5. 封面、在线状态自动刷新
Section titled “5. 封面、在线状态自动刷新”- 定时任务抓取最新封面
- 定时任务更新在线状态
6. 注入3D数字孪生标点分类 - 监控
Section titled “6. 注入3D数字孪生标点分类 - 监控”当 3D数字孪生插件 存在时注入,用于 监控类型标点 的新增和展示:
- 标点分类的可选项增加 “监控”
- 该类型标点可关联单个/多个监控设备
- 点击标点时,自动加载标点关联的监控
- 多设备时提供下拉选择器
四、开发方案
Section titled “四、开发方案”视频播放组件,支持多种展示模式
Section titled “视频播放组件,支持多种展示模式”| 模式 | 说明 | 使用场景 |
|---|---|---|
| Icon 模式 | 显示播放图标,点击弹窗播放 | 表格内预览 |
| Cover 模式 | 显示封面缩略图,点击弹窗播放 | 卡片/列表预览 |
| Inline 模式 | 直接内嵌播放器 | 监控类型的标点展示框内 |
封面自动刷新流程
Section titled “封面自动刷新流程”每小时定时任务触发 ↓遍历所有配置 → 遍历配置下所有设备 ↓检查在线状态 → 更新 ↓检查封面图片过期时间 ├─ 未过期 → 跳过 └─ 已过期/即将过期 → 调用抓拍接口 ↓下载图片到 storage/uploads/ ↓更新 封面图 和 封面图过期时间五、 迭代需求
Section titled “五、 迭代需求”待确认…