CN105721831B - 一种基于多进程架构的视频监控客户端设计方法 - Google Patents
一种基于多进程架构的视频监控客户端设计方法 Download PDFInfo
- Publication number
- CN105721831B CN105721831B CN201610069203.5A CN201610069203A CN105721831B CN 105721831 B CN105721831 B CN 105721831B CN 201610069203 A CN201610069203 A CN 201610069203A CN 105721831 B CN105721831 B CN 105721831B
- Authority
- CN
- China
- Prior art keywords
- video
- video equipment
- subprocess
- product type
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明属于多进程通信技术和视频监控客户端监控领域,特别涉及一种基于多进程架构的视频监控客户端设计方法。本发明采用多进程架构技术,所述子进程根据设备编号查找通用视频设备接口管理列表,若未查找到管理列表,则根据生产厂家编号、产品类型、产品型号动态加载与分类信息相对应的视频设备的生产厂家SDK再封装插件,根据设备编号生成通用视频设备操作接口和对象,确保了将不同视频设备厂家SDK分开加载至不同子进程,避免了由于单个厂家的SDK问题而引起程序整体崩溃,同时也避免了不同视频设备厂家SDK发生冲突。
Description
技术领域
本发明属于多进程通信技术和视频监控客户端监控领域,特别涉及一种基于多进程架构的视频监控客户端设计方法。
背景技术
随着平安城市、智慧城市项目的推进,各个视频厂家纷纷为推进平安城市的建设贡献自己的力量,建立了大量的视频监控系统。然而,大量的视频监控系统在建设的同时,也给我们带来一些困难,其中一方面困难就是视频厂家诸多,建设的系统繁杂多样。在所建设诸多视频监控系统中,由于厂家不同或者系统硬件使用的不同,视频访问接口都各不相同,加上新建设的系统与旧的视频系统又难以融合在一起,进而出现了各种各样的视频监控客户端,一台监控机器装了若干个视频客户端,给视频管理带来了极大的麻烦,同时,也极大的降低了用户查询视频的效率。
目前,针对这些系统架构不同的视频监控系统,带来难以集中管理的问题,有如下的一些解决方法:
1、新建设的系统尽量选择同一个厂家系统;
2、新建设的系统各种产品,选择符合国标协议的产品,支持互联;
3、新建设的系统选择旧的系统建设厂家,以寻求兼容。
可是,以上方法使用上,只能在一定程度上降低系统的复杂程度,并不能根本上的解决系统多样性的问题,由此可知,统一集中管理各种视频系统是迫切需要重视的。
发明内容
本发明为了克服上述现有技术的不足,提供了一种基于多进程架构的视频监控客户端设计方法,采用多进程架构技术,降低了视频监控系统使用的复杂程度,实现了对各种视频系统的统一集中管理。
为实现上述目的,本发明采用了以下技术措施:
一种基于多进程架构的视频监控客户端设计方法,包括以下步骤:
1)监控客户端从数据库中读取监控摄像机的相机编号,得到与所述相机编号相关联的视频设备,并读取所述视频设备的分类信息,包括产品生产厂家编号、产品类型、产品型号、设备编号,以及读取所述视频设备的连接配置信息;
2)所述监控客户端根据所述视频设备的分类信息中的产品生产厂家编号、产品类型、产品型号,生成与分类信息相对应的视频设备的通用视频设备操作接口和对象,监控客户端再根据类型分配规则,生成或重复使用与分类信息相对应的视频设备的子进程,监控客户端建立多进程命名通信管道,给予每一个子进程唯一的进程编号;
3)通过所述监控客户端组织登陆命令契约,发送视频设备的产品生产厂家编号、产品类型、产品型号、设备编号、以及登陆信息获取所述视频设备关联的子进程;
4)所述子进程根据设备编号查找通用视频设备接口管理列表,若未查找到管理列表,则根据生产厂家编号、产品类型、产品型号动态加载与分类信息相对应的视频设备的生产厂家SDK再封装插件,根据设备编号生成通用视频设备操作接口和对象,调用监控客户端的登陆接口来登陆视频设备,并将所述视频设备的设备编号加入通用视频设备接口管理列表;
5)所述监控客户端调用子进程,实现对所述视频设备的云台控制、视频实时播放与停止、视频截图、本地录像、视频查询、视频播放、停止录像、录像下载的功能。
优选的,所述视频设备的产品生产厂家编号、产品型号为必要属性,每一个监控摄像机与多个视频设备相关联。
优选的,所述通用视频设备操作接口和对象包括:
1)视频实时控制对象:实现云台控制、视频实时播放与停止、视频截图、本地录像、数字放大、3D控制、声音控制;
2)录像视频的控制对象:实现录像播放与停止、录像速度控制、录像截图、时间定位、进度获取;
3)录像的下载控制对象:实现录像下载与停止、暂停录像、继续录像;
4)监控摄像机对象、视频设备对象、以及进程控制对象。
优选的,所述视频实时控制对象、录像视频的控制对象、录像的下载控制对象均与一个监控摄像机对象相关联,一个监控摄像机对象与多个视频设备对象相关联,一个视频设备对象与一个进程控制对象相关联。
优选的,所述子进程生成规则为:
1)不同的产品生产厂家编号,生成不同的子进程;
2)根据产品类型、产品型号判断,不同的产品生产厂家编号的视频设备API插件生成不同的子进程;
3)仅支持单用户登陆的视频设备API插件,一个所述视频设备生成一个子进程;
4)每一个子进程生成编号依次为产品生产厂家编号、产品类型、产品型号、设备编号,其中产品型号和设备编号为可选项。
进一步的,每一个子进程具有唯一的命名通信管道,所述命名通信管道名称依次由主进程和子进程生成。
进一步的,子进程加载视频设备API插件进行视频设备登陆,生成唯一对应视频设备的视频处理对象,每一个设备编号只能登陆一次,并且维持登陆状态,若视频设备掉线,通过命名通信管道通知客户端重新登录。
本发明的有益效果在于:
1)、本发明采用多进程架构技术,所述子进程根据设备编号查找通用视频设备接口管理列表,若未查找到管理列表,则根据生产厂家编号、产品类型、产品型号动态加载与分类信息相对应的视频设备的生产厂家SDK再封装插件,根据设备编号生成通用视频设备操作接口和对象,确保了将不同视频设备厂家SDK分开加载至不同子进程,避免了由于单个厂家的SDK问题而引起程序整体崩溃,同时也避免了不同视频设备厂家SDK发生冲突。
2)、所述子进程生成规则为:不同的产品生产厂家编号,生成不同的子进程;根据产品类型、产品型号判断,不同的产品生产厂家编号的视频设备API插件生成不同的子进程;仅支持单用户登陆的视频设备API插件,一个所述视频设备生成一个子进程;每一个子进程生成编号依次为产品生产厂家编号、产品类型、产品型号、设备编号,其中产品型号和设备编号为可选项。防止了子进程生成数目过多而存在冗余的现象,根据设备编号便可快速查找到指定的子进程,按情况合理分配了子进程资源,将视频监控播放的压力分解到各个子进程中,充分利用了系统资源,增强了系统的稳定性。
3)、本发明以插件的方式加载不同的视频设备的生产厂家SDK,易于扩展兼容更多的视频厂家,有效地降低了用户使用监控系统的复杂程度。
附图说明
图1为本发明的流程图;
图2为本发明的通用多进程框架;
图3为本发明的详细多进程客户端架构;
图4为本发明的子进程详细架构。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于多进程架构的视频监控客户端设计方法,包括以下步骤:
1)监控客户端从数据库中读取监控摄像机的相机编号,得到与所述相机编号相关联的视频设备,并读取所述视频设备的分类信息,包括产品生产厂家编号、产品类型、产品型号、设备编号,以及读取所述视频设备的连接配置信息;
2)所述监控客户端根据所述视频设备的分类信息中的产品生产厂家编号、产品类型、产品型号,生成与分类信息相对应的视频设备的通用视频设备操作接口和对象,监控客户端再根据类型分配规则,生成或重复使用与分类信息相对应的视频设备的子进程,监控客户端建立多进程命名通信管道,给予每一个子进程唯一的进程编号;
3)通过所述监控客户端组织登陆命令契约,发送视频设备的产品生产厂家编号、产品类型、产品型号、设备编号、以及登陆信息获取所述视频设备关联的子进程;
4)所述子进程根据设备编号查找通用视频设备接口管理列表,若未查找到管理列表,则根据生产厂家编号、产品类型、产品型号动态加载与分类信息相对应的视频设备的生产厂家SDK再封装插件,根据设备编号生成通用视频设备操作接口和对象,调用监控客户端的登陆接口来登陆视频设备,并将所述视频设备的设备编号加入通用视频设备接口管理列表;
5)所述监控客户端调用子进程,实现对所述视频设备的云台控制、视频实时播放与停止、视频截图、本地录像、视频查询、视频播放、停止录像、录像下载的功能。
所述视频设备的产品生产厂家编号、产品型号为必要属性,每一个监控摄像机与多个视频设备相关联;
所述通用视频设备操作接口和对象包括:
1)视频实时控制对象:实现云台控制、视频实时播放与停止、视频截图、本地录像、数字放大、3D控制、声音控制;
2)录像视频的控制对象:实现录像播放与停止、录像速度控制、录像截图、时间定位、进度获取;
3)录像的下载控制对象:实现录像下载与停止、暂停录像、继续录像;
4)监控摄像机对象、视频设备对象、以及进程控制对象。
所述子进程生成规则为:不同的产品生产厂家编号,生成不同的子进程;根据产品类型、产品型号判断,不同的产品生产厂家编号的视频设备API插件生成不同的子进程;仅支持单用户登陆的视频设备API插件,一个所述视频设备生成一个子进程;每一个子进程生成编号依次为产品生产厂家编号、产品类型、产品型号、设备编号,其中产品型号和设备编号为可选项。防止了子进程生成数目过多而存在冗余的现象,根据设备编号便可快速查找到指定的子进程,按情况合理分配了子进程资源,将视频监控播放的压力分解到各个子进程中,充分利用了系统资源,增强了系统的稳定性。
如图2所示,主进程与子进程之间由进程通信模块进行连接,通过制定的通信契约进行双向通信。
如图3、4所示,该框架详细分析了本发明的组成模块与和架构,由上至下依次由设备管理、进程管理、通信模块、通信契约、连接控制、视频执行控制组成,所述设备管理完成产品生产厂家编号、产品类型、产品型号、设备编号的管理分类,所有访问原始视频设备数据的接口均从所述设备管理进入,统一原始数据的访问接口利于控制,防止错乱;所述进程管理是对所有子进程的管理,子进程根据视频设备的分类信息,按照子进程生成规则生成子进程,该子进程生成规则集成于设备管理中,由设备管理判定,并由进程管理生成子进程,根据情况一个视频设备至少跟一个子进程相关联;通信模块,通信是进程间的桥梁,进程通信有很多种方式,如:共享内存、网络、命名通信管道等,本发明为本机间进程通信,采用兼容性强、支持并发快速的命名通信管道通信方式设计进程间通信,结合通信契约,定义标准的通信模块,保证进程间通信稳定、快速;所述连接控制对进程间通信连接如何连接、连接数目等进行控制,保证了通信的稳定;所述视频执行控制是对视频执行部分的管理,该部分对视频设备的SDK再封装成标准插件,由视频执行控制统一管理加载,执行视频访问与控制。整个过程,管理逻辑有序,实现了多进程架构下的集中监控视频客户端的设计。
综上所述,基于多进程架构的视频监控客户端设计方法,确保了将不同视频设备厂家SDK分开加载至不同子进程,避免了由于单个厂家的SDK问题而引起程序整体崩溃,同时也避免了不同视频设备厂家SDK发生冲突;以插件的方式加载不同的视频设备的生产厂家SDK,易于扩展兼容更多的视频厂家,有效地降低了用户使用监控系统的复杂程度,并将不同视频监控客户端统一为一个客户端应用,易于扩展统一的定制化功能。
Claims (6)
1.一种基于多进程架构的视频监控客户端设计方法,其特征在于,包括以下步骤:
1)监控客户端从数据库中读取监控摄像机的相机编号,得到与所述相机编号相关联的视频设备,并读取所述视频设备的分类信息,包括产品生产厂家编号、产品类型、产品型号、设备编号,以及读取所述视频设备的连接配置信息;
2)所述监控客户端根据所述视频设备的分类信息中的产品生产厂家编号、产品类型、产品型号,生成与分类信息相对应的视频设备的通用视频设备操作接口和对象,监控客户端再根据类型分配规则,生成或重复使用与分类信息相对应的视频设备的子进程,监控客户端建立多进程命名通信管道,给予每一个子进程唯一的进程编号;
3)通过所述监控客户端组织登陆命令契约,发送视频设备的产品生产厂家编号、产品类型、产品型号、设备编号、以及登陆信息获取所述视频设备关联的子进程;
4)所述子进程根据设备编号查找通用视频设备接口管理列表,若未查找到管理列表,则根据生产厂家编号、产品类型、产品型号动态加载与分类信息相对应的视频设备的生产厂家SDK再封装插件,根据设备编号生成通用视频设备操作接口和对象,调用监控客户端的登陆接口来登陆视频设备,并将所述视频设备的设备编号加入通用视频设备接口管理列表;
5)所述监控客户端调用子进程,实现对所述视频设备的云台控制、视频实时播放与停止、视频截图、本地录像、视频查询、视频播放、停止录像、录像下载的功能;
步骤2)中,所述子进程生成规则为:
21)不同的产品生产厂家编号,生成不同的子进程;
22)根据产品类型、产品型号判断,不同的产品生产厂家编号的视频设备API插件生成不同的子进程;
23)仅支持单用户登陆的视频设备API插件,一个所述视频设备生成一个子进程;
24)每一个子进程生成编号依次为产品生产厂家编号、产品类型、产品型号、设备编号,其中产品型号和设备编号为可选项。
2.如权利要求1所述的一种基于多进程架构的视频监控客户端设计方法,其特征在于:每一个监控摄像机与多个视频设备相关联。
3.如权利要求1所述的一种基于多进程架构的视频监控客户端设计方法,其特征在于,所述通用视频设备操作接口和对象包括:
1)视频实时控制对象:实现云台控制、视频实时播放与停止、视频截图、本地录像、数字放大、3D控制、声音控制;
2)录像视频的控制对象:实现录像播放与停止、录像速度控制、录像截图、时间定位、进度获取;
3)录像的下载控制对象:实现录像下载与停止、暂停录像、继续录像;
4)监控摄像机对象、视频设备对象、以及进程控制对象。
4.如权利要求3所述的一种基于多进程架构的视频监控客户端设计方法,其特征在于:所述视频实时控制对象、录像视频的控制对象、录像的下载控制对象均与一个监控摄像机对象相关联,一个监控摄像机对象与多个视频设备对象相关联,一个视频设备对象与一个进程控制对象相关联。
5.如权利要求1所述的一种基于多进程架构的视频监控客户端设计方法,其特征在于:每一个子进程具有唯一的命名通信管道,所述命名通信管道名称依次由主进程和子进程生成。
6.如权利要求1所述的一种基于多进程架构的视频监控客户端设计方法,其特征在于:子进程加载视频设备API插件进行视频设备登陆,生成唯一对应视频设备的视频处理对象,每一个设备编号只能登陆一次,并且维持登陆状态,若视频设备掉线,通过命名通信管道通知客户端重新登录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610069203.5A CN105721831B (zh) | 2016-01-28 | 2016-01-28 | 一种基于多进程架构的视频监控客户端设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610069203.5A CN105721831B (zh) | 2016-01-28 | 2016-01-28 | 一种基于多进程架构的视频监控客户端设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721831A CN105721831A (zh) | 2016-06-29 |
CN105721831B true CN105721831B (zh) | 2019-01-04 |
Family
ID=56154555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610069203.5A Active CN105721831B (zh) | 2016-01-28 | 2016-01-28 | 一种基于多进程架构的视频监控客户端设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721831B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657797A (zh) * | 2017-02-27 | 2017-05-10 | 济南浪潮高新科技投资发展有限公司 | 一种摄像机的调用方法、装置及系统 |
CN107741866A (zh) * | 2017-09-29 | 2018-02-27 | 山东浪潮通软信息科技有限公司 | 一种实现多厂商摄像机前端加载的实现方法 |
CN108833237B (zh) | 2018-07-20 | 2021-01-26 | 京东方科技集团股份有限公司 | 智能家居网关及其管控方法 |
CN109756704A (zh) * | 2018-11-30 | 2019-05-14 | 安徽清新互联信息科技有限公司 | 一种嵌入式音视频监控系统的进程间通信方法及系统 |
CN109871291B (zh) * | 2019-03-19 | 2023-07-04 | 广州华多网络科技有限公司 | 数据处理方法及装置 |
CN110139060B (zh) * | 2019-04-02 | 2021-10-19 | 视联动力信息技术股份有限公司 | 一种视频会议的方法和装置 |
CN112714161A (zh) * | 2020-12-22 | 2021-04-27 | 北京金山云网络技术有限公司 | 视频接入方法、装置及视频接入系统 |
CN116206300B (zh) * | 2023-05-05 | 2024-02-27 | 浪潮数字粮储科技有限公司 | 一种多厂商识别摄像头集成兼容方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102036055A (zh) * | 2010-11-03 | 2011-04-27 | 广东威创视讯科技股份有限公司 | 一种摄像头云台控制系统以及控制方法 |
CN102413304A (zh) * | 2011-09-26 | 2012-04-11 | 武汉烽火网络有限责任公司 | 一种网络视频监控数据流存储系统 |
CN103929609A (zh) * | 2014-04-22 | 2014-07-16 | 浙江宇视科技有限公司 | 一种录像回放方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9769369B2 (en) * | 2013-11-21 | 2017-09-19 | Canon Kabushiki Kaisha | Imaging apparatus, imaging system, control method of imaging apparatus, and storage medium |
-
2016
- 2016-01-28 CN CN201610069203.5A patent/CN105721831B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102036055A (zh) * | 2010-11-03 | 2011-04-27 | 广东威创视讯科技股份有限公司 | 一种摄像头云台控制系统以及控制方法 |
CN102413304A (zh) * | 2011-09-26 | 2012-04-11 | 武汉烽火网络有限责任公司 | 一种网络视频监控数据流存储系统 |
CN103929609A (zh) * | 2014-04-22 | 2014-07-16 | 浙江宇视科技有限公司 | 一种录像回放方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105721831A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721831B (zh) | 一种基于多进程架构的视频监控客户端设计方法 | |
CN111506412B (zh) | 基于Airflow的分布式异步任务构建、调度系统及方法 | |
CN104683860B (zh) | 一种音视频多路并发解码加速卡及其解码加速方法 | |
CN102868736B (zh) | 一种云计算监控框架设计及实现方法及云计算处理设备 | |
CN101969391B (zh) | 一种支持融合网络业务的云平台及其工作方法 | |
CN102368802B (zh) | 一种电视台生产系统及其实现建设及操作的方法 | |
CN105306900A (zh) | 一种基于云计算的智能调度高清综合组网视频监控系统 | |
CN102340689B (zh) | 电视台生产系统中业务子系统的配置装置及方法 | |
CN106533713B (zh) | 一种应用部署方法及设备 | |
CN102508989A (zh) | 一种基于虚拟现实的电网全景动态展示系统 | |
CN103200396A (zh) | 基于信息展示平台的实时视频流显示方法及系统 | |
CN113438285B (zh) | 一种基于私有云架构的智慧校园综合管理平台模型 | |
CN102447841A (zh) | 电视台生产系统的终端装置 | |
CN114518934A (zh) | 一种统一运维平台架构系统 | |
CN102377985A (zh) | 移动视频监控系统的媒体模块 | |
CN110991984A (zh) | 基于企业信息化异构系统的数字化经营分析平台及方法 | |
CN102724084B (zh) | 一种电网视频监控系统测试验证系统 | |
CN105786603A (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
CN107179977A (zh) | 基于mpm模型的数据库全自动监控系统 | |
CN109542583A (zh) | 一种基于双总线的虚拟设备管理方法 | |
CN103475870B (zh) | 一种分布式可延展智能视频监控系统 | |
CN104780202A (zh) | 用于端到端云服务数据库虚拟化及管理的架构和方法 | |
CN102299900A (zh) | 基于实时视频流媒体编码的游戏运行方法 | |
CN104753860B (zh) | 基于中间件的网络服务系统 | |
CN105933661A (zh) | 一种用于监控一体机多机并联的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Li Xianjun Inventor after: Xu Jinfeng Inventor after: Wang Jiayong Inventor after: Yu Baohua Inventor after: Wang Yiling Inventor after: Tang Yanyan Inventor after: Xue Jiabin Inventor after: Zhang Jin Inventor before: Li Xianjun |
|
GR01 | Patent grant | ||
GR01 | Patent grant |