《视频监控平台概要设计说明书样本.doc》由会员分享,可在线阅读,更多相关《视频监控平台概要设计说明书样本.doc(84页珍藏版)》请在三一办公上搜索。
1、密 级: 内部公开文档编号: CHAOYUAN_SD_TEMP_04版 本 号: V1.0分册名称: 第1册/共1册视频监控平台概要设计说明书安徽超远信息技术有限公司编制: 刘俊龙生效日期: 审核: 批准: -安徽超远信息技术有限公司对本文件资料享受著作权及其它专属权利, 未经书面许可, 不得将该等文件资料( 其全部或任何部分) 披露予任何第三方, 或进行修改后使用。文件更改摘要: 日期版本号修订说明修订人审核人批准人 .10.291.0新建刘俊龙目录1.引言41.1.编写目的41.2.背景41.3.术语41.4.预期读者与阅读建议51.5.参考资料52.总体设计52.1.设计目标52.2.运
2、行环境52.3.网络结构62.4.总体设计思路和处理流程62.5.模块结构设计72.6.功能需求与程序模块的关系132.7尚未解决的问题303.接口设计313.1.用户接口313.2.外部接口343.3.内部接口414.界面总体设计505.数据结构设计506.系统安全设计506.1.数据传输安全性设计506.2.应用系统安全性设计506.3.数据存储安全性设计507.系统部署( 可选) 501. 引言1.1. 编写目的本说明书着重介绍视频监控平台的业务需求及流程。经过这个需求说明书, 明确、 细化用户对视频监控平台的功能需求, 让所有项目参与人员清晰地掌握视频监控系统的每个功能的具体细节, 并
3、为项目的评审, 开发, 测试等提供依据。本文档的主要读者为公司决策管理层、 质量部、 策划部、 开发部等有关人员, 为后面的系统开发提供指导和保障。1.2. 背景平安城市大联网不但包括公安部内部联网, 也包括公安部与外部社会的联网, 经过统一建设视频网络联网平台, 将彻底结束因缺乏统一规划而导致的视频监控平台建设离散化、 缺少统一技术标准、 平台架构扩容等缺陷与弊端, 经过资源的有效共享, 能够形成积聚的资源优势和整体优势。只有实现视频图像共享才能将视频监控平台转化为一线的实际战斗力, 真正服务于各公安警种的现实业务工作, 缩短反应时间, 减少人力耗费, 相对保证了城市的安全, 实现信息资源共
4、享后, 可实现与其它警务系统信息共享、 灵活查询、 智能识别、 行为分析、 视频案件库管理、 综合警务信息管理等等功能;实现建立协调有序、 响应快速、 指挥顺畅的公安应急指挥通信体系;做到以服务公安案情侦破为核心, 能够充分利用视频资源提供有效线索, 实现跨部门、 跨警种的信息共享和应用共享。兼容性和吞吐量或成绊脚石当前, 要实现整个平台的共享还面临着较大的压力。其中压力主要来自于两方面, 首先是平台的兼容性, 就国内网络高清产品而言, 不同的安防企业在制定通信协议时都采用了自己的解决方案, 而各个企业的产品通信协议一般情况下都不兼容, 国内企业的各个通信协议都存在这个问题, 但令人欣喜的是,
5、 在解决兼容性方面国家已经出台了相关标准。 6月1日, 安全防范视频监控联网系统信息传输、 交换、 控制技术要求正式实施, 这标志着中国平安城市视频监控平台建设有了新的规范。1.3. 术语术语解 释GBT 28181GBT 28181- 安全防范视频监控联网系统信息传输、 交换、 控制技术要求SIPSIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创立、 修改和释放一个或多个参与者的会话。RTPRTP( Real-time Transport Protocol, 实时传输协议) H264H.264 是MPEG-4 标准所定义的最新, 同时也是技术含
6、量最高、 代表最新技术水平的视频编码格式之一。PSPES流(Packet Elementary Stream): 也叫打包的基本码流, 是将基本的码流ES流根据需要分成长度不等的数据包, 并加上包头就形成了打包的基本码流PES流。ffmpegffmpeg是一个开源免费跨平台的视频和音频流方案。1.4. 预期读者与阅读建议描述本文档的主要读者, 以及这些读者在阅读时的阅读重点与建议。可用列表的方式列出。如表: 预期读者阅读重点软件详细设计者软件开发人员质量管理员决策管理层1.5. 参考资料该文档在编写过程中, 主要参考了以下文档: GBT 28181- 安全防范视频监控联网系统信息传输、 交换、
7、 控制技术要求 公安机关视频监控系统联网标准符合性自测工具及说明 海康威视iVMS-8600(V2.41)智能交通综合管控平台使用说明书 浙江大华DSS-C/T平台使用说明书 SIP协议 RFC3261 RTSP协议 RFC2326 RTP协议 RFC3550 SDP协议 RFC23272. 总体设计2.1. 设计目标实现视频监控平台软件1.0版, 具体包括以下几项: 1. 实现符合GBT28181协议的第三方视频监控平台的集成; 2. 实现符合GBT28181协议的第三方视频监控设备的集成; 3. 开发客户端监控软件, 实现上述平台接入或直接接入的视频监控设备的状态监控、 远程控制、 预置位
8、设置等功能; 4. 实现第三方存储设备的集成, 完成对视频流的存储管理; 5. 开发视频流媒体服务软件, 实现实时视频监控、 历史图像调用; 6. 将各业务功能和播放器整合, 提供SDK包, 包括上述各种视频监控应用功能, 支持管控平台集成。2.2. 运行环境服务端软件环境: 服务端操作系统: Windows Server X64企业版 运行环境: ICE 3.4 数据库: Mysql客户端软件环境: 操作系统Windows XP以上版本; IE8以上版本; 推荐分辨率: 1280*800; 内存: 2G以上。2.3. 网络结构 以公安信息网和公安视频专网为承载网, 分别建设各级视频联网平台和
9、共享平台。共享平台用于视频专网内视频图像资源的接入管理并汇接社会图像资源。联网平台用于整合公安信息网内图像资源, 并与同级共享平台对接。上下级联网平台经过公安信息网实现级联对接, 上下级共享平台根据需要经过视频专网实现级联。 系统架构如下图所示: 图1.网络拓扑图2.4. 总体设计思路和处理流程本项目完成对符合国标的平台和设备的接入管理, 并向上层系统提供服务接口。系统间交互方式如下图所示: 图2.系统交互示意图图3. 系统整体框架图2.5. 模块结构设计图3. V1.0 系统架构图模块名称模块缩写中心控制单元CMU数据接收单元DRU转发服务器MTU视频设备网关VCG综合管理客户端UISDKS
10、DK2.5.1 中心控制单元图4.CMU功能图功能介绍: 设备抽象化: 将前端各种类型的设备统一抽象化 资源管理: 将系统中的所有设备进行统一管理 负载均衡: 系统配置多个转发服务器时, 针对用户发起的业务需求进行资源调配, 选择负载最合理的转发服务器执行任务 中心控制: 系统中的所有控制信令均经过CMU, 由CMU进行统一中心控制, 是整个系统的大脑。负载均衡方案介绍: 对于视频监控平台来说, 流媒体服务器的能力是整个平台非常重要的一个因素, 针对我们系统, 在尝试解决MTU单机转发能力的同时, 我们采用了一对多的分布式方案, 如下图所示, 在一个视频监控平台能够部署多台MTU服务器来增加系
11、统的负载, 负载均衡流程如下: 1. IPC向VCG注册, 完成注册后, VCG将该设备存入设备表; 2. MTU向CMU注册, 完成注册后, CMU将该服务器存入MTU表; 3. 注册成功后定时向CMU发送自身的负载情况, 包括视频转发路数、 用户数等; 4. 用户请求视频流, CMU收到请求后, 检查系统内所有MTU的负载, 选择最优的MTU执行该次任务, 如果该MTU当前没有指定视频设备的流, 要求VCG向指定设备请求流, 同时发生Announce给该MTU要求其准备接收流; 5. CMU将该MTU的地址信息返回给客户端; 6. 客户端向该MTU请求流, MTU进行转发; 7. 客户端显
12、示画面, 流程结束。图5.负载均衡示意图2.5.2 数据接收单元图6.DRU功能图功能介绍: 数据接收: 开放数据上传接口, 接收VCG上传设备列表/状态变化、 告警事件等数据。 数据发布: 将接收到的数据按照相应的主题向ICEStorm实时发布2.5.3 转发服务器功能介绍: 多路转发: 当客户端请求的流媒体已经在服务器中转发时, 不需再向前端设备请求流, 直接转发该流给客户端。 会话管理: 对客户端发起的流请求和前端设备推送的流数据进行会话管理。 负载上报: 定时向CMU发送自身负载, CMU根据此负载情况进行负载均衡。图7.MTU功能图工作流程介绍: 1 流媒体数据源发送推送数据请求2
13、事件管理模块接收发送端的事件处理, 启动会话接收数据3 启动线程接收数据, 并加入超时机制4 内部对数据进行处理5 客户端发送命令请求数据6 事件管理模块接收客户端的事件处理7 内部进行逻辑判断, 检查请求资源是否存在8 对客户端进行响应, 加入超时机制, 启动线程发送数据给客户端2.5.4 视频设备网关图8.VCG功能图模块功能: 设备对接: 处理符合国标GBT28181的前端设备的注册、 信令控制。 平台对接: 处理符合国标GBT28181的第三方平台的注册、 信令控制。 设备管理: 对已注册的设备进行集中监控, 包含列表、 状态等信息。 协议转换: 将所有向第三方平台/设备发送的信令转化
14、为SIP消息。两个信令安全路由网关之前是上下级关系, 下级信令路由网关主动向上级信令安全路由网关发起注册, 经上级信令安全路由网关鉴权认证后才能进行系统间通信。即视频设备网关接收下级平台或者前端设备的注册, 注册鉴权完成后才能够通信, 进行正常的业务操作。图9.SIP路由网关图2.5.5 综合管理客户端视频监控平台的自带的管理客户端, 当前以C/S形式实现, 至少覆盖平台对外提供的所有业务接口。提供以下功能: 图10. 综合管理客户端功能图2.5.6 SDK该模块包含网络接口和提供给B/S系统使用的OCX控件, 并在控件中对流媒体播放器进行集成。提供各类接口为应用平台提供视频流的接入和设备控制
15、服务。主要包括设备管理、 设备控制、 实况、 录像查询、 录像回放和下载、 录像回放控制接口。OCX控件中集成的流媒体播放器的功能, 支持播放采用RTP传输的PS封装的H264码流, 且为标准未加密的码流。同时支持多路播放功能。模块功能: 向上层系统提供服务接口 提供OCX控件, 包含流媒体播放器功能图11. SDK功能图下图为SDK的核心部件解码库的模块设计图: 图12.解码示意图2.6. 功能需求与程序模块的关系系统包含以下几大模块: UI、 SDK、 解码库、 中心控制单元(CMU)、 数据接收单元(DRU)、 视频适配网关(VCG)、 流媒体转发服务器(MTU)各项功能需求的实现同各块
16、程序模块的分配关系, 需求跟踪距阵如下所示: 图13.需求与模块关系图2.6.1 用户登陆1、 用户填写用户名、 密码、 验证码, 点击登录, 发起登录请求2、 SDK接收用户请求信息并透传给服务器3、 服务器中心控制单元( CMU) 处理用户登录请求, 检查用户信息是否是数据库中的有效信息4、 服务器中心控制单元( CMU) 将登录结果返回给SDK5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查登录结果。如果登录成功, 根据用户的角色信息打开系统管理界面; 如果登录失败, 清空登录界面上的密码和验证码, 提示错误信息。图14.用户登陆2.6.2 用户管理用户管理包括对用户的添加
17、、 删除、 修改、 查询及分配角色。几个操作牵涉到的各模块交互流程是一致的。图14.用户管理添加用户: 1、 管理员在客户端填写用户信息, 发起用户添加请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理用户添加请求, 将用户信息录入数据库4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回用户添加的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果信息添加成功, 则返回并刷新用户列表; 如果添加失败, 当前界面上显示失败原因删除用户: 1、 管理员在客户端选中要删除的用户, 发起用户删除请求2、 SDK接收用
18、户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理用户删除请求, 将指定的用户信息从数据库中删除4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回用户删除的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果用户信息删除成功, 则返回并刷新用户列表; 如果添加失败, 当前界面上显示失败原因修改用户: 1、 管理员在客户端选中要修改的用户, 编辑用户信息, 发起用户修改请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理用户修改请求, 更新数据库中指定的用户信息4、 服务器中心控制单元( CMU) 根
19、据数据库操作的结果, 向SDK返回用户修改的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果用户信息修改成功, 则返回并刷新用户列表; 如果添加失败, 当前界面上显示失败原因查询用户: 1、 管理员在客户端点击用户管理, 发起用户查询请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理用户查询请求, 从数据库中查询用户信息4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回用户修改的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果用户信息查询成功, 则显示用户列表; 如果添加失
20、败, 显示用户列表, 且用户列表为空分配角色: 1、 管理员在客户端选中某个用户, 为用户增加或移除角色, 发起角色分配请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理用户角色分配请求, 更新数据库中指定的用户关联的角色4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回用户角色分配的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果用户角色信息分配成功, 则显示用户的角色列表; 如果添加失败, 显示用户的角色列表, 并提示错误信息2.6.3 角色管理角色管理包括对角色的添加、 删除、 修改、 查询。几个操
21、作牵涉到的各模块交互流程是一致的。图15.用户登陆添加角色: 1、 管理员在客户端填写角色信息, 发起角色添加请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理角色添加请求, 将角色信息录入数据库4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回角色添加的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果角色添加成功, 则返回并刷新角色列表; 如果添加失败, 当前界面上显示失败原因删除角色: 1、 管理员在客户端选中要删除的角色, 发起角色删除请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单
22、元( CMU) 处理角色删除请求, 将指定的角色信息从数据库中删除4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回角色删除的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果角色信息删除成功, 则返回并刷新角色列表; 如果删除失败, 显示角色列表, 并提示失败原因修改角色: 1、 管理员在客户端选中要修改的角色, 编辑角色信息, 发起角色修改请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理角色修改请求, 更新数据库中指定的角色信息4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回
23、角色修改的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果角色信息修改成功, 则返回并刷新角色列表; 如果修改失败, 当前界面上显示失败原因查询角色: 1、 管理员在客户端点击角色管理, 发起角色查询请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理用户查询请求, 从数据库中查询角色信息4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回用户修改的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果角色信息查询成功, 则显示角色列表; 如果查询失败, 显示角色列表, 并提示失败原
24、因2.6.4 机构管理机构管理包括对机构的添加、 删除、 修改、 查询。几个操作牵涉到的各模块交互流程是一致的。图16.机构管理添加结构: 1、 管理员在客户端填写机构信息, 发起机构添加请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理机构添加请求, 将机构信息录入数据库4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回机构添加的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果结构添加成功, 则返回并刷新机构列表; 如果添加失败, 当前界面上显示失败原因删除机构: 1、 管理员在客户端选中要删除的机构,
25、 发起机构删除请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理机构删除请求, 将指定的机构信息从数据库中删除4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回机构删除的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果机构信息删除成功, 则返回并刷新机构列表; 如果删除失败, 显示机构列表, 并提示失败原因修改机构: 1、 管理员在客户端选中要修改的机构, 编辑机构信息, 发起机构修改请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理机构修改请求, 更新数据库中指定的机构
26、信息4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回机构修改的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果机构信息修改成功, 则返回并刷新机构列表; 如果修改失败, 当前界面上显示失败原因查询结构: 1、 管理员在客户端点击机构管理, 发起机构查询请求2、 SDK接收用户请求并透传给服务器3、 服务器中心控制单元( CMU) 处理机构查询请求, 从数据库中查询机构信息4、 服务器中心控制单元( CMU) 根据数据库操作的结果, 向SDK返回用户修改的结果5、 SDK接收服务器返回的结果并透传给客户端6、 客户端检查操作结果。如果机构
27、信息查询成功, 则显示机构列表; 如果查询失败, 显示机构列表, 并提示失败原因2.6.5 设备管理2.6.5.1 添加设备 流程如下: a) 用户给前端设备分配域ID, 然后在客户端预添加该设备b) 该设备经过第三方平台或者直接交互的方式向VCG注册c) VCG根据域ID判断该设备已经预添加, 如果已经添加则完成注册流程后, 将该设备的基本信息更新到本地数据库。d) VCG通知用户设备添加完成图17.添加设备2.6.5.2 查询、 修改、 删除设备流程如下: a) 用户给在客户端选定一个要删除或者修改的设备b) SDK转发该设备管理指令给CMUc) VCG收到该管理指令后进行相应的操作d)
28、VCG将操作结果返回给用户图18.设备管理( 查询、 修改、 删除) 2.6.5.3 设备状态监控流程如下: a) 客户端向ICE订阅设备变化事件b) 第三方平台/设备向VCG上报列表和状态信息c) VCG检查列表和状态是否变化d) 如果发现列表或状态发送变化, VCG将该信息发布至ICEe) 客户端收到该变化信息后, 更新本地列表图19.设备状态监控2.6.6 设备控制用户能够向指定设备发送控制信息, 经过视频监控平台向目标设备发送设备控制命令, 控制命令的类型包括球机云台控制、 远程启动、 录像控制、 报警布防撤防、 报警复位等, 设备控制采用IETF RFC 3428中的MESSAGE方
29、法实现。命令流程描述如下: a) 用户经过SDK请求对某个前端设备进行控制b) SDK转发该指令给VCGc) VCG向第三方平台/前端设备发送设备控制命令, 该设备控制命令按照国标GBT28181, 采用MESSAGE方法携带。d) 第三方平台/设备收到命令后返回200 OK。e) 第三方平台/设备向VCG发送设备控制响应消息, 设备控制响应命令采用MESSAGE方法携带。f) VCG收到命令后返回200 OK。解析操作结果并响应客户端, 流程结束。图20.设备控制2.6.7 实况2.6.7.1 开始实况1 终端设备向中心控制单元(CMU)请求某前端设备实时视频; 2中心控制单元(CMU)查看
30、当前系统已经注册的所有转发服务器的负载, 选取一个负载最轻的转发服务器。3.中心控制单元( CMU) 向该转发服务器查询, 是否此前端设备实时视频已经发送到媒体服务器某通道中。4 如果此前端设备实时视频还未发送到媒体服务器某通道中, 协商媒体服务器分配通道准备接收实时流媒体数据; 5 CMU协商此前端设备向转发服务器分配的通道发送实时视频; 6 CMU协商转发服务器开始在相应通道中接收实时视频7 CMU响应发送请求的终端设备, 资源准备完成, 并发送给终端设备执行转发的转发服务器地址。8 终端设备请求转发服务器将对应流媒体转发至本地9 终端设备开始接收实时视频并解码显示。图21.开始实况2.6
31、.7.2 停止实况1 用户请求终端设备停止解码及显示, 停止接收实时视频; 2 终端设备向CMU发送指令, 请求停止实况.3 终端设备请求转发服务器相应通道停止向此终端设备发送实时视频。如果仍有其它终端设备与相应通道连接, 转结果A4 媒体服务器释放相应通道, 如果仍有其它终端设备经过其它媒体服务器与前端设备连接.转结果B5 CMU通知前端设备停止向媒体服务器发送实时视频。6 前端设备停止发送实时视频。转结果C结果: A 完成停止实况。B完成停止实况, 媒体服务器释放通道。C完成停止实况,媒体服务器释放通道。前端设备停止发送实时视频。图22.停止实况2.6.8 录像查询用户能够对指定设备上某个
32、时间段的历史媒体文件进行检索。文件检索主要用区域、 设备、 录像时间段、 录像地点、 录像内容为条件进行查询, 用Message消息发送检索请求和返回查询结果, 传送结果的Message消息能够发送多条。文件检索请求和应答命令采用MANSCDP协议格式定义。流程描述如下: a) 用户请求查询指定设备在指定时间段内的录像数据; b) SDK将该请求转发给CMU, CMU将该指令转发至VCG; c) VCG向第三方平台/设备发送目录查询请求Message消息, 消息体中包含视音频文件检索条件。d) 第三方平台/设备向VCG发送200 OK, 无消息体。e) 第三方平台/设备向VCG发送查询结果,
33、消息体中含文件目录, 当一条Message消息无法传送完所有查询结果时, 采用多条消息传送。f) VCG收到查询结果后, 向第三方平台/设备发送200 OK, 无消息体。完成查询业务。g) VCG将该查询结果由CMU、 SDK响应给用户。图23.录像查询2.6.9 录像下载用户能够对指定设备上指定时间的历史媒体数据进行下载, 并保存到本地硬盘。历史媒体回放的会话描述信息采用SDP协议规定的格式, 命令流程描述如下: a) 用户请求向SDK请求下载指定设备在指定时间段内的录像b) SDK转发该指令给CMU, CMU再转发给VCGc) VCG向第三方平台/设备发送Invite消息, 消息头域中携带
34、Subject字段, 表明点播的视频源ID、 分辨率、 媒体流接收者ID、 接收端媒体流序列号标识等参数, SDP消息体中S字段为”Playback”代表历史回放, U字段代表回放通道ID和回放类型, t字段代表回放时间段。d) 第三方平台/设备收到Invite请求后, 经过三方呼叫控制建立与媒体流接收者之间的媒体连接。回复200 OK响应, 携带SDP消息体, 消息体中描述了媒体服务器发送媒体流的IP、 端口、 媒体格式、 SSRC值等内容。e) VCG收到200 OK响应后, 回复ACK消息, 完成Invite会话的建立, 开始历史流媒体传输。f) 第三方平台在文件下载结束后发送会话内Me
35、ssage消息, 通知VCG下载已结束。g) VCG收到消息后回复200 OK响应, 并通知用户, 开始进行链路断开。h) VCG向第三方平台发送BYE消息, 断开之前建立的Invite会话。第三方平台收到BYE消息后回复200 OK响应, 会话断开,该次下载业务结束。图24.录像下载2.6.10 录像回放用户能够对指定设备上指定时间的历史媒体数据进行远程回放, 回放过程应支持正常播放、 快速播放、 慢速播放、 画面暂停、 随机拖放等媒体回放控制。历史媒体回放的会话描述信息采用SDP协议规定的格式, 媒体回放控制命令采用MANSRTSP协议格式。命令流程描述如下: a) 用户请求向SDK请求回
36、放指定设备在指定时间段内的录像b) SDK转发该指令给CMU, CMU再转发给VCGc) VCG向第三方平台/设备发送Invite消息, 消息头域中携带Subject字段, 表明点播的视频源ID、 分辨率、 媒体流接收者ID、 接收端媒体流序列号标识等参数, SDP消息体中S字段为”Playback”代表历史回放, U字段代表回放通道ID和回放类型, t字段代表回放时间段。d) 第三方平台/设备收到Invite请求后, 经过三方呼叫控制建立与媒体流接收者之间的媒体连接。回复200 OK响应, 携带SDP消息体, 消息体中描述了媒体服务器发送媒体流的IP、 端口、 媒体格式、 SSRC值等内容。
37、e) VCG收到200 OK响应后, 回复ACK消息, 完成Invite会话的建立, 开始历史流媒体传输。f) 在回放过程中, 用户能够请求回放控制, VCG经过向第三方平台发送会话内Info消息进行回放控制, 包括视频的暂停、 播放、 快放、 慢放、 随机拖放播放等操作。g) 第三方平台回复VCG 200 0K响应;h) 第三方平台在文件回放结束后发送会话内Message消息, 通知VCG回放已结束。i) VCG收到消息后回复200 OK响应, 并通知用户, 开始进行链路断开。j) VCG向第三方平台发送BYE消息, 断开之前建立的Invite会话。k) 第三方平台收到BYE消息后回复200
38、 OK响应, 会话断开,该次回放业务结束。视音频回放控制流程是采用SIP消息INFO实现视音频播放、 暂停、 进退和停止等视音频回放控制命令的过程。视音频回放控制请求消息在INFO方法的消息体中携带, 回放控制请求消息应符合MANSRTSP协议的请求消息的部分定义, 包括PLAY、 PAUSE、 TEARDOWN; 视音频回放控制应答消息可在INFO方法的200 OK响应消息体中携带, 回放控制应答消息应符合MANSRTSP协议的应答消息定义。有关视音频回放控制命令的详细描述见GBT28181附录B。图25.录像回放2.6.11 平台/设备断连告警流程如下: a) 客户端向ICE订阅断链告警事
39、件b) 第三方平台/设备向VCG上报心跳包c) VCG收到心跳包后, 检查是否是已注册平台/设备, 如果是已注册设备, 响应200 0Kd) VCG定时检查所有已注册平台/设备的心跳状态, 如果发现心跳丢失, VCG将该信息上传给DRUe) DRU将该信息发布至ICEStormf) 客户端收到该告警事件后, 进行告警图26.断连告警2.6.12 多路播放为支持多通道视频源接收, 解码。并在多窗口显示。系统将由以下模块组成1 CyPlayControl 接收, 执行, 回复 UI 层的调用接口。2 SlMediaService 管理通道, 负责通道建立, 运行, 及销毁。2.1 SlMediaS
40、erviceTool 提供一些查询空闲socket的服务3 SlMediaChannel 通道, 负责数据输入, 处理, 及输出 3.1 SlRtspClientSession 负责向rtsp服务器连接 3.2 SlNetworkCapture 负责网络接收 3.3 SlPlayout 负责向UI层输出解码后的帧序列数据 3.4 SlProcessor 负责数据处理, 即rtp数据的排序, mpegps数据的解复用, h264数据的解码开始播放UDP端口数据流程1 UI向 SlMediaServiceTool询问空闲UDP端口; 2 UI 向CyPlayControl 发送开始命令3 SlMe
41、diaService 建立通道。即建立 SlMediaChannel;4 SlMediaChannel 建立 SlNetworkCapture, SlPlayout, SlProcess等内部模块5 SlMediaChannel 启动, 开始接收并处理数据结果: UI经过回调接收到解码后的图像帧数据停止播放UDP端口数据流程1 UI向CyPlayControl 发送停止命令2 SlMediaService 停止通道3 SlMediaChannel停止内部模块4 SlMediaService销毁通道结果: UI的回调停止接收数据开始播放Rtsp服务器数据流程1 UI 向CyPlayControl
42、 发送开始命令3 SlMediaService 建立通道。即建立 SlMediaChannel;4 SlMediaChannel 建立 SlNetworkCapture, SlPlayout, SlProcess, SlRtspClientSession等内部模块5 SlMediaChannel 经过 SlRtspClientSession 连接 Rtsp服务器 5 SlMediaChannel 启动, 开始接收并处理数据结果: UI经过回调接收到解码后的图像帧数据停止播放Rtsp服务器数据流程1 UI向CyPlayControl 发送停止命令2 SlMediaService 停止通道3 Sl
43、MediaChannel停止内部模块, SlRtspClientSession 断开 Rtsp服务器4 SlMediaService销毁通道结果: UI的回调停止接收数据接收UDP端口数据或接收rtsp服务器数据, 解码, 显示的顺序图如下: 3. 接口设计3.1. 用户接口1.系统登录, 用户输入正确的用户名和密码进行登陆, 并可选择是否记住密码, 是否自动登录, 中心服务器的IP地址和端口号2.添加用户, 用户输入用户的必选信息, 选择性的输入可选信息, 点击保存按钮进行添加用户操作3.修改用户, 用户点击用户列表中的某个用户, 修改可改属性, 点击保存进行修改操作。4.添加角色, 用户设
44、置角色相关信息, 分配权限后, 点击保存按钮进行添加角色操作。5.修改角色, 用户点击角色列表中的某个角色, 修改可改属性, 点击保存按钮进行修改角色操作。 6.添加机构, 用户输入机构相关信息, 点击保存按钮进行添加机构操作。7.修改机构, 用户选择机构列表中的某个机构, 修改可改属性, 点击保存进行修改机构操作。8.添加设备, 用户输入设备地址、 编号、 名称、 附属机构名称等相关信息后, 点击保存按钮, 等待设备自动注册, 完成注册后添加成功。9.修改设备, 用户选择设备列表中的某个设备, 修改可改属性后, 点击保存按钮进行修改设备操作。3.2. 外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、 本系统与各支持软件之间的接口关系、 协议要求等。