本发明涉及视频监控领域,更具体的说,是涉及一种基于异构环境的海量视频结构化分析系统及方法。
背景技术:
在视频监控领域,视频结构化分析是对海量视频资源的一种深度应用,通过运用各种算法对视频进行分析,让计算机代替人工从海量的视频资源中提取有价值的信息。视频分析的准确性和高效性往往是用户和算法服务提供商的普遍需求。目前,由于各个视频监控平台,接入的视频采集设备来源非常多样,不同的视频采集设备采用的视频编码方式也不尽相同,这样使得不同的视频监控平台提供的视频编码方式与视频文件格式千差万别,甚至很多视频文件只能通过视频采集设备提供商提供的SDK进行解码,导致算法服务提供商需要研究各种视频格式以及视频采集设备提供商提供的SDK,加大了视频结构化分析系统对接的难度,不利于视频结构化分析的应用和普及。另外,传统串行分析模式也无法满足海量的视频数据分析需求。
技术实现要素:
有鉴于此,有必要针对上述问题,提供一种基于异构环境的海量视频结构化分析系统及方法,将视频解码功能从视频分析模块中独立出来,使得分析模块仅仅关注算法的分析部分,而不用去关心不同视频监控平台下视频资源的编解码问题,简化视频结构化分析系统接入,并采用任务切分、转码以及一定的任务调度与管理机制进行资源处理,提高视频分析的效率。。
为了实现上述目的,本发明的技术方案如下:
一种基于异构环境的海量视频结构化分析系统,包括任务管理模块、流媒体接收模块、转码模块、视频分析模块;
所述任务管理模块用于将接收到的任务分成若干子任务,并分配到流媒体接收模块,根据各子任务的分析结果进行合、并统一管理;
所述流媒体接收模块用于根据任务管理模块分配的子任务获取视频流;
所述转码模块用于将从任务管理模块接收的视频文件进行转码,统一文件格式;
所述视频分析模块用于将从任务管理器模块接收的视频文件进行结构化分析,并将分析结果返回至任务管理模块。
作为优选的,还包括若干视频监控平台,所述流媒体平台从视频监控平台下载视频流,并通知任务管理模块下载完成。
作为优选的,所述任务管理模块、流媒体接收模块、转码模块和视频分析模块都包括一通信子模块,用于个模块间进行通信。
作为优选的,所述视频分析模块包括若干视频分析子模块,所述视频分析子模块与视频监控平台一一对应。
作为优选的,还包括一视图库,用于存储转码后的标准视频文件、以及各子任务的分析结果。
一种根据上述系统进行海量视频结构化分析方法,包括以下步骤:
S1、任务切分;将任务切分成若干子任务,并将每个子任务发送到流媒体接收模块;
S2、流媒体资源获取;
S3、视频资源转码;
S4、视频结构化分析;
S5、任务合并。
作为优选的,所述步骤S2具体包括:流媒体接收模块收到任务管理模块下发的任务后,从监控平台下载录像资源,下载完成后,通信子模块向任务管理模块发送任务下载完成通知。
作为优选的,所述步骤S3具体包括:任务管理模块收到流媒体接收模块任务下载完成通知后,任务管理模块将转码任务发送给转码模块;转码模块收到转码任务后,转码模块对视频文件进行转码,转码完成后,向任务管理模块发送任务转码完成通知。
作为优选的,所述步骤S4具体包括:转码完成后通知任务管理模块,任务管理模块将视频分析任务发送给视频分析模块,视频分析模块收到视频分析任务后,对视频文件进行结构化分析,分析完成后,向任务管理模块发送任务分析完成通知。
作为优选的,所述步骤S5具体包括:任务管理模块收到视频分析模块任务分析完成通知后,判断所有子任务是否均分析完成,若分析完成,则将任务合并,通知用户任务完成,若还有子任务未完成,等待其它子任务完成。
与现有技术相比,本发明的有益效果在于:本发明通过将视频解码功能从视频分析模块独立出来,使得分析模块仅仅关注算法的分析部分,而不用去关心不同视频监控平台下视频资源的编解码问题。任务管理模块将任务切分成多个子任务,分配到各个流媒体接收模块、转码模块、视频分析模块,并发执行并完成任务,使得任务从流媒体资源的获取、视频转码、视频分析等多个维度并发进行,提高了视频结构化分析的效率。本发明遵循了标准网络通信协议,具有灵活的扩展性、可靠的稳定性以及高效率性,同时可以移植到其他相关场景之中,另外本发明转码模块支持软转码以及GPU硬转码,充分利用硬件资源,提高分析效率。
附图说明
图1为本发明实施例的系统结构框图;
图2为本发明实施例的方法流程图;
图3为本发明实施例的流媒体资源获取处理流程示意图;
图4为本发明实施例的视频资源转码处理流程示意图;
图5为本发明实施例的视频结构化分析处理流程示意图。
具体实施方式
下面结合附图和实施例对本发明所述的一种基于异构环境的海量视频结构化分析系统及方法作进一步说明。
以下是本发明所述的一种基于异构环境的海量视频结构化分析系统及方法的最佳实例,并不因此限定本发明的保护范围。
图1示出了一种基于异构环境的海量视频结构化分析系统,包括任务管理模块、流媒体接收模块、转码模块、视频分析模块;
所述任务管理模块用于将接收到的任务分成若干子任务,并分配到流媒体接收模块,根据各子任务的分析结果进行合、并统一管理;流媒体接收模块从异构环境取得流媒体码流后,任务管理模块将转码任务分配到转码模块,转码完成后,任务管理模块将转码后的标准视频文件导入视图库,然后将各子任务分配到分析节点,分析节点基于标准视频文件进行视频结构化分析,任务管理模块将各子任务的分析结果进行合并,并且导入视图库进行统一管理。
所述流媒体接收模块用于根据任务管理模块分配的子任务获取视频流,得到视频、图像资源;
所述转码模块用于将从任务管理模块接收的视频文件进行转码,统一文件格式,在本实施例中,得到标准的AVI视频资源和JPG图像资源,可以结合CPU转码;
所述视频分析模块用于将从任务管理器模块接收的视频文件进行结构化分析,并将分析结果返回至任务管理模块。
作为优选的,还包括n个视频监控平台,所述流媒体平台从视频监控平台下载视频流,并通知任务管理模块下载完成。
作为优选的,所述任务管理模块、流媒体接收模块、转码模块和视频分析模块都包括一通信子模块,用于个模块间进行通信。
作为优选的,所述视频分析模块包括n个视频分析子模块,所述视频分析子模块与视频监控平台一一对应。
作为优选的,还包括一视图库,任务管理模块将转码后的标准视频文件导入视图库,任务管理模块将各子任务的分析结果进行合并,并且导入视图库进行统一管理。
一种根据上述系统进行海量视频结构化分析方法,包括以下步骤:
S1、任务切分;将任务切分成若干子任务,并将每个子任务发送到流媒体接收模块;
S2、流媒体资源获取;
S3、视频资源转码;
S4、视频结构化分析;
S5、任务合并。
作为优选的,所述步骤S2具体包括:流媒体接收模块收到任务管理模块下发的任务后,从监控平台下载录像资源,下载完成后,通信子模块向任务管理模块发送任务下载完成通知。
作为优选的,所述步骤S3具体包括:任务管理模块收到流媒体接收模块任务下载完成通知后,任务管理模块将转码任务发送给转码模块;转码模块收到转码任务后,转码模块对视频文件进行转码,转码完成后,向任务管理模块发送任务转码完成通知。
作为优选的,所述步骤S4具体包括:转码完成后通知任务管理模块,任务管理模块将视频分析任务发送给视频分析模块,视频分析模块收到视频分析任务后,对视频文件进行结构化分析,分析完成后,向任务管理模块发送任务分析完成通知。
作为优选的,所述步骤S5具体包括:任务管理模块收到视频分析模块任务分析完成通知后,判断所有子任务是否均分析完成,若分析完成,则将任务合并,通知用户任务完成,若还有子任务未完成,等待其它子任务完成。
与现有技术相比,本发明的有益效果在于:本发明通过将视频解码功能从视频分析模块独立出来,使得分析模块仅仅关注算法的分析部分,而不用去关心不同视频监控平台下视频资源的编解码问题。任务管理模块将任务切分成多个子任务,分配到各个流媒体接收模块、转码模块、视频分析模块,并发执行并完成任务,使得任务从流媒体资源的获取、视频转码、视频分析等多个维度并发进行,提高了视频结构化分析的效率。本发明遵循了标准网络通信协议,具有灵活的扩展性、可靠的稳定性以及高效率性,同时可以移植到其他相关场景之中,另外本发明转码模块支持软转码以及GPU硬转码,充分利用硬件资源,提高分析效率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。