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

12 KiB
Raw Permalink Blame History

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