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