视频监控平台设计说明书.docx
《视频监控平台设计说明书.docx》由会员分享,可在线阅读,更多相关《视频监控平台设计说明书.docx(69页珍藏版)》请在冰豆网上搜索。
![视频监控平台设计说明书.docx](https://file1.bdocx.com/fileroot1/2023-2/11/2f3dba28-f623-4faa-9a4f-7629d6ebe0c2/2f3dba28-f623-4faa-9a4f-7629d6ebe0c21.gif)
视频监控平台设计说明书
视频监控平台
概要设计说明书
生效日期:
---------------------------------------------------------------------
文件更2改摘要1:
日期
版本号
修订说明
修订人
审核人
批准人
1.引言
1.1.编写目的
本文档的主要读者为公司决策管理层、质量部、筹划部、开发部等有关人员,为后面的系统开发提供指导和保障。
本说明书着重介绍视频监控平台的业务需求及流程。
通过这个需求说明书,明确、细化用户对视频监控平台的功能需求,让所有工程参与人员清晰地掌握视频监控系统的每个功能的具体细节,并为工程的评审,开发,测试等提供依据。
1.2.背景
兼容性和吞吐量或成绊脚石目前,要实现整个平台的共享还面临着较大的压力。
其中压力主要来自于两方面,首先是平台的兼容性,就国网络高清产品而言,不同的安防企业在制定通信协议时都采用了自己的解决方案,而各个企业的产品通信协议一般情况下都不兼容,国企业的各个通信协议都存在这个问题,但令人欣喜的是,在解决兼容性方面国家已经出台了相关标准。
2021年6月1日,?
平安防视频监控联网系统信息传输、交换、控制技术要求?
正式实施,这标志着我国平安城市视频监控平台建立有了新的规。
平安城市大联网不仅包括公安部部联网,也包括公安部与外部社会的联网,通过统设视频网络联网平台,将彻底完毕因缺乏统一规划而导致的视频监控平台建立离散化、缺少统一技术标准、平台架构扩容等缺陷与弊端,通过资源的有效共享,能够形成积聚的资源优势和整体优势。
只有实现视频图像共享才能将视频监控平台转化为一线的实际战斗力,真正效劳于各公安警种的现实业务工作,缩短反响时间,减少人力消耗,相对保证了城市的平安,实现信息资源共享后,可实现与其他警务系统信息共享、灵活查询、智能识别、行为分析、视频案件库管理、综合警务信息管理等等功能;实现建立协调有序、响应快速、指挥顺畅的公安应急指挥通信体系;做到以效劳公安案情侦破为核心,能够充分利用视频资源提供有效线索,实现跨部门、跨警种的信息共享和应用共享。
1.3.术语
术语
解释
GBT28181
GBT28181-2021平安防视频监控联网系统信息传输、交换、控制技术要求
SIP
SIP(SessionInitiationProtocol)是一个应用层的信令控制协议。
用于创立、修改和释放一个或多个参与者的会话。
RTP
RTP〔Real-timeTransportProtocol,实时传输协议〕
H264
H.264是MPEG-4标准所定义的最新,同时也是技术含量最高、代表最新技术水平的视频编码格式之一。
PS
PES流(PacketElementaryStream):
也叫打包的根本码流,是将根本的码流ES流根据需要分成长度不等的数据包,并加上就形成了打包的根本码流PES流。
ffmpeg
ffmpeg是一个开源免费跨平台的视频和音频流方案。
1.4.预期读者与阅读建议
描述本文档的主要读者,以及这些读者在阅读时的阅读重点与建议。
可用列表的方式列出。
如表:
预期读者
阅读重点
软件详细设计者
软件开发人员
质量管理员
决策管理层
1.5.参考资料
该文档在编写过程中,主要参考了以下文档:
Ø?
GBT28181-2021平安防视频监控联网系统信息传输、交换、控制技术要求?
Ø?
公安机关视频监控系统联网标准符合性自测工具及说明?
Ø?
海康威视iVMS-8600(V2.41)智能交通综合管控平台使用说明书?
Ø?
大华DSS-C/T平台使用说明书?
Ø?
SIP协议RFC3261?
Ø?
RTSP协议RFC2326?
Ø?
RTP协议RFC3550?
Ø?
SDP协议RFC2327?
2.总体设计
2.1.设计目标
实现视频监控平台软件1.0版,具体包括以下几项:
1.实现符合GBT28181协议的第三方视频监控平台的集成;
2.实现符合GBT28181协议的第三方视频监控设备的集成;
3.开发客户端监控软件,实现上述平台接入或直接接入的视频监控设备的状态监控、远程控制、预置位设置等功能;
4.实现第三方存储设备的集成,完成对视频流的存储管理;
5.开发视频流媒体效劳软件,实现实时视频监控、历史图像调用;
6.将各业务功能和播放器整合,提供SDK包,包括上述各种视频监控应用功能,支持管控平台集成。
2.2.运行环境
效劳端软件环境:
1效劳端操作系统:
Windows2021ServerX64企业版
2运行环境:
ICE3.4
3数据库:
Mysql
客户端软件环境:
操作系统WindowsXP以上版本;IE8以上版本;推荐分辨率:
1280*800;存:
2G以上。
2.3.网络构造
以公安信息网和公安视频专网为承载网,分别建立各级视频联网平台和共享平台。
共享平台用于视频专网视频图像资源的接入管理并汇接社会图像资源。
联网平台用于整合公安信息网图像资源,并与同级共享平台对接。
上下级联网平台通过公安信息网实现级联对接,上下级共享平台根据需要通过视频专网实现级联。
系统架构如下列图所示:
图1.网络拓扑图
2.4.总体设计思路和处理流程
本工程完成对符合国标的平台和设备的接入管理,并向上层系统提供效劳接口。
系统间交互方式如下列图所示:
图2.系统交互示意图
图3.系统整体框架图
2.5.模块构造设计
图3.V1.0系统架构图
模块名称
模块缩写
中心控制单元
CMU
数据接收单元
DRU
转发效劳器
MTU
视频设备网关
VCG
综合管理客户端
UI
SDK
SDK
2.5.1中心控制单元
图4.CMU功能图
功能介绍:
✧设备抽象化:
将前端各种类型的设备统一抽象化
✧资源管理:
将系统中的所有设备进展统一管理
✧负载均衡:
系统配置多个转发效劳器时,针对用户发起的业务需求进展资源调配,选择负载最合理的转发效劳器执行任务
✧中心控制:
系统中的所有控制信令均通过CMU,由CMU进展统一中心控制,是整个系统的大脑。
负载均衡方案介绍:
对于视频监控平台来说,流媒体效劳器的能力是整个平台非常重要的一个因素,针对我们系统,在尝试解决MTU单机转发能力的同时,我们采用了一对多的分布式方案,如下列图所示,在一个视频监控平台可以部署多台MTU效劳器来增加系统的负载,负载均衡流程如下:
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.客户端显示画面,流程完毕。
图5.负载均衡示意图
2.5.2数据接收单元
图6.DRU功能图
功能介绍:
✧数据接收:
开放数据上传接口,接收VCG上传设备列表/状态变化、告警事件等数据。
✧数据发布:
将接收到的数据按照相应的主题向ICEStorm实时发布
2.5.3转发效劳器
功能介绍:
✧多路转发:
当客户端请求的流媒体已经在效劳器中转发时,不需再向前端设备请求流,直接转发该流给客户端。
✧会话管理:
对客户端发起的流请求和前端设备推送的流数据进展会话管理。
✧负载上报:
定时向CMU发送自身负载,CMU根据此负载情况进展负载均衡。
图7.MTU功能图
工作流程介绍:
1流媒体数据源发送推送数据请求
2事件管理模块接收发送端的事件处理,启动会话接收数据
3启动线程接收数据,并参加超时机制
4部对数据进展处理
5客户端发送命令请求数据
6事件管理模块接收客户端的事件处理
7部进展逻辑判断,检查请求资源是否存在
8对客户端进展响应,参加超时机制,启动线程发送数据给客户端
2.5.4视频设备网关
图8.VCG功能图
模块功能:
✧设备对接:
处理符合国标GBT28181的前端设备的注册、信令控制。
✧平台对接:
处理符合国标GBT28181的第三方平台的注册、信令控制。
✧设备管理:
对已注册的设备进展集中监控,包含列表、状态等信息。
✧协议转换:
将所有向第三方平台/设备发送的信令转化为SIP消息。
两个信令平安路由网关之前是上下级关系,下级信令路由网关主动向上级信令平安路由网关发起注册,经上级信令平安路由网关鉴权认证后才能进展系统间通信。
即视频设备网关接收下级平台或者前端设备的注册,注册鉴权完成后才可以通信,进展正常的业务操作。
图9.SIP路由网关图
2.5.5综合管理客户端
视频监控平台的自带的管理客户端,目前以C/S形式实现,至少覆盖平台对外提供的所有业务接口。
提供以下功能:
图10.综合管理客户端功能图
2.5.6SDK
该模块包含网络接口和提供应B/S系统使用的OCX控件,并在控件中对流媒体播放器进展集成。
提供各类接口为应用平台提供视频流的接入和设备控制效劳。
主要包括设备管理、设备控制、实况、录像查询、录像回放和下载、录像回放控制接口。
OCX控件中集成的流媒体播放器的功能,支持播放采用RTP传输的PS封装的H264码流,且为标准未加密的码流。
同时支持多路播放功能。
模块功能:
✧向上层系统提供效劳接口
✧提供OCX控件,包含流媒体播放器功能
图11.SDK功能图
下列图为SDK的核心部件解码库的模块设计图:
图12.解码示意图
2.6.功能需求与程序模块的关系
系统包含以下几大模块:
UI、SDK、解码库、中心控制单元(CMU)、数据接收单元(DRU)、视频适配网关(VCG)、流媒体转发效劳器(MTU)
各项功能需求的实现同各块程序模块的分配关系,需求跟踪距阵如下所示:
图13.需求与模块关系图
2.6.1用户登陆
1、用户填写用户名、密码、验证码,点击登录,发起登录请求
2、SDK接收用户请求信息并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理用户登录请求,检查用户信息是否是数据库中的有效信息
4、效劳器中心控制单元〔CMU〕将登录结果返回给SDK
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查登录结果。
如果登录成功,根据用户的角色信息翻开系统管理界面;如果登录失败,清空登录界面上的密码和验证码,提示错误信息。
图14.用户登陆
2.6.2用户管理
用户管理包括对用户的添加、删除、修改、查询及分配角色。
几个操作牵涉到的各模块交互流程是一致的。
图14.用户管理
添加用户:
1、管理员在客户端填写用户信息,发起用户添加请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理用户添加请求,将用户信息录入数据库
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回用户添加的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果信息添加成功,那么返回并刷新用户列表;如果添加失败,当前界面上显示失败原因
删除用户:
1、管理员在客户端选中要删除的用户,发起用户删除请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理用户删除请求,将指定的用户信息从数据库中删除
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回用户删除的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果用户信息删除成功,那么返回并刷新用户列表;如果添加失败,当前界面上显示失败原因
修改用户:
1、管理员在客户端选中要修改的用户,编辑用户信息,发起用户修改请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理用户修改请求,更新数据库中指定的用户信息
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回用户修改的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果用户信息修改成功,那么返回并刷新用户列表;如果添加失败,当前界面上显示失败原因
查询用户:
1、管理员在客户端点击用户管理,发起用户查询请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理用户查询请求,从数据库中查询用户信息
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回用户修改的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果用户信息查询成功,那么显示用户列表;如果添加失败,显示用户列表,且用户列表为空
分配角色:
1、管理员在客户端选中某个用户,为用户增加或移除角色,发起角色分配请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理用户角色分配请求,更新数据库中指定的用户关联的角色
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回用户角色分配的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果用户角色信息分配成功,那么显示用户的角色列表;如果添加失败,显示用户的角色列表,并提示错误信息
2.6.3角色管理
角色管理包括对角色的添加、删除、修改、查询。
几个操作牵涉到的各模块交互流程是一致的。
图15.用户登陆
添加角色:
1、管理员在客户端填写角色信息,发起角色添加请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理角色添加请求,将角色信息录入数据库
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回角色添加的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果角色添加成功,那么返回并刷新角色列表;如果添加失败,当前界面上显示失败原因
删除角色:
1、管理员在客户端选中要删除的角色,发起角色删除请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理角色删除请求,将指定的角色信息从数据库中删除
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回角色删除的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果角色信息删除成功,那么返回并刷新角色列表;如果删除失败,显示角色列表,并提示失败原因
修改角色:
1、管理员在客户端选中要修改的角色,编辑角色信息,发起角色修改请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理角色修改请求,更新数据库中指定的角色信息
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回角色修改的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果角色信息修改成功,那么返回并刷新角色列表;如果修改失败,当前界面上显示失败原因
查询角色:
1、管理员在客户端点击角色管理,发起角色查询请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理用户查询请求,从数据库中查询角色信息
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回用户修改的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果角色信息查询成功,那么显示角色列表;如果查询失败,显示角色列表,并提示失败原因
2.6.4机构管理
机构管理包括对机构的添加、删除、修改、查询。
几个操作牵涉到的各模块交互流程是一致的。
图16.机构管理
添加构造:
1、管理员在客户端填写机构信息,发起机构添加请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理机构添加请求,将机构信息录入数据库
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回机构添加的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果构造添加成功,那么返回并刷新机构列表;如果添加失败,当前界面上显示失败原因
删除机构:
1、管理员在客户端选中要删除的机构,发起机构删除请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理机构删除请求,将指定的机构信息从数据库中删除
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回机构删除的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果机构信息删除成功,那么返回并刷新机构列表;如果删除失败,显示机构列表,并提示失败原因
修改机构:
1、管理员在客户端选中要修改的机构,编辑机构信息,发起机构修改请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理机构修改请求,更新数据库中指定的机构信息
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回机构修改的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果机构信息修改成功,那么返回并刷新机构列表;如果修改失败,当前界面上显示失败原因
查询构造:
1、管理员在客户端点击机构管理,发起机构查询请求
2、SDK接收用户请求并透传给效劳器
3、效劳器中心控制单元〔CMU〕处理机构查询请求,从数据库中查询机构信息
4、效劳器中心控制单元〔CMU〕根据数据库操作的结果,向SDK返回用户修改的结果
5、SDK接收效劳器返回的结果并透传给客户端
6、客户端检查操作结果。
如果机构信息查询成功,那么显示机构列表;如果查询失败,显示机构列表,并提示失败原因
2.6.5设备管理
2.6.5.1添加设备
流程如下:
a)用户给前端设备分配域ID,然后在客户端预添加该设备
b)该设备通过第三方平台或者直接交互的方式向VCG注册
c)VCG根据域ID判断该设备已经预添加,如果已经添加那么完成注册流程后,将该设备的根本信息更新到本地数据库。
d)VCG通知用户设备添加完成
图17.添加设备
2.6.5.2查询、修改、删除设备
流程如下:
a)用户给在客户端选定一个要删除或者修改的设备
b)SDK转发该设备管理指令给CMU
c)VCG收到该管理指令后进展相应的操作
d)VCG将操作结果返回给用户
图18.设备管理〔查询、修改、删除〕
2.6.5.3设备状态监控
流程如下:
a)客户端向ICE订阅设备变化事件
b)第三方平台/设备向VCG上报列表和状态信息
c)VCG检查列表和状态是否变化
d)如果发现列表或状态发送变化,VCG将该信息发布至ICE
e)客户端收到该变化信息后,更新本地列表
图19.设备状态监控
2.6.6设备控制
用户可以向指定设备发送控制信息,通过视频监控平台向目标设备发送设备控制命令,控制命令的类型包括球机/云台控制、远程启动、录像控制、报警布防/撤防、报警复位等,设备控制采用IETFRFC3428中的MESSAGE方法实现。
命令流程描述如下:
a)用户通过SDK请求对某个前端设备进展控制
b)SDK转发该指令给VCG
c)VCG向第三方平台/前端设备发送设备控制命令,该设备控制命令按照国标GBT28181,采用MESSAGE方法携带。
d)第三方平台/设备收到命令后返回200OK。
e)第三方平台/设备向VCG发送设备控制响应消息,设备控制响应命令采用MESSAGE方法携带。
f)VCG收到命令后返回200OK。
解析操作结果并响应客户端,流程完毕。
图20.设备控制
2.6.7实况
2.6.7.1开场实况
1终端设备向中心控制单元(CMU)请求某前端设备实时视频;
2中心控制单元(CMU)查看当前系统已经注册的所有转发效劳器的负载,选取一个负载最轻的转发效劳器。
3.中心控制单元〔CMU〕向该转发效劳器查询,是否此前端设备实时视频已经发送到媒体效劳器某通道中。
4如果此前端设备实时视频还未发送到媒体效劳器某通道中,协商媒体效劳器分配通道准备接收实时流媒体数据;
5CMU协商此前端设备向转发效劳器分配的通道发送实时视频;
6CMU协商转发效劳器开场在相应通道中接收实时视频
7CMU响应发送请求的终端设备,资源准备完成,并发送给终端设备执行转发的转发效劳器地址。
8终端设备请求转发效劳器将对应流媒体转发至本地
9终端设备开场接收实时视频并解码显示。
图21.开场实况
2.6.7.2停顿实况
1用户请求终端设备停顿解码及显示,停顿接收实时视频;
2终端设备向CMU发送指令,请求停顿实况.
3终端设备请求转发效劳器相应通道停顿向此终端设备发送实时视频。
如果仍有其它终端设备与相应通道连接,转结果A
4媒体效劳器释放相应通道,如果仍有其它终端设备通过其它媒体效劳器与前端设备连接.转结果B
5CMU通知前端设备停顿向媒体效劳器发送实时视频。
6前端设备停顿发送实时视频。
转结果C
结果:
A完成停顿实况。
B完成停顿实况,媒体效劳器释放通道。
C完成停顿实况,媒体效劳器释放通道。
前端设备停顿发送实时视频。
图22.停顿实况
2.6.8录像查询
用户可以对指定设备上某个时间段的历史媒体文件进展检索。
文件检索主要用区域、设备、录像时间段、录像地点、录像容为条件进展查询,用Message消息发送检索请求和返回查询结果,传送结果的Message消息可以发送多条。
文件检索请求和应答命令采用MANSCDP协议格式定义。
流程描述如下:
a)用户请求查询指定设备在指定时间段的录像数据;
b)SDK将该请求转发给CMU,CMU将该指令转发至VCG;
c)VCG向第三方平台/设备发送目录查询请求Message消息,消息体中包含视音频文件检索条件。
d)第三方平台/设备向VCG发送200OK,无消息体。
e)第三方平台/设备向VCG发送查询结果,消息体中含文件目录,当一条Message消息无法传送完所有查询结果时,采用多条消息传送。
f)VCG收到查询结果后,向第三方平台/设备发送200OK,无消息体。
完成查询业务。
g)VCG将该查询结果由CMU、SDK响应给用户。
图23.录像查询
2.6.9录像下载
用户可以对指定设备上指定时间的历史媒体数据进展下载,并保存到本地硬盘。
历史媒体回放的会话描述信息采用SDP协议规定的格式,命令流程描述如下:
a)用户请求向SDK请求下载指定设备在指定时间段的录像
b)SDK转发该指令给CMU,CMU再转发给VCG
c)VCG向第三方平台/设备发送Invite消息,消息头域中携带Subject字段,说明点播的视频源ID、分辨率、媒体流接收者ID、接收端媒体流序列号标识等参数,SDP消息体中S字段为“Playback〞代表历史回放,U字段代表回放通道ID和回放类型,t字段代表回放时间段。