fastbee/视频中心功能说明.md
2025-12-30 08:02:52 +08:00

496 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# FastBee IoT平台 - 视频中心功能说明
## 一、视频中心概述
**视频中心**是FastBee IoT平台中专门用于视频监控管理的功能模块。它基于GB28181协议,支持SIP视频设备的接入、直播、录像、回放等功能,提供完整的视频监控解决方案。
### 核心特性
- **GB28181协议支持**: 符合国标GB28181视频监控协议
- **多路视频播放**: 支持1/4/9分屏同时播放
- **录像管理**: 支持录像查询、回放、下载
- **流媒体服务器**: 集成ZLM流媒体服务器
- **设备管理**: 支持SIP设备注册、通道管理
## 二、视频中心功能模块
### 2.1 分屏显示
**功能位置**: 视频中心 → 分屏显示
**路径**: `/iot/sip/splitview`
**权限**: 无特殊权限要求
#### 作用
- 多路视频同时播放
- 实时监控多个摄像头
- 支持1/4/9分屏切换
- 设备树快速选择通道
#### 主要功能
1. **分屏模式**
- **单屏模式**: 1路视频全屏播放
- **4分屏模式**: 同时播放4路视频
- **9分屏模式**: 同时播放9路视频
2. **设备树**
- 左侧显示设备树结构
- 按产品、设备、通道层级展示
- 点击通道即可开始播放
3. **视频播放**
- 自动获取流媒体地址
- 支持FLV/WS-FLV/WSS-FLV协议
- 自动适配HTTP/HTTPS协议
- 支持截图功能
4. **播放控制**
- 点击分屏区域选择播放器
- 自动保存播放状态
- 支持播放器销毁和重建
#### 使用场景
- 监控中心大屏展示
- 多路视频实时监控
- 设备巡检
- 安防监控
#### 操作步骤
1. 进入分屏显示页面
2. 在左侧设备树选择要播放的通道
3. 选择分屏模式(1/4/9)
4. 点击通道开始播放
5. 点击分屏区域切换播放器
---
### 2.2 录像管理
**功能位置**: 视频中心 → 录像管理
**路径**: `/iot/record/record`
**权限**: `iot:sip:record:query`
#### 作用
- 查看流媒体服务器上的录像文件
- 录像回放
- 录像下载
- 录像上传到OSS
#### 主要功能
1. **录像列表**
- 按流媒体服务器查看录像
- 显示应用名称(app)
- 显示流ID(stream)
- 显示录像时间
2. **录像详情**
- 按日期查看录像文件
- 显示具体录像时间段
- 支持录像文件列表浏览
3. **录像回放**
- 点击录像文件开始回放
- 支持时间轴选择
- 支持播放控制(播放/暂停/快进/快退)
4. **录像下载**
- 下载录像文件到本地
- 支持MP4格式下载
- 支持批量下载
5. **录像上传**
- 上传录像到OSS对象存储
- 支持云存储备份
#### 录像类型
- **实时录像**: 设备推流时自动录制
- **历史录像**: 从设备拉取的录像文件
- **云端录像**: 存储在流媒体服务器的录像
#### 使用场景
- 查看历史监控录像
- 事件回放分析
- 录像备份归档
- 证据提取
#### 操作步骤
1. 选择流媒体服务器
2. 查看录像列表
3. 点击"查看"进入录像详情
4. 选择日期查看录像文件
5. 点击录像文件开始回放
6. 可下载或上传录像
---
### 2.3 配置管理(媒体服务器)
**功能位置**: 视频中心 → 配置管理
**路径**: `/iot/sip/mediaServer`
**权限**: `iot:video:list`
#### 作用
- 管理流媒体服务器配置
- 添加/编辑/删除媒体服务器
- 配置服务器参数
- 管理服务器状态
#### 主要功能
1. **服务器列表**
- 显示所有配置的流媒体服务器
- 显示服务器ID、IP地址、协议类型
- 显示创建时间
2. **服务器配置**
- **服务器ID**: 唯一标识
- **IP地址**: 服务器IP
- **协议**: HTTP/HTTPS
- **域名**: HTTPS访问域名
- **端口配置**:
- HTTP端口
- HTTPS端口
- RTSP端口
- RTP端口
- 录像端口
- **密钥**: ZLM服务器密钥
- **状态**: 启用/禁用
3. **服务器管理**
- 新增服务器
- 编辑服务器配置
- 删除服务器
- 查看服务器详情
- 服务器管理(高级配置)
#### 流媒体服务器类型
- **ZLM (ZLMediaKit)**: 支持RTSP/RTMP/HTTP-FLV/HLS等协议
- **SRS**: 流媒体服务器(规划中)
- **M7S**: 流媒体服务器(规划中)
#### 使用场景
- 部署流媒体服务器
- 配置多台服务器负载均衡
- 服务器参数调整
- 服务器监控管理
#### 操作步骤
1. 进入配置管理页面
2. 点击"新增"添加服务器
3. 填写服务器配置信息
4. 保存配置
5. 可编辑、删除或管理服务器
---
### 2.4 通道管理
**功能位置**: 视频中心 → 通道管理
**路径**: `/iot/sip/index`
**权限**: `iot:video:list`
#### 作用
- 管理SIP设备通道
- 设备注册和绑定
- 通道信息查询
- 设备状态监控
#### 主要功能
1. **通道列表**
- 显示设备SIP ID
- 显示通道SIP ID
- 显示设备状态(在线/离线)
- 显示产品名称
- 显示设备类型
- 显示通道类型
- 显示城市编码
- 显示注册时间
2. **通道创建**
- 选择省市区
- 选择设备类型(DVR/NVR/摄像机/IPC等)
- 选择通道类型
- 选择产品
- 批量创建通道(最多10个)
3. **通道绑定**
- 绑定到设备
- 绑定到场景模型
- 解绑操作
4. **设备类型**
- `0`: DVR(数字视频录像机)
- `1`: NVR(网络视频录像机)
- `2`: 报警控制器
- `4`: 摄像机
- `5`: IPC(网络摄像机)
- `6`: 显示器
- `7`: 报警输入设备
- `8`: 报警输出设备
- `9`: 语音输入设备
- `10`: 语音输出设备
- `11`: 移动传输设备
5. **通道类型**
- 视频通道
- 音频通道
- 告警通道
- 其他类型
#### 使用场景
- SIP设备注册
- 通道信息管理
- 设备绑定配置
- 设备状态监控
#### 操作步骤
1. 进入通道管理页面
2. 点击"新增"创建通道
3. 选择省市区、设备类型、通道类型
4. 选择产品并设置创建数量
5. 保存创建通道
6. 可绑定到设备或场景模型
---
## 三、视频中心技术架构
### 3.1 协议支持
#### GB28181协议
- **SIP信令**: 设备注册、心跳、目录查询
- **RTP传输**: 视频流传输
- **RTSP推流**: 流媒体服务器接收
- **HTTP-FLV播放**: Web端播放
#### 流媒体协议
- **RTSP**: 实时流传输协议
- **RTMP**: 实时消息传输协议
- **HTTP-FLV**: HTTP FLV流
- **HLS**: HTTP Live Streaming
- **WebRTC**: Web实时通信(规划中)
### 3.2 系统架构
```
SIP设备
↓
SIP服务器 (fastbee-server/sip-server)
↓
流媒体服务器 (ZLM)
↓
Web播放器 (Jessibuca/EasyPlayer)
```
### 3.3 核心组件
1. **SIP服务器**
- 处理GB28181协议
- 设备注册管理
- 信令转发
- 流媒体控制
2. **流媒体服务器 (ZLM)**
- 接收RTP流
- 转码和分发
- 录像存储
- 流媒体API
3. **Web播放器**
- **Jessibuca**: 支持FLV/WS-FLV播放
- **EasyPlayer**: 支持多种格式播放
- **WebRTC**: 低延迟播放(规划中)
## 四、视频中心使用场景
### 4.1 实时监控场景
1. **单路监控**
- 进入分屏显示
- 选择单屏模式
- 选择通道开始播放
2. **多路监控**
- 进入分屏显示
- 选择4分屏或9分屏
- 依次选择多个通道播放
3. **监控大屏**
- 使用9分屏模式
- 全屏显示
- 实时监控多个点位
### 4.2 录像回放场景
1. **查看历史录像**
- 进入录像管理
- 选择流媒体服务器
- 查看录像列表
- 选择日期查看录像文件
2. **事件回放**
- 根据时间查找录像
- 播放录像文件
- 分析事件经过
3. **录像下载**
- 选择录像文件
- 点击下载
- 保存到本地
### 4.3 设备管理场景
1. **设备注册**
- 在通道管理中创建通道
- 配置设备信息
- 设备自动注册
2. **设备绑定**
- 将通道绑定到设备
- 关联场景模型
- 配置设备参数
3. **设备监控**
- 查看设备在线状态
- 监控设备注册情况
- 处理设备异常
## 五、核心代码位置
### 5.1 前端代码
1. **分屏显示**
- `vue/src/views/iot/sip/splitview.vue`
- `vue/src/views/components/player/jessibuca.vue`
- `vue/src/views/components/player/DeviceTree.vue`
2. **录像管理**
- `vue/src/views/iot/record/record.vue`
- `vue/src/views/iot/record/record-detail.vue`
- `vue/src/views/components/player/easyplayer.vue`
3. **配置管理**
- `vue/src/views/iot/sip/mediaServer.vue`
- `vue/src/views/iot/sip/mediaServer-edit.vue`
4. **通道管理**
- `vue/src/views/iot/sip/index.vue`
- `vue/src/views/iot/sip/channel.vue`
### 5.2 后端代码
1. **SIP服务器**
- `fastbee-server/sip-server/`
- SIP协议处理
- 设备管理
- 流媒体控制
2. **录像服务**
- `fastbee-server/sip-server/src/main/java/com/fastbee/sip/service/IRecordService.java`
- `fastbee-open-api/src/main/java/com/fastbee/controller/media/RecordController.java`
3. **流媒体服务**
- `fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IMediaServerService.java`
4. **通道服务**
- `fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IChannelService.java`
## 六、API接口说明
### 6.1 视频播放接口
- `POST /iot/channel/startPlay` - 开始播放视频流
- `POST /iot/channel/stopPlay` - 停止播放视频流
- `GET /iot/channel/getStream` - 获取流信息
### 6.2 录像管理接口
- `GET /iot/record/list` - 获取录像列表
- `GET /iot/record/file/{stream}/{period}` - 获取录像文件列表
- `GET /iot/record/play/{deviceId}/{channelId}` - 播放录像
- `GET /iot/record/download/{deviceId}/{channelId}` - 下载录像
- `POST /iot/record/start/{stream}` - 开始录像
- `POST /iot/record/stop/{stream}` - 停止录像
### 6.3 媒体服务器接口
- `GET /iot/mediaServer/list` - 获取媒体服务器列表
- `POST /iot/mediaServer` - 新增媒体服务器
- `PUT /iot/mediaServer` - 修改媒体服务器
- `DELETE /iot/mediaServer/{ids}` - 删除媒体服务器
### 6.4 通道管理接口
- `GET /iot/channel/list` - 获取通道列表
- `POST /iot/channel` - 新增通道
- `PUT /iot/channel` - 修改通道
- `DELETE /iot/channel/{ids}` - 删除通道
- `POST /iot/channel/binding` - 绑定通道
## 七、注意事项
1. **流媒体服务器配置**
- 需要先配置流媒体服务器才能使用视频功能
- 确保服务器网络可达
- 配置正确的端口和密钥
2. **设备注册**
- 设备需要支持GB28181协议
- 配置正确的SIP服务器地址
- 确保设备网络连通
3. **视频播放**
- 浏览器需要支持WebSocket
- HTTPS环境使用WSS协议
- 建议使用Chrome或Edge浏览器
4. **录像管理**
- 录像文件存储在流媒体服务器
- 定期清理过期录像
- 录像文件较大,注意存储空间
5. **性能优化**
- 多路视频播放会占用较多资源
- 建议根据服务器性能调整分屏数量
- 使用硬件加速提升播放性能
6. **安全配置**
- 配置HTTPS访问
- 设置流媒体服务器密钥
- 控制视频访问权限
## 八、未来规划
根据README.md中的规划,视频中心将支持:
1. **协议扩展**
- TCP传输信令
- SRS、M7S流媒体服务器支持
- 百度EVS、七牛云QVS等云平台对接
2. **功能增强**
- PTZ云台控制
- 设备自动拉流
- 云端录像
- 事件处理机制
3. **性能优化**
- WebRTC低延迟播放
- 硬件加速
- 负载均衡
---
**文档版本**: v1.0
**最后更新**: 2024-12-20
**维护者**: FastBee开发团队