CN115866331A - 视频抽帧分析方法、装置、设备及存储介质 - Google Patents
视频抽帧分析方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115866331A CN115866331A CN202211480492.XA CN202211480492A CN115866331A CN 115866331 A CN115866331 A CN 115866331A CN 202211480492 A CN202211480492 A CN 202211480492A CN 115866331 A CN115866331 A CN 115866331A
- Authority
- CN
- China
- Prior art keywords
- video
- video frame
- stream
- analysis
- picture stream
- 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.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种视频抽帧分析方法、装置、设备及存储介质。本申请通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个视频帧转换成图片流,并通过预设管道将图片流传输至切割程序;通过切割程序从预设管道接收图片流,并将图片流切割成多个视频帧;调用算法分析应用对视频帧进行分析处理,得到视频帧的分析结果。通过上述技术手段,解决了现有技术中视频帧分析效率低且影响硬盘正常使用的问题,提高视频抽帧效率和视频帧分析效率。
Description
技术领域
本申请涉及视频抽帧技术领域,尤其涉及一种视频抽帧分析方法、装置、设备及存储介质。
背景技术
目前视频分析平台对视频进行算法分析时,通过视频抽帧技术从视频流中抽取视频帧。对抽取到的视频帧进行算法分析,可以在不降低分析算法效果的前提下,实现高速有效的视频分析,满足了视频分析平台对视频分析实时性的需求。
在现有技术中,将从视频流中抽取到的视频帧存储至硬盘中,再对硬盘内保存的视频帧进行算法分析,将完成分析的视频帧从硬盘中清除。在对多路视频流进行同时抽帧时,会产生海量的视频帧,若直接将海量视频帧存储至硬盘中,可能会因为硬盘读写速度较低而影响视频帧的存储效率,进而降低算法分析效率。在对海量视频帧进行分析后,需要不断清理硬盘中的视频帧,反复的读写操作会影响损坏硬盘的使用寿命。
发明内容
本申请提供一种视频抽帧分析方法、装置、设备及存储介质,解决了现有技术中视频帧分析效率低且影响硬盘正常使用的问题,提高视频抽帧效率和视频帧分析效率,减少访问硬盘的次数,延长硬盘的使用寿命。
第一方面,本申请提供了一种视频抽帧分析方法,包括:
通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个所述视频帧转换成图片流,并通过预设管道将所述图片流传输至切割程序;
通过所述切割程序从所述预设管道接收所述图片流,并将所述图片流切割成多个所述视频帧;
调用算法分析应用对所述视频帧进行分析处理,得到所述视频帧的分析结果。
进一步的,所述通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,包括:
配置前端摄像头的视频流地址,通过所述视频工具根据预设的流媒体协议对所述视频流地址对应的视频流进行抽帧,得到所述视频帧。
进一步的,所述将多个所述视频帧转换成图片流,包括:
将每个所述视频帧的编码转换成便携式网络图形格式的二进制编码;
将多个所述视频帧的二进制编码放置于所述预设管道中,以得到所述图片流。
进一步的,所述将所述图片流划分成多个所述视频帧,包括:
根据便携式网络图像的数据格式,从所述图片流中提取所述视频帧的二进制编码;
将所述视频帧的二进制编码转换为标准字符编码。
进一步的,所述根据便携式网络图像的数据格式,从所述图片流中提取所述视频帧的二进制编码,包括:
按照所述图片流的字节排列顺序,校验所述图片流中的签名信息;
在校验到所述图片流中的签名信息后,从所述图片流中提取多个数据块和结束块,所述数据块包括块长度、块类型、块数据和校验码;
在提取到所述结束块后,将所述签名信息、多个所述数据块和所述结束块确定为一个所述视频帧的二进制编码。
进一步的,在所述将所述图片流切割成多个所述视频帧之后还包括:
通过所述切割程序将多个所述视频帧的标准字符编码推送至分布式消息队列集群中。
进一步的,所述调用算法分析应用对所述视频帧进行分析处理,包括:
通过多个所述算法分析应用从所述分布式消息队列集群中获取多个所述视频帧,并对多个所述视频帧进行分析处理。
第二方面,本申请提供了一种视频抽帧分析装置,包括:
管道传输模块,被配置为通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个所述视频帧转换成图片流,并通过预设管道将所述图片流传输至切割程序;
视频帧切割模块,被配置为通过所述切割程序从所述预设管道接收所述图片流,并将所述图片流切割成多个所述视频帧;
视频帧分析模块,被配置为调用算法分析应用对所述视频帧进行分析处理,得到所述视频帧的分析结果。
第三方面,本申请提供了一种视频抽帧分析设备,包括:
一个或多个处理器;存储装置,存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的视频抽帧分析方法。
第四方面,本申请提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的视频抽帧分析方法。
在本申请中,通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个视频帧转换成图片流,并通过预设管道将图片流传输至切割程序;通过切割程序从预设管道接收图片流,并将图片流切割成多个视频帧;将切割程序作为分布式消息队列集群的生产者,将算法分析应用作为分布式消息队列集群的消费者,切割程序将视频帧缓存至分布式消息队列集群中,算法分析应用从分布式消息队列集群中获取视频帧,并对视频帧进行分析处理,得到视频帧的分析结果。通过上述技术手段,视频工具从视频流中抽取到视频帧后,通过应用之间的管道流传输方式,将视频帧传输至切割程序,视频帧无需以文件格式写入硬盘,省去了从硬盘中读取视频帧的过程,缩短了视频帧的传输时间,提高了视频抽帧效率和视频帧分析效率,在对视频帧进行分析后也无需对硬盘进行清理,避免反复寻址操作带来的磁盘损耗,延长磁盘的使用寿命。除此之外,通过分布式消息队列集群将切割程序和算法分析应用解耦,有助于动态调节服务器集群的节点数量,平衡生产视频帧和消费视频帧的处理速度,避免系统出现超负荷请求而完全崩溃的情况,提高系统的稳定性。
附图说明
图1是本申请实施例提供的一种视频抽帧分析方法的流程图;
图2是本申请实施例提供的视频帧传输流程的示意图;
图3是本申请实施例提供的将视频流转换成图片流的流程图;
图4是本申请实施例提供的切割程序处理图片流的流程图;
图5是本申请实施例提供的从图片流中提取视频帧的二进制编码的流程图;
图6是本申请实施例提供的一种视频抽帧分析装置的结构示意图;
图7是本申请实施例提供的一种视频抽帧分析设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
本实施例中提供的视频抽帧分析方法可以由视频抽帧分析设备执行,该视频抽帧分析设备可以通过软件和/或硬件的方式实现,该视频抽帧分析设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。
视频抽帧分析设备安装有至少一类操作系统,视频抽帧分析设备可以基于操作系统安装至少一个应用程序,应用程序可以为操作系统自带的应用程序,也可以为从第三方设备或者服务器中下载的应用程序。在该实施例中,视频抽帧分析设备至少安装有可以执行视频抽帧分析方法的应用程序。
为便于理解,本实施例以视频抽帧分析设备为执行视频抽帧分析方法的主体为例,进行描述。
在一实施例中,视频云平台设置有多路摄像头,视频云平台管理各路摄像头采集的视频流。视频抽帧分析设备对摄像头采集的多路视频流进行同时抽帧,并将抽取到的视频帧作为图像文件存储至硬盘中,然后从硬盘中读取视频帧,并对视频帧进行算法分析,将分析后的视频帧从硬盘中删除。由于视频抽帧分析设备可以同时对成百上千路的视频流进行抽帧,产生的海量图片需要储存。若抽帧服务器采用低速的机械硬盘,其同时处理的视频帧数量会受到限制,影响抽帧效率。若视频抽帧分析设备采用高速的固态硬盘,虽然消除了硬盘读写速度的影响,但在频繁的读写操作下,会严重损害固态硬盘的使用寿命。
为解决上述问题,本实施例提供了一种视频抽帧分析方法,以通过管道流方式传输视频帧,避免视频帧直接落盘存储,提高视频抽帧效率的同时,减少访问硬盘的次数。
图1给出了本申请实施例提供的一种视频抽帧分析方法的流程图。参考图1,该视频抽帧分析方法具体包括:
S110、通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个视频帧转换成图片流,并通过预设管道将图片流传输至切割程序。
其中,视频流地址是指视频云平台的实时直播流地址,如rtsp/rtmp流地址,视频云平台事前将各路前端摄像头与直播流地址进行绑定,以将前端摄像头采集的视频流在对应直播流地址所在的网页进行播放。视频工具基于各路前端摄像头的直播流地址获取对应的视频流,并在后台对视频流进行抽帧操作,以提取到视频流中的多个视频帧。
在一实施例中,视频工具采用FFmpeg(Fast Forward Mpeg),FFmpeg具有视频抓图功能,可以通过FFmpeg从摄像头采集的视频流进行抽帧。可以在FFmpeg中配置各路摄像头的ID、抽帧类型和抽帧频率等参数,以使FFmpeg按照抽帧频率和抽帧类型从对应摄像头的视频流中抽取视频帧,并将视频帧打上对应摄像头的ID,以便后续确定各个视频帧的采集来源。在该实施例中,配置前端摄像头的视频流地址,通过视频工具根据预设的流媒体协议对视频流地址对应的视频流进行抽帧,得到所述视频帧。示例性的,在FFmpeg中配置前端摄像头的rtsp/rtmp流地址,FFmpeg基于rtsp/rtmp等主流流媒体协议从rtsp/rtmp流地址对应的视频流中提取到各个视频帧。
在该实施例中,图2是本申请实施例提供的视频帧传输流程的示意图。如图2所示,视频抽帧分析设备包括抽帧服务器集群,抽帧服务器集群配置有多个FFmpeg。示例性的,在抽帧服务器集群配置的多个FFmpeg中输入多路摄像头的直播流地址,以通过多个FFmpeg同时对多路视频流进行同时抽帧,得到每个视频流对应的视频帧。而且抽帧服务器集群支持动态扩展FFmpeg资源,抽帧服务器集群可以满足大批量的前端摄像头的视频流同时抽帧,抽帧效率大大提高。因此抽帧服务器集群可以应用于大规模视频流抽帧,可根据应用规模进行动态扩容,扩展性较高。
在本实施例中,图片流是指多个视频帧存储于应用程序的传输管道中的形式。预设管道是指视频工具和切割程序之间的传输管道。可理解,为避免将视频帧直接落盘存储,可借助FFmpeg的管道流输出方式以将视频帧通过管道传输后续的工具或应用,视频帧无需保存成图片文件,进而不用写入硬盘中,有效提高了视频帧的传输效率。在该实施例中,图3是本申请实施例提供的将视频流转换成图片流的流程图。如图3所示,该将视频流转换成图片流的步骤具体包括S1101-S1102:
S1101、将每个视频帧的编码转换成便携式网络图形格式的二进制编码。
S1102、将多个视频帧的二进制编码放置于预设管道中,以得到图片流。
示例性的,FFmpeg的image2pipe功能可以指定FFmpeg抽取到的视频帧以管道流的方式输出。当使用image2pipe时,FFmpeg首先要将各个视频帧的编码转换成二进制编码,以便视频帧数据能够在管道里传输。便携式网络图形格式(PNG,Portable NetworkGraphics)是一种无损压缩算法的位图格式,保持视频帧在转换成二进制编码后图像分辨率保持不变,保证后续分析结果的准确性。进一步的,在将多个视频帧转换成二进制编码后,FFmpeg输出多个视频帧的二进制编码至FFmpeg与切割程序之间的管道中,以通过该管道将多个视频帧的二进制编码传输至切割程序。当FFmpeg输出多个视频帧的二进制编码时,相当于将多个视频帧的二进制编码放置于管道中时,多个视频帧的二进制编码在管道中形成了一串二进制数据流,二进制数据流通过管道输入切割程序。因此该二进制数据流即为本实施例中的图片流。
S120、通过切割程序从预设管道接收图片流,并将图片流划分成多个视频帧。
在本实施例中,切割程序是指用于对FFmpeg传输的图片流进行校验、分割和编码的处理程序,例如python程序。参考图2,抽帧服务器集群中配置有python程序,python程序与FFmpeg管道连接。FFmpeg在抽取到视频帧后,对视频帧进行二进制编码,并通过FFmpeg和python程序之间的管道,将多个视频帧的二进制编码传输至python程序。由于FFmpeg输出多个视频帧的二进制编码时,多个视频帧的二进制编码串成了一个二进制数据流,算法分析应用无法对二进制数据流进行直接处理,因此需通过切割程序将二进制数据流拆成各个视频帧的二进制编码,再将视频帧转换成算法分析应用可以处理的图片base64编码。
在一实施例中,图4是本申请实施例提供的切割程序处理图片流的流程图。如图4所示,切割程序处理图片流的步骤具体包括S1201-S1202:
S1201、根据便携式网络图像的数据格式,从图片流中提取视频帧的二进制编码。
示例性的,当视频帧的二进制编码为便携式网络图形格式时,视频帧的二进制编码由一个8字节的PNG文件署名域、多个按照特定结构组织的数据块以及结束块(IEND块)组成。其中,结束块是视频帧的二进制编码的最后一个数据块,其结构与数据块相同。可根据二进制数据流中各个字节存储的数据,从二进制数据流中提取出各个视频帧对应的便携式网络图形格式的二进制编码。
在该实施例中,图5是本申请实施例提供的从图片流中提取视频帧的二进制编码的流程图。如图5所述,该从图片流中提取视频帧的二进制编码的步骤具体包括S12011-S12013:
S12011、按照图片流的字节排列顺序,校验图片流中的签名信息。
S12012、在校验到图片流中的签名信息后,从图片流中提取多个数据块和结束块,数据块包括块长度、块类型、块数据和校验码。
S12013、在提取到结束块后,将签名信息、多个数据块和结束块确定为一个视频帧的二进制编码。
示例性的,python程序刚开始接收到FFmpeg传送的二进制数据流时,从二进制数据流的前八个字节中读取信息,并校验读取到的信息是否为PNG签名,在校验该信息为PNG签名后,读取完一张视频帧之前不再校验PNG签名。按照二进制数据流的字节排列顺序,往下读取4个字节的信息以得到PNG块长度,再往下读取4个字节的信息以得到PNG块类型。根据最新读取到的PNG块长度往下读取对应长度字节的信息以得到PNG块数据,例如,最新读取到的PNG块长度为8,则读取到PNG块类型后继续往下读取8个字节的信息以得到块数据。再往下读取4个字节的信息以得到CRC(循环冗余检验)校验码,直至完成对一个数据块的提取。循环上述提取数据块的操作,以提取到多个数据块。当提取到结束块时,表明一张视频帧的二进制编码提取完成,进而将提取到PNG签名、多个数据块和结束块组成一张视频帧的二进制编码。提取到一张视频帧的二进制编码后,按照上述同样的步骤继续从管道剩余的二进制数据流中提取下一张视频帧。
S1202、将视频帧的二进制编码转换为标准字符编码。
在本实施例中,标准字符编码即为图片base64编码,python从二进制数据流中提取到视频帧的二进制编码后,将视频帧转换为base64编码,以便算法分析应用获取到图片base64编码的视频帧后直接进行算法分析处理,提高算法分析效率。
S130、调用算法分析应用对视频帧进行分析处理,得到视频帧的分析结果。
示例性的,在python程序将视频帧转换为图片base64编码后,直接调用算法分析应用对视频帧进行分析处理,以得到各个视频帧的分析结果。视频帧从抽取到传输再到分析,全程都在各个应用程序之间传输,不用将视频帧写入硬盘以及再将视频帧从硬盘中读取,大大提高了视频帧的抽取、传输和分析效率。
在一实施例中,在切割程序和算法分析应用之间搭建分布式消息队列集群,以将切割程序作为分布式消息队列集群的生产者,将算法分析应用作为分布式消息队列集群的消费者。示例性的,通过切割程序可将视频帧的标准字符编码推送至分布式消息队列集群的各个类别中。参考图2,视频抽帧分析设备中的分布式消息队列集群采用kafka集群,kafka集群包括多个kafka节点。抽帧服务器集群中的多个python程序将对应视频帧的图片base64编码推送到kafka集群中,kafka节点接收python程序推送的图片base64编码,并将图片base64编码写入不同分区中,得到算法分析应用来消费各个kafka节点中的图片base64编码。进一步的,通过算法分析应用从分布式消息队列集群中获取视频帧,并对视频帧进行分析处理。参考图2,视频抽帧分析设备还设置有算法分析应用,不同的算法分析应用可以订阅kafka节点的不同分区,以调用各应用所有的分析服务,实现多样化的分析处理。而且多个算法分析应用可以运行在不同机器上监听着不同的分区,有利于提高视频帧分析效率。当python程序产生的图片base64编码数量较多时,图片base64编码会被缓存于kafka集群中,然后通过增加kafka集群的消费者来加快消费视频帧的速度,解决了决生产消息和消费消息的处理速度不一致的问题。
综上,本申请实施例提供的视频抽帧分析方法,通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个视频帧转换成图片流,并通过预设管道将图片流传输至切割程序;通过切割程序从预设管道接收图片流,并将图片流切割成多个视频帧;将切割程序作为分布式消息队列集群的生产者,将算法分析应用作为分布式消息队列集群的消费者,切割程序将视频帧缓存至分布式消息队列集群中,算法分析应用从分布式消息队列集群中获取视频帧,并对视频帧进行分析处理,得到视频帧的分析结果。通过上述技术手段,视频工具从视频流中抽取到视频帧后,通过应用之间的管道流传输方式,将视频帧传输至切割程序,视频帧无需以文件格式写入硬盘,省去了从硬盘中读取视频帧的过程,缩短了视频帧的传输时间,提高了视频抽帧效率和视频帧分析效率,在对视频帧进行分析后也无需对硬盘进行清理,避免反复寻址操作带来的磁盘损耗,延长磁盘的使用寿命。除此之外,通过分布式消息队列集群将切割程序和算法分析应用解耦,有助于动态调节服务器集群的节点数量,平衡生产视频帧和消费视频帧的处理速度,避免系统出现超负荷请求而完全崩溃的情况,提高系统的稳定性。
在上述实施例的基础上,图6为本申请实施例提供的一种视频抽帧分析装置的结构示意图。参考图6,本实施例提供的视频抽帧分析装置具体包括:管道传输模块21、视频帧切割模块22和视频帧分析模块23。
其中,管道传输模块,被配置为通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个视频帧转换成图片流,并通过预设管道将图片流传输至切割程序;
视频帧切割模块,被配置为通过切割程序从预设管道接收图片流,并将图片流划分成多个视频帧;
视频帧分析模块,被配置为调用算法分析应用对视频帧进行分析处理,得到视频帧的分析结果。
在上述实施例的基础上,管道传输模块包括:视频帧抽取单元,被配置为配置前端摄像头的视频流地址,通过所述视频工具根据预设的流媒体协议对所述视频流地址对应的视频流进行抽帧,得到所述视频帧。
在上述实施例的基础上,管道传输模块包括:第一编码单元,被配置为将每个视频帧的编码转换成便携式网络图形格式的二进制编码;管道传输单元,被配置为将多个视频帧的二进制编码放置于预设管道中,以得到图片流。
在上述实施例的基础上,视频帧切割模块包括:编码提取单元,被配置为根据便携式网络图像的数据格式,从图片流中提取视频帧的二进制编码;第二编码单元,被配置为将视频帧的二进制编码转换为标准字符编码。
在上述实施例的基础上,编码提取单元包括;签名校验子单元,被配置为按照图片流的字节排列顺序,校验图片流中的签名信息;数据块提取子单元,被配置为在校验到图片流中的签名信息后,从图片流中提取多个数据块和结束块,数据块包括块长度、块类型、块数据和校验码;组合子单元,被配置为在提取到结束块后,将签名信息、多个数据块和结束块确定为一个视频帧的二进制编码。
在上述实施例的基础上,视频帧切割模块还包括:视频帧推送单元,被配置为在将图片流划分成多个视频帧之后,通过切割程序将多个视频帧的标准字符编码推送至分布式消息队列集群中。
在上述实施例的基础上,视频帧分析模块包括:视频帧订阅单元,被配置为通过多个算法分析应用从分布式消息队列集群中获取多个视频帧,并对多个视频帧进行分析处理。
上述,本申请实施例提供的视频抽帧分析装置,通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个视频帧转换成图片流,并通过预设管道将图片流传输至切割程序;通过切割程序从预设管道接收图片流,并将图片流切割成多个视频帧;将切割程序作为分布式消息队列集群的生产者,将算法分析应用作为分布式消息队列集群的消费者,切割程序将视频帧缓存至分布式消息队列集群中,算法分析应用从分布式消息队列集群中获取视频帧,并对视频帧进行分析处理,得到视频帧的分析结果。通过上述技术手段,视频工具从视频流中抽取到视频帧后,通过应用之间的管道流传输方式,将视频帧传输至切割程序,视频帧无需以文件格式写入硬盘,省去了从硬盘中读取视频帧的过程,缩短了视频帧的传输时间,提高了视频抽帧效率和视频帧分析效率,在对视频帧进行分析后也无需对硬盘进行清理,避免反复寻址操作带来的磁盘损耗,延长磁盘的使用寿命。除此之外,通过分布式消息队列集群将切割程序和算法分析应用解耦,有助于动态调节服务器集群的节点数量,平衡生产视频帧和消费视频帧的处理速度,避免系统出现超负荷请求而完全崩溃的情况,提高系统的稳定性。
本申请实施例提供的视频抽帧分析装置可以用于执行上述实施例提供的视频抽帧分析方法,具备相应的功能和有益效果。
图7是本申请实施例提供的一种视频抽帧分析设备的结构示意图,参考图7,该视频抽帧分析设备包括:处理器31、存储器32、通信装置33、输入装置34及输出装置35。该视频抽帧分析设备中处理器31的数量可以是一个或者多个,该视频抽帧分析设备中的存储器32的数量可以是一个或者多个。该视频抽帧分析设备的处理器31、存储器32、通信装置33、输入装置34及输出装置35可以通过总线或者其他方式连接。
存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例的视频抽帧分析方法对应的程序指令/模块(例如,视频抽帧分析装置中的管道传输模块21、视频帧切割模块22和视频帧分析模块23)。存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信装置33用于进行数据传输。
处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的视频抽帧分析方法。
输入装置34可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。
上述提供的视频抽帧分析设备可用于执行上述实施例提供的视频抽帧分析方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种视频抽帧分析方法,该视频抽帧分析方法包括:通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个视频帧转换成图片流,并通过预设管道将图片流传输至切割程序;通过切割程序从预设管道接收图片流,并将图片流切割成多个视频帧;调用算法分析应用对视频帧进行分析处理,得到视频帧的分析结果。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的视频抽帧分析方法,还可以执行本申请任意实施例所提供的视频抽帧分析方法中的相关操作。
上述实施例中提供的视频抽帧分析装置、视频抽帧分析系统、存储介质及视频抽帧分析设备可执行本申请任意实施例所提供的视频抽帧分析方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的视频抽帧分析方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (10)
1.一种视频抽帧分析方法,其特征在于,包括:
通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个所述视频帧转换成图片流,并通过预设管道将所述图片流传输至切割程序;
通过所述切割程序从所述预设管道接收所述图片流,并将所述图片流切割成多个所述视频帧;
调用算法分析应用对所述视频帧进行分析处理,得到所述视频帧的分析结果。
2.根据权利要求1所述的视频抽帧分析方法,其特征在于,所述通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,包括:
配置前端摄像头的视频流地址,通过所述视频工具根据预设的流媒体协议对所述视频流地址对应的视频流进行抽帧,得到所述视频帧。
3.根据权利要求1所述的视频抽帧分析方法,其特征在于,所述将多个所述视频帧转换成图片流,包括:
将每个所述视频帧的编码转换成便携式网络图形格式的二进制编码;
将多个所述视频帧的二进制编码放置于所述预设管道中,以得到所述图片流。
4.根据权利要求3所述的视频抽帧分析方法,其特征在于,所述将所述图片流切割成多个所述视频帧,包括:
根据便携式网络图像的数据格式,从所述图片流中提取所述视频帧的二进制编码;
将所述视频帧的二进制编码转换为标准字符编码。
5.根据权利要求4所述的视频抽帧分析方法,其特征在于,所述根据便携式网络图像的数据格式,从所述图片流中提取所述视频帧的二进制编码,包括:
按照所述图片流的字节排列顺序,校验所述图片流中的签名信息;
在校验到所述图片流中的签名信息后,从所述图片流中提取多个数据块和结束块,所述数据块包括块长度、块类型、块数据和校验码;
在提取到所述结束块后,将所述签名信息、多个所述数据块和所述结束块确定为一个所述视频帧的二进制编码。
6.根据权利要求4所述的视频抽帧分析方法,其特征在于,在所述将所述图片流划分成多个所述视频帧之后还包括:
通过所述切割程序将所述视频帧的标准字符编码推送至分布式消息队列集群中。
7.根据权利要求6所述的视频抽帧分析方法,其特征在于,所述调用算法分析应用对所述视频帧进行分析处理,包括:
通过所述算法分析应用从所述分布式消息队列集群中获取所述视频帧,并对所述视频帧进行分析处理。
8.一种视频抽帧分析装置,其特征在于,包括:
管道传输模块,被配置为通过视频工具基于视频流地址从对应视频流中抽取多个视频帧,将多个所述视频帧转换成图片流,并通过预设管道将所述图片流传输至切割程序;
视频帧切割模块,被配置为通过所述切割程序从所述预设管道接收所述图片流,并将所述图片流切割成多个所述视频帧;
视频帧分析模块,被配置为调用算法分析应用对所述视频帧进行分析处理,得到所述视频帧的分析结果。
9.一种视频抽帧分析设备,其特征在于,包括:一个或多个处理器;存储装置,存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的视频抽帧分析方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一所述的视频抽帧分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480492.XA CN115866331A (zh) | 2022-11-23 | 2022-11-23 | 视频抽帧分析方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480492.XA CN115866331A (zh) | 2022-11-23 | 2022-11-23 | 视频抽帧分析方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115866331A true CN115866331A (zh) | 2023-03-28 |
Family
ID=85665708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211480492.XA Pending CN115866331A (zh) | 2022-11-23 | 2022-11-23 | 视频抽帧分析方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115866331A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117274781A (zh) * | 2023-11-21 | 2023-12-22 | 成都合能创越软件有限公司 | 基于双管道信息交错车载实时检测方法及系统 |
-
2022
- 2022-11-23 CN CN202211480492.XA patent/CN115866331A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117274781A (zh) * | 2023-11-21 | 2023-12-22 | 成都合能创越软件有限公司 | 基于双管道信息交错车载实时检测方法及系统 |
CN117274781B (zh) * | 2023-11-21 | 2024-04-16 | 成都合能创越软件有限公司 | 基于双管道信息交错车载实时检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300056B (zh) | 一种实时响应式api网关及其请求处理方法 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
CN115460414B (zh) | 一种基板管理控制芯片的视频压缩方法、系统及相关组件 | |
CN104053015A (zh) | 一种传输媒体数据的方法及虚拟桌面服务器 | |
CN113489789B (zh) | 云游戏耗时数据的统计方法、装置、设备及存储介质 | |
CN111949850A (zh) | 多源数据的采集方法、装置、设备及存储介质 | |
CN111694866A (zh) | 数据搜索及存储方法、数据搜索系统、装置、设备及介质 | |
CN115866331A (zh) | 视频抽帧分析方法、装置、设备及存储介质 | |
CN112835930A (zh) | 一种数据库的查询方法及设备 | |
CN113391973A (zh) | 一种物联网云容器日志收集方法及装置 | |
WO2019047663A1 (zh) | 一种基于视频格式的端到端自动驾驶数据的存储方法及装置 | |
CN107423188B (zh) | 日志处理方法及设备 | |
CN111930385A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN115549862B (zh) | 基于动态解析的mes系统并发性能测试数据接收方法 | |
CN107846328B (zh) | 基于并发无锁环形队列的网络速率实时统计方法 | |
CN110740138A (zh) | 数据传输方法和装置 | |
CN113992948A (zh) | 一种基于云平台的视频管理系统、方法和装置 | |
CN114168445A (zh) | 一种日志分析方法、装置、系统及可读存储介质 | |
CN111447490A (zh) | 流媒体文件处理方法及装置 | |
CN102768841B (zh) | 在线网络flash前端录制视频的方法及flash前端 | |
CN110941490A (zh) | 一种基于云计算的医学图像处理的方法 | |
CN112203113B (zh) | 视频流结构化方法、装置、电子设备和计算机可读介质 | |
CN115086188B (zh) | 一种图形运维回放方法、装置及电子设备 | |
CN112131423A (zh) | 图片获取方法、装置及系统 | |
CN114449052B (zh) | 一种数据压缩方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |