# 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开发团队