CN114697705A - 视频流对象处理方法、装置、视频流处理***、电子设备 - Google Patents
视频流对象处理方法、装置、视频流处理***、电子设备 Download PDFInfo
- Publication number
- CN114697705A CN114697705A CN202011596589.8A CN202011596589A CN114697705A CN 114697705 A CN114697705 A CN 114697705A CN 202011596589 A CN202011596589 A CN 202011596589A CN 114697705 A CN114697705 A CN 114697705A
- Authority
- CN
- China
- Prior art keywords
- processing
- task
- list
- video stream
- task processing
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000000605 extraction Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 9
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000000391 smoking effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种视频流对象处理方法、装置、视频流处理***、电子设备及存储介质,方法包括:获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;根据所述第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。本发明实施例能够提高视频流数据的处理速度,从而减少视频流数据的处理时间。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种视频流对象处理方法、装置、视频流处理***、电子设备及存储介质。
背景技术
随着人工智能技术的发展,基于视频流数据的人脸、人体、车辆等的对象智能分析识别技术越来越广泛地应用于各个领域当中,例如行为分析(加油站抽烟,打电话,人员不戴口罩,商贩摆摊占道等)、车辆分析(长时间违停)等场景。
在基于视频流数据分析的过程中,存在许多瓶颈,首先,由于网络带宽的限制,智能分析识别设备无法同时承受大量的视频流接入和分析处理;其次,由于视频编解码任务本身非常消耗资源,使用单服务器资源、单进程或单线程的处理模式会导致视频流数据的处理速度较慢,且大量的视频处理任务会对任务的调度有较高的要求,而通常都是使用单独线程对任务进行定时扫描后遍历任务对象,将达到时间的任务进行处理,当任务量大时,这种方法消耗的时间较多,从而导致视频流数据的处理时间变长。
发明内容
本发明实施例提供一种视频流对象处理方法,能够提高视频流数据处理的速度,进而减少视频流数据的处理时间。
第一方面,本发明实施例提供一种视频流对象处理方法,包括以下步骤:
获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;
根据所述第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;
基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。
可选的,所述任务列表包括调度时间轴、第一子列表和第二子列表,所述第一子列表在所述调度时间轴上位于所述第二子列表之前。
可选的,所述根据所述第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表包括:
如果所述第一处理时间、第二处理时间、第三处理时间中有小于预设时间阈值的,则将对应的任务处理对象添加到所述第一子列表;
如果所述第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到所述第二子列表。
可选的,所述第二子列表至少包括一条列表,所述如果所述第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到所述第二子列表包括:
获取所述处理时间与所述预设时间阈值的差值;
如果所述差值大于零,则根据所述差值将对应的任务处理对象按所述差值添加到所述列表。
可选的,所述基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发包括:
从所述第二子列表中获取处理时间最小的任务处理对象,并转存到所述第一子列表;
从所述第一子列表中获取处理时间最小的任务处理对象,并分发到待处理任务队列;
重复上述步骤,直到所述第二子列表中的最后一个任务处理对象。
可选的,所述从所述第二子列表中获取处理时间最小的任务处理对象,并转存到所述第一子列表包括:
遍历所述第二子列表的各条列表,获取各条列表中处理时间最小的任务处理对象;
从得到的任务处理对象中获取处理时间最小的一个并转存到所述第一子列表。
第二方面,本发明实施例提供一种视频流对象处理装置,包括:
获取和分解模块,用于获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;
添加模块,用于根据所这第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;
分发模块,用于基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。
第三方面,本发明实施例提供一种视频流处理***,包括:视频流接入模块、所述的视频流对象处理装置、视频流抽帧模块以及图像处理模块,其中所述视频流接入模块用于获取并缓存原始视频流数据,所述视频流对象处理装置执行所述的视频流对象处理方法,从所述视频流接入模块中获取视频流对象并进行视频流对象处理任务的分解,然后向所述视频流抽帧模块分发视频流处理任务;所述视频流抽帧模块根据所述视频流处理任务对所述视频流数据进行读取、解封装、解码后抽帧处理,并将获得的图像帧输入到所述图像处理模块进行相应的图像处理。
第四方面,本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的视频流对象处理方法中的步骤。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现发明实施例提供的视频流对象处理方法中的步骤。
本发明实施例中,获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;根据所这第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。通过对视频流对象的处理任务进行分解,得到对应的任务处理对象,再根据任务处理对象的处理时间将任务处理对象添加到一个任务列表进行统一的分发调度,能够提高视频流数据的处理速度,从而减少视频流数据的处理时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频流对象处理方法的流程图;
图2是本发明实施例提供的一种任务添加方法的流程图;
图3是本发明实施例提供的另一种任务添加方法的流程图;
图4是本发明实施例提供的任务处理对象分发方法的流程图;
图5是本发明实施例提供的任务处理对象转存方法的流程图;
图6是本发明实施例提供的一种视频流对象处理装置的结构示意图;
图7是本发明实施例提供的一种任务添加装置的结构示意图;
图8是本发明实施例提供的另一种任务添加装置的结构示意图;
图9是本发明实施例提供的一种任务处理对象分发装置的结构示意图;
图10是本发明实施例提供的获取和转存模块的结构示意图;
图11是本发明实施例提供的一种视频流处理***的结构示意图;
图12是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1是本发明实施例提供的一种视频流对象处理方法的流程图,如图1所示,包括以下步骤:
101、获取视频流对象,将视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象。
上述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间。
在本发明实施例中,上述视频流对象可以是从视频流数据中获取的对应的视频信息,如可以对视频流数据进行初步解析,获取视频流数据的大小、存储位置、编码格式等信息作为上述视频流对象。上述视频流数据可以通过带有摄像功能的设备获取,如可以通过交通探头、电脑摄像头、手机摄像头等自动实时获取,也可以通过其他可视化界面如GUI(图形用户界面)或者WEB网页、命令行等方式从网络上获取,然后存储到本地磁盘或内存中。进而可以从本地获取上述视频流数据并进行解析,得到上述视频流对象,然后根据业务抽帧的需求来对上述视频流对象对应的视频流数据进行抽帧处理。
具体地,抽帧处理过程包括解封装、解码和抽帧三个步骤,上述抽帧处理过程可以以任务处理的形式进行分解,得到每个步骤对应的任务处理对象,即得到对应上述解封装的第一任务处理对象、对应上述解码的第二任务处理对象、对应上述抽帧的第三任务处理对象,上述一个任务处理对象还包括任务标识、数据读取地址,上述任务标识即上述解封装、解码和抽帧任务中的一个,数据读取地址表示任务被执行时获取数据的位置;然后根据上述每种任务处理对象以多进程或多线程的方式独立、并行地读取视频流数据并进行相应的处理,即为每种任务处理对象分别开启一个对应的进程或线程来异步地进行数据处理。
其中,上述一个任务处理对象还包括一个对应的处理时间,即上述第一处理时间、第二处理时间、第三处理时间中的一个,用来标识对应的任务处理的紧急程度,若上述处理时间越小,则说明对应的任务处理越紧急,则对应的任务处理对象优先进行调度执行。例如,当一个视频流数据较大时,可以将数据分成多段再对每段数据进行抽帧处理,这样每段视频流数据都会有对应的上述解封装的第一任务处理对象、解码的第二任务处理对象、抽帧的第三任务处理对象,则整个视频流数据的抽帧过程会产生大量的上述任务处理对象,包括对应多个上述第一处理时间、第二处理时间、第三处理时间,其中处理时间最小的任务处理对象优先被调度和执行,进行相应的数据处理,如某段数据的第二任务处理对象的第二处理时间在所有的处理时间中最小,则根据该第二任务处理对象中的信息调度解码线程读取待解码的数据后执行数据解码,得到解码后的数据。
对视频流对象的抽帧处理过程进行任务分解,并通过多进程或多线程来异步、并发地进行各个任务的处理,能够提高视频流数据的处理速度,减少视频流数据处理时间。
102、根据第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表。
在本发明实施例中,上述任务列表包括调度时间轴、第一子列表和第二子列表,其中,上述调度时间轴包括至少一个例行处理时间T,上述例行处理时间T用来表示上述任务处理对象的调度时间周期,即在上述调度时间轴上每隔一个上述例行处理时间T,就进行一次上述任务处理对象的调度,即优先从上述第一子列表中获取待调度的任务处理对象,并从上述步骤101中对视频流数据处理任务的分解中获取新的任务处理对象后添加到上述第一子列表或第二子列表,从而实现周期性地对上述视频流数据的所有处理任务进行调度。上述第一子列表用来存储处理任务中较为紧急的上述任务处理对象,上述第二子列表则用来存储处理任务中较为不紧急的上述任务处理对象,上述第一子列表在上述调度时间轴上位于上述第二子列表之前,表示上述第一子列表中的任务处理对象先于上述第二子列表中的任务处理对象被调度,且上述第二子列表中的所有任务处理对象可以根据对应的处理时间在上述调度时间轴上作进一步的紧急度区分,越不紧急的任务处理对象在上述调度时间轴上间隔越多的上述例行处理时间T。
可选的,请参见图2,图2是本发明实施例提供的一种任务添加方法的流程图,如图2所示,上述根据第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表具体包括:
201、如果第一处理时间、第二处理时间、第三处理时间中有小于预设时间阈值的,则将对应的任务处理对象添加到第一子列表。
在本发明实施例中,上述第一子列表用来存储视频流数据处理任务中较为紧急的任务处理对象,可以是上述第一任务处理对象、第二任务处理对象、第三任务处理对象中的任一个或多个,具体可以通过各个任务处理对象中的上述处理时间与上述预设时间阈值t进行比较,例如,如果上述任务处理对象中的第一处理时间、第二处理时间、第三处理时间中有小于上述预设时间阈值t的,如0.5t,则对应地将上述第一任务处理对象、第二任务处理对象、第三任务处理对象添加到上述第一子列表,具体的可以依次***上述第一子列表的链表节点中的数据域。
202、如果第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到第二子列表。
在本发明实施例中,上述第二子列表用来存储视频流数据处理任务中相对不紧急的任务处理对象,可以是上述第一任务处理对象、第二任务处理对象、第三任务处理对象中的任一个或多个,具体可以通过各个任务处理对象中的上述处理时间与上述预设时间阈值t进行比较,例如,如果上述任务处理对象中的第一处理时间、第二处理时间、第三处理时间中有大于(包括等于)上述预设时间阈值t的,如t、2t等,则对应地将上述第一任务处理对象、第二任务处理对象、第三任务处理对象添加到上述第二子列表,具体的可以依次***上述第二子列表的链表节点中的数据域。
可选的,上述第二子列表至少包括一条列表,请参见图3,图3是本发明实施例提供的另一种任务添加方法的流程图,如图3所示,上述如果第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到第二子列表包括:
301、获取处理时间与预设时间阈值的差值。
在本发明实施例中,可以将上述第一任务处理对象、第二任务处理对象、第三任务处理对象各自的处理时间,即第一处理时间、第二处理时间、第三处理时间,分别与上述预设时间阈值进行比较,并求得对应的差值。
302、如果差值大于零,则根据差值将对应的任务处理对象按差值添加到列表。
在本发明实施例中,通过步骤301可以获得上述第一任务处理对象、第二任务处理对象、第三任务处理对象的处理时间与上述预设时间阈值的差值,若果差值大于零,进一步的计算对应的处理时间与上述预设时间阈值的倍数,并将上述倍数作为偏移量将对应的任务处理对象偏移到上述第二子列表对应的列表中。
具体的,上述列表可以用链表的数据结构实现,链表是一种在物理存储单元上非连续、非顺序的存储结构,链表由一系列节点组成,每个节点包括两个部分:一个是存储数据的数据域,另一个是存储下一个节点地址的指针域;节点可以在运行时根据需要动态生成,并添加到链表的尾部。链表节点的访问逻辑是通过链表指针域中的指针实现的,即通过指针指向的地址去访问其他节点。上述第一子列表和第二子列表可以包括一条或多条上述链表(即上述列表)。例如,上述第二子列表可以包括3条上述链表,可以在上述第二子列表的内部记录每条链表的链表头(即对应链表的入口节点)并标记次序,即第1链表、第2链表、第3链表,上述第一子列表也可以如此操作;然后将上述处理时间与上述预设时间阈值的倍数小于1的任务处理对象存入上述第一子列表的第1链表,将上述倍数为1到2(包括1)的任务处理对象存入上述第二子列表的第1链表,将上述倍数为2到3的任务处理对象存入上述第二子列表的第2链表,将上述倍数为3到4的任务处理对象存入上述第二子列表的第3链表,依次类推,以便于上述第二子列表将本子列表中的所有任务处理对象根据对应的处理时间在上述调度时间轴上进行排列,上述第二子列表的第1链表到第3条链之间在上述调度时间轴上间隔两个上述预设时间阈值t,上述预设时间阈值t不小于上述例行处理时间T,如t=2T。
103、基于任务列表,对第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。
在本发明实施例中,首先可以遍历上述任务列表的第二子列表,从第二子列表中获取处理时间最小的任务处理对象,并转存到上述第一子列表;然后从上述第一子列表中获取处理时间最小的任务处理对象后分发到待处理任务队列,上述待处理任务队列包括按时间从小到大排好序的任务处理对象,其中时间最小的是即将要进行任务处理的;最后重复上述步骤,直到上述第二子列表中的最后一个任务处理对象被分发到上述待处理任务队列,则上述视频流数据处理的全部任务调度结束。
可选的,请参见图4,图4是本发明实施例提供的一种任务处理对象分发方法的流程图,如图4所示,上述基于所述任务列表,对上述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发包括:
401、从第二子列表中获取处理时间最小的任务处理对象,并转存到第一子列表。
在本发明实施例中,首先可以遍历上述任务列表的第二子列表,从第二子列表中获取处理时间最小的任务处理对象后转存到上述第一子列表;
可选的,请参见图5,图5是本发明实施例提供的一种任务处理对象转存方法的流程图,如图5所示,上述从第二子列表中获取处理时间最小的任务处理对象,并转存到第一子列表包括:
501、遍历第二子列表的各条列表,获取各条列表中处理时间最小的任务处理对象;
502、从得到的任务处理对象中获取处理时间最小的一个并转存到第一子列表。
在本发明实施例中,可以通过依次遍历上述第二子列表中的列表(即链表),从上述列表中的每个节点的数据域获取上述任务处理对象,然后将所有上述任务处理对象对应的处理时间进行排序,并将其中处理时间最小的任务处理对象转存到上述第一子列表的链表中。
402、从第一子列表中获取处理时间最小的任务处理对象,并分发到待处理任务队列。
在本发明实施例中,可以通过遍历上述第一子列表中的链表,从中获取每个节点的数据域然后获取对应的任务处理对象,将所有上述任务处理对象的处理时间进行排序,并将其中处理时间最小的任务处理对象转存到上述待处理任务队列中,上述待处理任务队列包括按时间从小到大排好序的任务处理对象;上述待处理任务队列具体可以通过FIFO(先进先出)的数据结构实现,即先进入队列的任务处理对象先被取出,并进行解析后调用相应的线程进行数据处理,如解码任务处理对象被解析后,获得待解码数据的存储位置、大小、编码方式等信息,从而根据这些信息调用相应的解码线程进行视频流数据的解码。
403、重复上述步骤,直到所述第二子列表中的最后一个任务处理对象。
在本发明实施例中,通过上述步骤401、402对上述任务列表中的第一子列表、第二子列表的任务处理对象进行转存和分发处理,重复上述步骤401、402,直到上述第二子列表中的最后一个任务处理对象被转存到上述第一子列表,则表示上述视频流数据处理的全部任务调度结束然后被分发到上述待处理任务队列进行处理,则表示上述视频流数据处理的全部任务调度结束,当上述待处理任务队列中的最后一个任务处理对象被取出解析,则说明上述视频流数据的处理结束。
综上所述,通过对视频流对象的处理任务进行分解,得到大量对应的任务处理对象,再根据任务处理对象的处理时间将所有任务处理对象添加到一个任务列表进行统一的分发调度,然后每个任务处理对象被对应的线程异步、并发地执行,提高了视频流数据的处理速度,从而减少视频流数据的处理时间。
需要说明的是,本发明实施例提供的视频流对象处理方法可以应用于可以进行视频流对象处理的手机、监控器、计算机、服务器等设备。
请参见图6,图6是本发明实施例提供的一种视频流对象处理装置的结构示意图,如图6所示,所述装置600包括:
获取和分解模块601,用于获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;
添加模块602,用于根据所这第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;
分发模块603,用于基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。
可选的,如图7所示,图7是本发明实施例提供的一种第一任务添加装置的结构示意图,上述第一任务添加装置700包括:
第一任务添加模块701,用于如果第一处理时间、第二处理时间、第三处理时间中有小于预设时间阈值的,则将对应的任务处理对象添加到第一子列表;
第二任务添加模块702,用于如果第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到第二子列表。
可选的,上述第二子列表至少包括一条列表,如图8所示,图8是本发明实施例提供的一种第二任务添加装置的结构示意图,上述第二任务添加装置800包括:
获取模块801,用于获取处理时间与预设时间阈值的差值;
添加模块802,用于如果差值大于零,则根据差值将对应的任务处理对象按差值添加到列表。
可选的,请参见图9,图9是本发明实施例提供的一种任务处理对象分发装置的结构示意图,如图9所示,上述任务处理对象分发装置900包括:
获取和转存模块901,用于从第二子列表中获取处理时间最小的任务处理对象,并转存到第一子列表;
获取和分发模块902,用于从第一子列表中获取处理时间最小的任务处理对象,并分发到待处理任务队列;
重复模块903,用于重复上述步骤,直到所述第二子列表中的最后一个任务处理对象。
可选的,请参见图10,图10是本发明实施例提供的获取和转存模块的结构示意图,如图10所示,上述获取和转存模块901包括:
获取子模块9011,用于遍历第二子列表的各条列表,获取各条列表中处理时间最小的任务处理对象;
转存子模块9012,用于从得到的任务处理对象中获取处理时间最小的一个并转存到第一子列表。
需要说明的是,本发明实施例提供的视频流对象处理装置可以应用于可以进行视频流对象处理的手机、监控器、计算机、服务器等设备。
本发明实施例提供的视频流对象处理装置能够实现上述方法实施例中视频流对象处理方法实现的各个过程,且可以达到相同的有益效果。为避免重复,这里不再赘述。
参见图11,图11是本发明实施例提供的一种视频流处理***的结构示意图,如图11所示,上述视频流处理***1100包括:视频流接入模块1101、上述的视频流对象处理装置600、视频流抽帧模块1102以及图像处理模块1103,其中,上述视频流接入模块1101用于获取并缓存原始视频流数据,上述视频流对象处理装置600执行上述的视频流对象处理方法,从上述视频流接入模块1101中获取视频流对象并进行视频流对象处理任务的分解,然后向上述视频流抽帧模块1102分发视频流处理任务;上述视频流抽帧模块1102根据上述视频流处理任务对上述视频流数据进行读取、解封装、解码后抽帧处理,并将获得的图像帧输入到上述图像处理模块1103进行相应的图像处理。
通过上述视频流对象处理装置600对视频流接入模块1101获取的视频流数据对象的处理任务进行分解,得到大量对应解封装、解码和抽帧任务的任务处理对象,再根据任务处理对象的处理时间将所有任务处理对象添加到一个任务列表进行统一的分发调度,然后每个任务处理对象被上述视频流抽帧模块1102中对应的线程异步、并发地执行,实现相应的数据处理过程,提高了视频流数据的处理速度,从而减少视频流数据的处理时间;最后将从上述视频流抽帧模块1102中抽帧得到的图像帧输入到上述图像处理模块1103进行图像处理,从而通过上述结构化处理过程将视频流转换为图片流,有效地减少了带宽的占用和计算资源的消耗。
参见图12,图12是本发明实施例提供的一种电子设备的结构示意图,如图12所示,包括:存储器1202、处理器1201及存储在所述存储器1202上并可在所述处理器1201上运行的计算机程序,其中:
处理器1201用于调用存储器1202存储的计算机程序,执行如下步骤:
获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;
根据所述第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;
基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。
可选的,处理器1201执行的所述根据所述第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表包括:
如果所述第一处理时间、第二处理时间、第三处理时间中有小于预设时间阈值的,则将对应的任务处理对象添加到所述第一子列表;
如果所述第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到所述第二子列表。
可选的,所述第二子列表至少包括一条列表,处理器1201执行的所述如果所述第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到所述第二子列表包括:
获取所述处理时间与所述预设时间阈值的差值;
如果所述差值大于零,则根据所述差值将对应的任务处理对象按所述差值添加到所述列表。
可选的,处理器1201执行的所述基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发包括:
从所述第二子列表中获取处理时间最小的任务处理对象,并转存到所述第一子列表;
从所述第一子列表中获取处理时间最小的任务处理对象,并分发到待处理任务队列;
重复上述步骤,直到所述第二子列表中的最后一个任务处理对象。
可选的,处理器1201执行的所述从所述第二子列表中获取处理时间最小的任务处理对象,并转存到所述第一子列表包括:
遍历所述第二子列表的各条列表,获取各条列表中处理时间最小的任务处理对象;
从得到的任务处理对象中获取处理时间最小的一个并转存到所述第一子列表。
需要说明的是,上述电子设备可以是可以应用于可以进行视频流对象处理的手机、监控器、计算机、服务器等设备。
本发明实施例提供的电子设备能够实现上述方法实施例中视频流对象处理方法实现的各个过程,且可以达到相同的有益效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的视频流对象处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,简称RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种视频流对象处理方法,其特征在于,包括以下步骤:
获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;
根据所述第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;
基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。
2.如权利要求1所述的方法,其特征在于,所述任务列表包括调度时间轴、第一子列表和第二子列表,所述第一子列表在所述调度时间轴上位于所述第二子列表之前。
3.如权利要求2所述的方法,其特征在于,所述根据所述第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表包括:
如果所述第一处理时间、第二处理时间、第三处理时间中有小于预设时间阈值的,则将对应的任务处理对象添加到所述第一子列表;
如果所述第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到所述第二子列表。
4.如权利要求3所述的方法,其特征在于,所述第二子列表至少包括一条列表,所述如果所述第一处理时间、第二处理时间、第三处理时间中有大于预设时间阈值的,则将对应的任务处理对象添加到所述第二子列表包括:
获取所述处理时间与所述预设时间阈值的差值;
如果所述差值大于零,则根据所述差值将对应的任务处理对象按所述差值添加到所述列表。
5.如权利要求4所述的方法,其特征在于,所述基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发包括:
从所述第二子列表中获取处理时间最小的任务处理对象,并转存到所述第一子列表;
从所述第一子列表中获取处理时间最小的任务处理对象,并分发到待处理任务队列;
重复上述步骤,直到所述第二子列表中的最后一个任务处理对象。
6.如权利要求5所述的方法,其特征在于,所述从所述第二子列表中获取处理时间最小的任务处理对象,并转存到所述第一子列表包括:
遍历所述第二子列表的各条列表,获取各条列表中处理时间最小的任务处理对象;
从得到的任务处理对象中获取处理时间最小的一个并转存到所述第一子列表。
7.一种视频流对象处理装置,其特征在于,包括:
获取和分解模块,用于获取视频流对象,将所述视频流对象的处理任务进行分解,得到第一任务处理对象、第二任务处理对象、第三任务处理对象,所述第一任务处理对象包括第一处理时间、第二任务处理对象包括第二处理时间、第三任务处理对象包括第三处理时间;
添加模块,用于根据所这第一处理时间、第二处理时间、第三处理时间,将所述第一任务处理对象、第二任务处理对象、第三任务处理对象分别添加到任务列表;
分发模块,用于基于所述任务列表,对所述第一任务处理对象、第二任务处理对象、第三任务处理对象进行分发。
8.一种视频流处理***,其特征在于,包括:视频流接入模块、如权利要求7所述的视频流对象处理装置、视频流抽帧模块以及图像处理模块,其中所述视频流接入模块用于获取并缓存原始视频流数据,所述视频流对象处理装置执行如权利要求1至6任一项所述的视频流对象处理方法,从所述视频流接入模块中获取视频流对象并进行视频流对象处理任务的分解,然后向所述视频流抽帧模块分发视频流处理任务;所述视频流抽帧模块根据所述视频流处理任务对所述视频流数据进行读取、解封装、解码后抽帧处理,并将获得的图像帧输入到所述图像处理模块进行相应的图像处理。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的视频流对象处理方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的视频流对象处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596589.8A CN114697705B (zh) | 2020-12-29 | 2020-12-29 | 视频流对象处理方法、装置、视频流处理***、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011596589.8A CN114697705B (zh) | 2020-12-29 | 2020-12-29 | 视频流对象处理方法、装置、视频流处理***、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114697705A true CN114697705A (zh) | 2022-07-01 |
CN114697705B CN114697705B (zh) | 2024-03-22 |
Family
ID=82131492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011596589.8A Active CN114697705B (zh) | 2020-12-29 | 2020-12-29 | 视频流对象处理方法、装置、视频流处理***、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114697705B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134328A (zh) * | 2022-07-22 | 2022-09-30 | 平安银行股份有限公司 | 角标的配置方法、装置、计算机设备及可读存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182120B1 (en) * | 1997-09-30 | 2001-01-30 | International Business Machines Corporation | Method and system for scheduling queued messages based on queue delay and queue priority |
CN101261592A (zh) * | 2007-03-07 | 2008-09-10 | 国际商业机器公司 | 用于对任务请求进行调度的方法和设备 |
KR20100060408A (ko) * | 2008-11-27 | 2010-06-07 | 한국전자통신연구원 | 멀티프로세서를 이용한 동영상 디코딩 장치 및 그 장치에서의 동영상 디코딩 방법 |
CN104133724A (zh) * | 2014-04-03 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 并发任务调度方法及装置 |
CN104159142A (zh) * | 2014-08-06 | 2014-11-19 | 乐视网信息技术(北京)股份有限公司 | 一种设备的视频软解码方法和装置 |
CN104581423A (zh) * | 2013-10-12 | 2015-04-29 | 北京航天长峰科技工业集团有限公司 | 一种海量视频智能分析***的综合调度和负载均衡方法 |
US20160036886A1 (en) * | 2014-07-31 | 2016-02-04 | Istreamplanet Co. | Method and system for coordinating stream processing at a video streaming platform |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
CN110196775A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 一种计算任务处理方法、装置、设备以及可读存储介质 |
CN110213636A (zh) * | 2018-04-28 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 在线视频的视频帧生成方法、装置、存储介质及设备 |
CN111327921A (zh) * | 2018-12-17 | 2020-06-23 | 深圳市炜博科技有限公司 | 视频数据处理方法及设备 |
US20200334847A1 (en) * | 2019-04-22 | 2020-10-22 | Hongfujin Precision Electronics(Tianjin)Co.,Ltd. | Image recognition device and method for recognizing images |
CN111866525A (zh) * | 2020-09-23 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 多视点视频的播放控制方法及装置、电子设备、存储介质 |
CN112114973A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
-
2020
- 2020-12-29 CN CN202011596589.8A patent/CN114697705B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182120B1 (en) * | 1997-09-30 | 2001-01-30 | International Business Machines Corporation | Method and system for scheduling queued messages based on queue delay and queue priority |
CN101261592A (zh) * | 2007-03-07 | 2008-09-10 | 国际商业机器公司 | 用于对任务请求进行调度的方法和设备 |
KR20100060408A (ko) * | 2008-11-27 | 2010-06-07 | 한국전자통신연구원 | 멀티프로세서를 이용한 동영상 디코딩 장치 및 그 장치에서의 동영상 디코딩 방법 |
CN104581423A (zh) * | 2013-10-12 | 2015-04-29 | 北京航天长峰科技工业集团有限公司 | 一种海量视频智能分析***的综合调度和负载均衡方法 |
CN104133724A (zh) * | 2014-04-03 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 并发任务调度方法及装置 |
US20160321104A1 (en) * | 2014-04-03 | 2016-11-03 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for scheduling concurrent task |
US20160036886A1 (en) * | 2014-07-31 | 2016-02-04 | Istreamplanet Co. | Method and system for coordinating stream processing at a video streaming platform |
CN104159142A (zh) * | 2014-08-06 | 2014-11-19 | 乐视网信息技术(北京)股份有限公司 | 一种设备的视频软解码方法和装置 |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
CN110213636A (zh) * | 2018-04-28 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 在线视频的视频帧生成方法、装置、存储介质及设备 |
CN111327921A (zh) * | 2018-12-17 | 2020-06-23 | 深圳市炜博科技有限公司 | 视频数据处理方法及设备 |
US20200334847A1 (en) * | 2019-04-22 | 2020-10-22 | Hongfujin Precision Electronics(Tianjin)Co.,Ltd. | Image recognition device and method for recognizing images |
CN110196775A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 一种计算任务处理方法、装置、设备以及可读存储介质 |
CN111866525A (zh) * | 2020-09-23 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 多视点视频的播放控制方法及装置、电子设备、存储介质 |
CN112114973A (zh) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
吴宁;罗安;雷震;: "基于流媒体技术的智能视频监视***", 自动化仪表, no. 07 * |
周艳;: "基于LLF算法的双队列TinyOS调度策略", 辽东学院学报(自然科学版), no. 04 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134328A (zh) * | 2022-07-22 | 2022-09-30 | 平安银行股份有限公司 | 角标的配置方法、装置、计算机设备及可读存储介质 |
CN115134328B (zh) * | 2022-07-22 | 2024-03-19 | 平安银行股份有限公司 | 角标的配置方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114697705B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409513B (zh) | 一种基于神经网络的任务处理方法及相关设备 | |
CN111221638B (zh) | 并发任务的调度处理方法、装置、设备和介质 | |
CN111970215B (zh) | 一种数据包管理方法及装置 | |
CN108509272B (zh) | 将gpu显存纹理拷贝到***内存的方法、装置及电子设备 | |
CN110636367A (zh) | 一种视频加载方法、装置、终端设备及介质 | |
CN112069950B (zh) | 提取热词的方法、***、电子设备及介质 | |
CN111464352A (zh) | 调用链路数据处理方法及装置 | |
CN114697705A (zh) | 视频流对象处理方法、装置、视频流处理***、电子设备 | |
EP3855754A1 (en) | Video processing method and apparatus, electronic device, and storage medium | |
CN112486825B (zh) | 多泳道环境架构***、消息消费方法、装置、设备及介质 | |
CN116721007B (zh) | 任务控制方法、***及装置、电子设备和存储介质 | |
CN111783632B (zh) | 针对视频流的人脸检测方法、装置、电子设备及存储介质 | |
CN116450347A (zh) | 视频的多任务处理方法、视频分析设备和存储介质 | |
CN112732979B (zh) | 信息写入方法、装置、电子设备和计算机可读介质 | |
EP4086753A1 (en) | Decision scheduling customization method and device based on information flow | |
CN112637538B (zh) | 用于优化视频分析的智能标签方法、***、介质及终端 | |
CN114741175A (zh) | 任务执行方法、装置、中心节点和下游节点设备 | |
CN114330675A (zh) | 一种芯片、加速卡、电子设备和数据处理方法 | |
CN116546262A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111901561A (zh) | 监控***中的视频数据处理方法、装置、***及存储介质 | |
CN115225586B (zh) | 数据包发送方法、装置、设备及计算机可读存储介质 | |
CN112363961A (zh) | 消息读取方法及*** | |
US20210042056A1 (en) | Data processing method and device | |
CN110069570B (zh) | 数据处理方法和装置 | |
CN114915849B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |