CN113905196B - 视频帧管理方法、视频录像机和计算机可读存储介质 - Google Patents
视频帧管理方法、视频录像机和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113905196B CN113905196B CN202111004481.XA CN202111004481A CN113905196B CN 113905196 B CN113905196 B CN 113905196B CN 202111004481 A CN202111004481 A CN 202111004481A CN 113905196 B CN113905196 B CN 113905196B
- Authority
- CN
- China
- Prior art keywords
- queue
- frame
- video
- frames
- key
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000011010 flushing procedure Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请公开了一种视频帧管理方法、视频录像机和计算机可读存储介质,该方法包括:获得实时视频流,将实时视频流中的视频帧存储至第一队列;当第一队列队首的视频帧被移除前,响应于第一队列队首的视频帧为关键帧,将第二队列清空并将关键帧添加至第二队列;或者,响应于第一队列队首的视频帧为差别帧,基于第二队列中视频帧的数量,确定差别帧是否添加至第二队列中关键帧之后;其中,关键帧和差别帧属于同一画面组数据;响应于获得客户端提取视频流的请求,将第一队列或第二队列中的关键帧反馈给客户端,并在关键帧之后还对应有差别帧时,将关键帧对应的差别帧反馈给客户端。上述方案,能够提高视频帧解码的速度,减少用户等待时间。
Description
技术领域
本申请涉及视频处理技术领域,特别是涉及一种视频帧管理方法、视频录像机和计算机可读存储介质。
背景技术
随着视频监控系统的覆盖率不断提高,用户可以通过客户端查看实时和/或已经存储的视频流,但是,现有技术中当用户在客户端发出提取视频流的请求后,网络视频录像机(Network Video Recorder,NVR)在接收到客户端的请求后,会向摄像装置发送强制关键帧(I帧)指令,然后等待关键帧到来,将此关键帧转发给客户端后客户端开始解码。因此,客户端只有收到此关键帧后才能开始解码,整个交互过程的耗时较长导致客户端进行视频帧解码的速度慢,用户等待时间较长,体验较差。有鉴于此,如何提高视频帧解码的速度,减少用户等待时间成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种视频帧管理方法、视频录像机和计算机可读存储介质,能够提高视频帧解码的速度,减少用户等待时间。
为解决上述技术问题,本申请第一方面提供一种视频帧管理方法,该方法包括:获得实时视频流,将所述实时视频流中的视频帧存储至第一队列;当所述第一队列队首的视频帧被移除前,响应于所述第一队列队首的视频帧为关键帧,将第二队列清空并将所述关键帧添加至所述第二队列;或者,响应于所述第一队列队首的视频帧为差别帧,基于所述第二队列中视频帧的数量,确定所述差别帧是否添加至所述第二队列中所述关键帧之后;其中,所述关键帧和所述差别帧属于同一画面组数据;响应于获得客户端提取视频流的请求,将所述第一队列或所述第二队列中的关键帧反馈给所述客户端,并在所述关键帧之后还对应有所述差别帧时,将所述关键帧对应的差别帧反馈给所述客户端。
为解决上述技术问题,本申请第二方面提供一种视频录像机,该视频录像机包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行上述第一方面所述的方法。
为解决上述技术问题,本申请第三方面提供一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述第一方面所述的方法。
上述方案,将实时视频流中的视频帧存储在第一队列中,当第一队列队首的视频帧需要被移除前,若第一队列队首的视频帧为关键帧,则将第二队列清空并将该关键帧添加至第二队列中,若第一队列队首的视频帧为差别帧,则根据第二队列中已经存储的视频帧的数量,来确定是否将该差别帧添加至第二队列中的关键帧之后,且第二队列中的关键帧和差别帧属于同一画面组数据。故此,第一队列中实时存储有视频帧,进而第一队列可能存储有关键帧,第二队列中至少存储有一组画面组数据中的关键帧,因此,第一队列和第二队列中确保有无需解码的关键帧,当获得客户端提取视频流的请求时,将第一队列或第二队列中的关键帧反馈给客户端,以使客户端能尽快响应请求从而显示关键帧对应的画面,并且在关键帧之后还对应有差别帧时,将差别帧反馈给客户端基于同一组画面组数据中的关键帧进行解码,从而提高了客户端进行视频帧解码的速度,减少用户等待时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请视频帧管理方法一实施方式的流程示意图;
图2是本申请视频帧管理方法另一实施方式的流程示意图;
图3是本申请视频录像机一实施方式的结构示意图;
图4是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请视频帧管理方法一实施方式的流程示意图,该方法包括:
S101:获得实时视频流,将实时视频流中的视频帧存储至第一队列。
具体地,网络视频录像机在接收到实时视频流后,将视频流中的视频帧按照时序,从队首向队尾进行存储。
在一应用方式中,网络视频录像机对应有多个摄像装置,每个摄像装置对应有各自的第一队列,每个摄像装置之间视频流在进行存储时相互独立。
在一应用场景中,当网络录像机经过初始化或格式化后,第一队列中未填充有视频帧,将摄像装置实时采集的视频帧中的第一个关键帧添加至第一队列的队首,进而将关键帧之后的差别帧添加在关键帧之后,差别帧按照时序从队首向队尾的方向进行排列,当第一队列完整填充后,第一队列接收到新的视频帧时,则需要将队首的视频帧移除,进而在队尾添加新的视频帧。
在另一应用场景中,当第一队列中填充有视频帧,则将新获取到的视频帧添加在第一队列中已存在的视频帧之后,直至第一队列被完整填充,进而第一队列接收到新的视频帧时,则将队首的视频帧移除,并在队尾添加新的视频帧。
S102:当第一队列队首的视频帧被移除前,判断第一队列队首的视频帧是否为关键帧。
具体地,当第一队列队首的视频帧需要被移除前,判断第一队列队首的视频帧是否为关键帧,若是,则进入步骤S103,若否,则进入步骤S104。
S103:响应于第一队列队首的视频帧为关键帧,将第二队列清空并将关键帧添加至第二队列。
具体地,一组画面组数据包括一个关键帧和多个差别帧,差别帧表示的是这一帧跟之前一个关键帧或差别帧的差别,当第一队列队首的视频帧为关键帧时,则表示一组画面组数据中的关键帧需要被移除,则关键帧之后的差别帧后续也将从第一队列中被移除。因此,当第一队列队首的视频帧为关键帧时,将第二队列清空并将关键帧添加至第二队列中,其中,当第二队列清空后,能够便于后续与关键帧属于同一画面组数据的差别帧添加至第二队列,且确保第二队列中的视频帧始终属于同一画面组数据。
在一应用方式中,当第一队列队首的视频帧为关键帧时,将第二队列清空,将关键帧从第一队列的队首移动至第二队列的队首,从而将第一队列队首的关键帧移除的同时,实现将关键帧添加至第二队列的队首。
在另一应用方式中,当第一队列队首的视频帧为关键帧时,将第二队列清空,将第一队列队首的关键帧拷贝至第二队列的队首,进而将第一队列队首的关键帧从第一队列中移除。
优选地,将关键帧添加至第二队列的队首以使第二队列能够按照一组画面组数据中的视频帧的时序,从队首向队尾存储至少部分画面组数据中的关键帧和差别帧。
S104:响应于第一队列队首的视频帧为差别帧,基于第二队列中视频帧的数量,确定差别帧是否添加至第二队列中关键帧之后。
具体地,当第一队列队首的视频帧为差别帧时,在第二队列还未填充满时将第一队列队首的差别帧添加至第二队列中关键帧之后,在第二队列已填充满时选择部分差别帧保留在第二队列中关键帧之后。
可以理解的是,一组画面组数据对应有一个关键帧和多个差别帧,每当第一队列队首的关键帧需要移除前,第二队列将被清空,因此,第二队列中存储的视频帧属于同一画面组数据,也就是说第二队列中的关键帧和差别帧属于同一画面组数据,第二队列用于存储从第一队列中移除的视频帧,每当第一队列中有关键帧从队首被移除前,第二队列便清空从而确保第二队列中存储的关键帧和差别帧属于同一画面组数据。
在一应用方式中,当第二队列无法存储整个画面组数据中的视频帧且第二队列已完整填充时,将第一队列中新移除的差别帧直接丢弃。
在另一应用方式中,当第二队列无法存储整个画面组数据中的视频帧且第二队列已完整填充时,将第二队列中部分差别帧移除,并将第一队列中新移除的差别帧添加至第二队列中,以避免在视频帧需要解码时丢弃过多差别帧导致用户观看视频时存在画面突变。
S105:响应于获得客户端提取视频流的请求,将第一队列或第二队列中的关键帧反馈给客户端,并在关键帧之后还对应有差别帧时,将关键帧对应的差别帧反馈给客户端。
具体地,当获得用户在客户端下发的提取视频流的请求,且第一队列的队首为关键帧时,则将第一队列队首的关键帧反馈给客户端,并将第一队列队首的关键帧之后的差别帧也反馈给客户端进行解码,当第一队列的队首为差别帧时,则将第二队列队首的关键帧反馈给客户端,并在第二队列中还包括差别帧时,将差别帧也反馈给客户端进行解码。
可以理解的是,第一队列的队首为差别帧的概率是极高的,当第一队列的队首为差别帧时,则在第二队列中一定存在一个与第一队列队首的差别帧属于同一画面组数据的关键帧,并且,第二队列中的关键帧与下一组画面组数据的关键帧在时序上是最接近的两个关键帧,如果等待下一组画面组数据的关键帧到达第一队列后才将关键帧反馈给客户端,需要客户端等待关键帧到来的过程,但是,如果将第二队列中的关键帧反馈给客户端,可以将时序上与请求对应的时间接近的关键帧直接反馈给客户端进行显示,从而尽快响应客户端的请求使客户端显示关键帧的画面,并对关键帧之后的差别帧进行解码,从而提高客户端进行视频帧解码的速度,大大减少用户等待的时间。
进一步地,当第一队列的队首为关键帧时,则对于提取视频流的请求,将第一队列队首的关键帧反馈给客户端可以提高视频流的实时性。
上述方案,将实时视频流中的视频帧存储在第一队列中,当第一队列队首的视频帧需要被移除前,若第一队列队首的视频帧为关键帧,则将第二队列清空并将该关键帧添加至第二队列中,若第一队列队首的视频帧为差别帧,则根据第二队列中已经存储的视频帧的数量,来确定是否将该差别帧添加至第二队列中的关键帧之后,且第二队列中的关键帧和差别帧属于同一画面组数据。故此,第一队列中实时存储有视频帧,进而第一队列可能存储有关键帧,第二队列中至少存储有一组画面组数据中的关键帧,因此,第一队列和第二队列中确保有无需解码的关键帧,当获得客户端提取视频流的请求时,将第一队列或第二队列中的关键帧反馈给客户端,以使客户端能尽快响应请求从而显示关键帧对应的画面,并且在关键帧之后还对应有差别帧时,将差别帧反馈给客户端基于同一组画面组数据中的关键帧进行解码,从而提高了客户端进行视频帧解码的速度,减少用户等待时间。
请参阅图2,图2是本申请视频帧管理方法另一实施方式的流程示意图,该方法包括:
S201:获得实时视频流,将实时视频流中的视频帧存储至第一队列。
具体地,获得实时视频流,并对实时视频流进行编码,以获得实时视频流对应的视频帧存储至第一队列。
在一应用方式中,将实时视频流中的视频帧编码后存储至第一队列中,直至第一队列从队首至队尾完整填充或者第一队列队首的视频帧不再对应有待处理业务,进入当第一队列队首的视频帧被移除前的步骤;其中,待处理业务包括解码、转发和存储中的至少一种。
具体地,对实时视频流中的视频帧进行编码,以压缩实时视频流中的视频帧获得每个画面组数据中对应的关键帧和差别帧,将编码后的视频帧存储至第一队列中,并按照时序将视频帧从第一队列的队首向队尾的方向存储在第一队列中,以使第一队列中的视频帧在存储时按照时序从队首向队尾排列,进而在将第一队列队首的视频帧移除时确保移除的是时序上更早的视频帧。
进一步地,视频帧对应有待处理业务,待处理业务包括解码、转发和存储中的至少一种,当第一队列中已填充满视频帧时,则需要将第一队列队首的视频帧移除,当第一队列队首的视频帧已经不再对应有任何待处理业务时,第一队列队首的视频帧也可以移除,从而减少第一队列的负荷。
在一具体应用场景中,对实时视频流中的视频帧进行编码,每组画面组数据中对应有一个关键帧数据,且画面组数据中的差别帧为相对关键帧的差别信息。
在另一具体应用场景中,对实时视频流中的视频帧进行编码,每组画面组数据中对应有一个关键帧数据,且画面组数据中的差别帧为相对上一视频帧的差别信息。
进一步地,将编码后的视频帧按时序从第一队列的队首向队尾存储,并判断第一队列队首的视频帧是否还对应有未完成的待处理业务。当第一队列已完整填充视频帧,或者第一队列队首的视频帧未对应有待处理业务,则进入步骤S202。
S202:当第一队列队首的视频帧被移除前,判断第一队列队首的视频帧是否为关键帧。
具体地,当第一队列队首的视频帧需要被移除前,判断第一队列队首的视频帧是否为关键帧,若是,则进入步骤S203,若否,则进入步骤S204。
S203:响应于第一队列队首的视频帧为关键帧,将第二队列中的所有视频帧清空。
具体地,当第一队列队首的视频帧为关键帧,则将第二队列中已添加的视频帧全部清除,从而便于存储后续从第一队列中持续移除的视频帧。
S204:将关键帧添加至第二队列队首,并固定关键帧在第二队列中的位置。
具体地,将关键帧添加至第二队列的队首,并将关键帧在第二队列中的位置固定,也就是说,在第一队列的队首再次移除关键帧之前,第二队列中的关键帧始终保持在第二队列队首的位置,以便于在后续需要提取第二队列中的关键帧时,能够快速定位到关键帧的位置,同时也便于对关键帧之后的差别帧进行存储,以充分利用第二队列的存储空间。
S205:响应于第一队列队首的视频帧为差别帧,基于第二队列中视频帧的数量,确定差别帧是否添加至第二队列中关键帧之后。
具体地,第二队列能够存储视频帧的上限值小于或等于一组画面组数据中所包含的视频帧的数量。若第二队列中足够存储整个画面组数据中的视频帧,则将第一队列队首的差别帧添加至第二队列中关键帧之后即可,若第二队列中无法存储整个画面组数据中的视频帧,则在第二队列还未完整填充视频帧时将第一队列队首的差别帧添加至第二队列中关键帧之后,在第二队列已完整填充视频帧后选择部分差别帧保留在第二队列中。
其中,当第二队列能够存储视频帧的上限值等于一组画面组数据中所包含的视频帧的数量时,能够便于存储一组完整的画面组数据,当第二队列能够存储视频帧的上限值小于一组画面组数据中所包含的视频帧的数量时,能够对差别帧进行筛选,以减少第二队列的负荷,减轻网络视频录像机的负担。
在一具体应用场景中,基于所述第二队列中视频帧的数量,确定所述差别帧是否添加至所述第二队列中所述关键帧之后的步骤,包括:响应于第二队列从队首至队尾已完整填充,则将差别帧丢弃;或者,响应于第二队列未完整填充,则将差别帧按照时序添加至第二队列中关键帧之后。
具体地,当差别帧为相对上一视频帧的差别信息时,第二队列的队首存储关键帧,关键帧之后按时序存储关键帧之后的差别帧,当第二队列已完整填充,则将后续同一画面组数据后续从第一队列中移除出来的视频帧直接丢弃,以确保第二队列中的差别帧能够基于前一视频帧解码出完整的图像。
在另一具体应用场景中,差别帧为相对关键帧的差别信息,确定所述差别帧是否添加至所述第二队列中所述关键帧之后的步骤,包括:响应于第二队列从队首至队尾已完整填充,则将第二队列中部分差别帧丢弃,并将第一队列队首新移除的差别帧添加至第二队列中;或者,响应于第二队列未完整填充,则将差别帧按照时序添加至第二队列中关键帧之后。
具体地,当差别帧为相对关键帧的差别信息时,第二队列的队首存储关键帧,关键帧之后按时序存储关键帧之后的差别帧,当第二队列已完整填充,则将第二队列中至少队尾的差别帧丢弃,并将从第一队列队首新移除的差别帧添加至第二队列中,从而降低在后续对差别帧解码时视频流的画面出现突变的概率。
S206:响应于获得客户端提取视频流的请求,当第一队列队首是关键帧,则将第一队列中的关键帧反馈给客户端,当第一队列队首是差别帧,则将第二队列中的关键帧反馈给客户端。
具体地,当获得客户端提取视频流的请求后,判断第一队列队首是否是关键帧,若是,则将第一队列中的关键帧反馈给客户端,以提高视频流的实时性,若否,则第一队列队首为差别帧,那么第二队列的队首则必然是关键帧,进而将第二队列队首的关键帧反馈给客户端,以使客户端显示关键帧对应的图像,提高客户端进行视频帧解码的效率。
进一步地,在关键帧之后还对应有差别帧时,将关键帧对应的差别帧反馈给客户端的步骤,包括:将第一队列中关键帧之后的差别帧反馈给客户端;或者,将第二队列中关键帧之后的差别帧反馈给客户端。
其中,当第一队列队首是关键帧时,则将第一队列中关键帧之后的差别帧反馈给客户端,以使客户端能够基于关键帧对差别帧进行解码,当第一队列队首是差别帧时,则将第二队列队首的关键帧反馈给客户端后,将第二队列中关键帧之后的差别帧反馈给客户端,以使客户端能够基于关键帧对差别帧进行解码,从而客户端能够在极短的时间内获得关键帧,并基于关键帧对关键帧之后的差别帧进行解码,以响应客户端的请求,反馈实时视频流给用户,减少用户等待时间。
需要说明的是,将第二队列中关键帧之后的差别帧反馈给客户端的步骤之后,还包括:响应于第二队列中的所有差别帧已反馈给客户端,在第一队列中,提取与第二队列中的关键帧属于同一画面组数据的差别帧反馈给客户端;响应于解码至第一队列中下一组画面组数据对应的关键帧,基于第一队列中的视频帧向客户端反馈视频帧直至提取视频流的请求取消。
具体地,当第二队列中的所有差别帧都已反馈给客户端进行解码,若此时第一队列的队首还是差别帧,则该差别帧与第二队列队首的关键帧属于同一画面组数据,在第一队列中提取与第二队列中的关键帧属于同一画面组数据的差别帧反馈给客户端,以使画面组数据能够尽可能完整,当第一队列中的视频帧向客户端反馈至下一组画面组数据对应的关键帧时,则基于第一队列中后续的视频帧向客户端反馈视频帧,以使客户端对视频帧进行解码,直至提取视频流的请求取消。
在一具体应用场景中,当差别帧为相对上一视频帧的差别信息时,当第二队列中的所有差别帧都已反馈给客户端进行解码,若此时第一队列的队首还是差别帧,若该差别帧与第二队列队尾的差别帧时序相邻,则将第一队列中与第二队列中的关键帧属于同一画面组数据的差别帧反馈给客户端,以使画面组数据完整解码,若该差别帧与第二队列队尾的差别帧时序不相邻,那么第一队列中的差别帧没有对应的上一帧图像,因此不能解码,则将第二队列队尾的差别帧解码后的图像多次显示,直至解码至第一队列中下一组画面组数据对应的关键帧,以使在下一组画面组数据出现前,保持客户端始终有图像显示。
在另一具体应用场景中,当差别帧为相对上一关键帧的差别信息时,当第二队列中的所有差别帧都已反馈给客户端进行解码,若此时第一队列的队首还是差别帧,则将第一队列中与第二队列中的关键帧属于同一画面组数据的差别帧反馈给客户端,以使客户端基于关键帧进行解码,尽可能保证视频流的完整性。
在本实施例中,当第一队列队首的视频帧需要被移除前,若第一队列队首的视频帧为关键帧,则将第二队列清空并将该关键帧添加至第二队列的队首并保持位置不变,若第一队列队首的视频帧为差别帧,则根据第二队列中已经存储的视频帧的数量,来确定是否将该差别帧添加至第二队列中的关键帧之后,以使第一队列和第二队列中必然存在关键帧,在获得客户端提取视频流的请求时,能够尽快响应请求从而显示关键帧对应的画面,并且将差别帧反馈给客户端基于同一组画面组数据中的关键帧进行解码,从而提高了客户端进行视频帧解码的速度,减少用户等待时间。
请参阅图3,图3是本申请视频录像机一实施方式的结构示意图,该视频录像机30包括相互耦接的存储器301和处理器302,其中,存储器301存储有程序数据(图未示),处理器302调用程序数据以实现上述任一实施例中的基于视频帧的属性分类方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
请参阅图4,图4是本申请计算机可读存储介质一实施方式的结构示意图,该计算机可读存储介质40存储有程序数据400,该程序数据400被处理器执行时实现上述任一实施例中的基于视频帧的属性分类方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
需要说明的是,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种视频帧管理方法,其特征在于,所述方法包括:
获得实时视频流,将所述实时视频流中的视频帧存储至第一队列;其中,当所述第一队列完整填充后,所述第一队列接收到新的视频帧时,将队首的视频帧移除,并在队尾添加新的视频帧;
当所述第一队列队首的视频帧被移除前,响应于所述第一队列队首的视频帧为关键帧,将第二队列清空并将所述关键帧添加至所述第二队列;或者,响应于所述第一队列队首的视频帧为差别帧,基于所述第二队列中视频帧的数量,确定所述差别帧是否添加至所述第二队列中所述关键帧之后;其中,所述关键帧和所述差别帧属于同一画面组数据;
响应于获得客户端提取视频流的请求,将所述第一队列或所述第二队列中的关键帧反馈给所述客户端,并在所述关键帧之后还对应有所述差别帧时,将所述关键帧对应的差别帧反馈给所述客户端;
其中,所述响应于获得客户端提取视频流的请求,将所述第一队列或所述第二队列中的关键帧反馈给所述客户端的步骤,包括:响应于获得客户端提取视频流的请求,当所述第一队列队首是关键帧,则将所述第一队列中的关键帧反馈给所述客户端,当所述第一队列队首是差别帧,则将所述第二队列中的关键帧反馈给所述客户端。
2.根据权利要求1所述的视频帧管理方法,其特征在于,所述响应于所述第一队列队首的视频帧为关键帧,将第二队列清空并将所述关键帧添加至所述第二队列的步骤,包括:
响应于所述第一队列队首的视频帧为关键帧,将所述第二队列中的所有视频帧清空;
将所述关键帧添加至所述第二队列队首,并固定所述关键帧在所述第二队列中的位置。
3.根据权利要求2所述的视频帧管理方法,其特征在于,所述第二队列能够存储视频帧的上限值小于或等于一组所述画面组数据中所包含的视频帧的数量。
4.根据权利要求3所述的视频帧管理方法,其特征在于,所述基于所述第二队列中视频帧的数量,确定所述差别帧是否添加至所述第二队列中所述关键帧之后的步骤,包括:
响应于所述第二队列从队首至队尾已完整填充,则将所述差别帧丢弃;或者,
响应于所述第二队列未完整填充,则将所述差别帧按照时序添加至所述第二队列中所述关键帧之后。
5.根据权利要求1所述的视频帧管理方法,其特征在于,所述将所述实时视频流中的视频帧存储至第一队列的步骤,包括:
将所述实时视频流中的视频帧编码后存储至所述第一队列中,直至所述第一队列从队首至队尾完整填充或者所述第一队列队首的视频帧不再对应有待处理业务,进入当所述第一队列队首的视频帧被移除前的步骤;其中,所述待处理业务包括解码、转发和存储中的至少一种。
6.根据权利要求1所述的视频帧管理方法,其特征在于,所述在所述关键帧之后还对应有所述差别帧时,将所述关键帧对应的差别帧反馈给所述客户端的步骤,包括:
将所述第一队列中所述关键帧之后的所述差别帧反馈给所述客户端;或者,
将所述第二队列中所述关键帧之后的所述差别帧反馈给所述客户端。
7.根据权利要求6所述的视频帧管理方法,其特征在于,所述将所述第二队列中所述关键帧之后的所述差别帧反馈给所述客户端的步骤之后,还包括:
响应于所述第二队列中的所有差别帧已反馈给所述客户端,在所述第一队列中,提取与第二队列中的关键帧属于同一所述画面组数据的差别帧反馈给所述客户端;
响应于解码至所述第一队列中下一组所述画面组数据对应的关键帧,基于所述第一队列中的视频帧向所述客户端反馈所述视频帧直至所述提取视频流的请求取消。
8.一种视频录像机,其特征在于,包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行如权利要求1-7中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111004481.XA CN113905196B (zh) | 2021-08-30 | 2021-08-30 | 视频帧管理方法、视频录像机和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111004481.XA CN113905196B (zh) | 2021-08-30 | 2021-08-30 | 视频帧管理方法、视频录像机和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113905196A CN113905196A (zh) | 2022-01-07 |
CN113905196B true CN113905196B (zh) | 2024-05-07 |
Family
ID=79188346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111004481.XA Active CN113905196B (zh) | 2021-08-30 | 2021-08-30 | 视频帧管理方法、视频录像机和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113905196B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114430469A (zh) * | 2022-04-01 | 2022-05-03 | 浙江大华技术股份有限公司 | 视频数据存储方法、读取方法、电子设备和可读存储介质 |
CN117119223B (zh) * | 2023-10-23 | 2023-12-26 | 天津华来科技股份有限公司 | 基于多通道传输的视频流播放控制方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752670A (zh) * | 2012-06-13 | 2012-10-24 | 广东威创视讯科技股份有限公司 | 减少网络视频传输中马赛克现象的方法、装置及系统 |
CN106488273A (zh) * | 2016-10-10 | 2017-03-08 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
CN106658162A (zh) * | 2015-11-03 | 2017-05-10 | 中兴通讯股份有限公司 | 一种换台方法、装置及机顶盒 |
CN106998485A (zh) * | 2016-01-25 | 2017-08-01 | 百度在线网络技术(北京)有限公司 | 视频直播方法及装置 |
WO2019154221A1 (zh) * | 2018-02-07 | 2019-08-15 | 华为技术有限公司 | 发送流数据的方法及数据发送设备 |
CN110366033A (zh) * | 2019-07-17 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 一种视频播放方法、装置、设备及存储介质 |
CN110784740A (zh) * | 2019-11-25 | 2020-02-11 | 北京三体云时代科技有限公司 | 视频处理方法、装置、服务器及可读存储介质 |
CN111010603A (zh) * | 2019-12-18 | 2020-04-14 | 浙江大华技术股份有限公司 | 一种视频缓存转发处理方法及装置 |
CN111726657A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 直播视频的播放处理方法、装置及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160029076A1 (en) * | 2013-03-13 | 2016-01-28 | Telefonaktiebolaget L M Ericsson (Publ) | Arrangements and Method Thereof for Channel Change during Streaming |
US10805615B2 (en) * | 2016-12-14 | 2020-10-13 | LogMeln, Inc. | Synchronizing video signals using cached key frames |
-
2021
- 2021-08-30 CN CN202111004481.XA patent/CN113905196B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752670A (zh) * | 2012-06-13 | 2012-10-24 | 广东威创视讯科技股份有限公司 | 减少网络视频传输中马赛克现象的方法、装置及系统 |
CN106658162A (zh) * | 2015-11-03 | 2017-05-10 | 中兴通讯股份有限公司 | 一种换台方法、装置及机顶盒 |
CN106998485A (zh) * | 2016-01-25 | 2017-08-01 | 百度在线网络技术(北京)有限公司 | 视频直播方法及装置 |
CN106488273A (zh) * | 2016-10-10 | 2017-03-08 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
WO2019154221A1 (zh) * | 2018-02-07 | 2019-08-15 | 华为技术有限公司 | 发送流数据的方法及数据发送设备 |
CN111726657A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 直播视频的播放处理方法、装置及服务器 |
CN110366033A (zh) * | 2019-07-17 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 一种视频播放方法、装置、设备及存储介质 |
CN110784740A (zh) * | 2019-11-25 | 2020-02-11 | 北京三体云时代科技有限公司 | 视频处理方法、装置、服务器及可读存储介质 |
CN111010603A (zh) * | 2019-12-18 | 2020-04-14 | 浙江大华技术股份有限公司 | 一种视频缓存转发处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
无线局域网中增强3D视频传输的队列管理机制;张义;赵旭;涂华;路博;李阳阳;;中国电子科学研究院学报;20170620(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113905196A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113905196B (zh) | 视频帧管理方法、视频录像机和计算机可读存储介质 | |
CN106713964A (zh) | 一种生成视频摘要视点图的方法及装置 | |
US20220232222A1 (en) | Video data processing method and apparatus, and storage medium | |
US20110060792A1 (en) | Dynamic Selection of Parameter Sets for Transcoding Media Data | |
EP3410302B1 (en) | Graphic instruction data processing method, apparatus | |
CN111310744B (zh) | 图像识别方法、视频播放方法、相关设备及介质 | |
US11800160B2 (en) | Interruptible video transcoding | |
CN111343503B (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
CN110662080B (zh) | 面向机器的通用编码方法 | |
CN113630618B (zh) | 视频处理方法、装置及系统 | |
US9053526B2 (en) | Method and apparatus for encoding cloud display screen by using application programming interface information | |
CN116980605A (zh) | 视频处理方法、装置、计算机设备、存储介质和程序产品 | |
CN115225615A (zh) | 虚幻引擎像素流送方法及装置 | |
CN113068059B (zh) | 视频直播方法、装置、设备及存储介质 | |
CN110572712A (zh) | 一种解码方法和装置 | |
CN113596449B (zh) | 图像处理方法及装置 | |
CN108989905B (zh) | 媒体流控制方法、装置、计算设备及存储介质 | |
US12003743B2 (en) | Video stream decoding method and apparatus, terminal device, and storage medium | |
CN117135364B (zh) | 一种视频解码方法和系统 | |
US20220038724A1 (en) | Video stream decoding method and apparatus, terminal device, and storage medium | |
US20230067994A1 (en) | Encoding and decoding video data | |
CN117692675A (zh) | 视频流智能信息叠加方法及设备、视频流解码方法及设备 | |
US8639845B2 (en) | Method for editing multimedia pages on a terminal using pre-stored parameters of objects appearing in scenes | |
CN113949922A (zh) | 一种蒙版图片的生成方法、计算设备以及存储介质 | |
CN115391295A (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 |