视频处理方法及装置制造方法及图纸

技术编号:31827537 阅读:16 留言:0更新日期:2022-01-12 12:58
本公开涉及一种视频处理方法及装置。所述方法包括:获取待处理视频;按照倒序依次对所述待处理视频的每个GOP进行处理;其中,每个GOP的处理方法包括:对GOP进行解码,并按照倒序将解码获得的视频帧进行存储;获取所述视频帧并进行编码。本公开的视频处理方法和装置,通过对待处理视频的GOP依次进行编解码,有效减少内存占用,避免因内存不足而出现OOM问题。避免因内存不足而出现OOM问题。避免因内存不足而出现OOM问题。

【技术实现步骤摘要】
视频处理方法及装置


[0001]本公开一般地涉及计算机
更具体地,本公开涉及一种视频处理方法及装置。

技术介绍

[0002]目前市面上很多工具和软件都可以提供视频倒放功能,但是现有的视频倒放技术效率较低,且占用内存较大,很容易引起OOM(out

of

memory)的问题,继而引起系统崩溃。
[0003]现有技术常通过ffmpeg实现视频倒放,倒放前将视频中所有的帧数据一次性保存在内存中开辟的队列中,然后逆序该队列以达到视频倒放的效果。如此占用较大内存,易引起OOM的问题。此外,另有部分应用软件采用文件处理技术来生成一个中间文件,逆序读取该中间文件达到倒放效果。该种方法同样存在上述类似的问题。
[0004]而且,上述方法均需首先将视频进行解码,然后将解码获得的帧数据按照逆序进行存储,最后将逆序存储的帧数据进行编码,解码、存储、编码过程依次进行,使得视频处理时间较长,效率较低。
[0005]因此如何获得一种效率较高且占用内存较小的视频处理方法以实现视频倒放为现有技术中需要解决的问题。

技术实现思路

[0006]为了至少部分地解决
技术介绍
中提到的技术问题,本公开的方案提供了一种视频处理方法及装置。
[0007]根据本公开的第一方面,本公开提供了一种视频处理方法,其中,所述方法包括:获取待处理视频;按照倒序依次对所述待处理视频的每个GOP进行处理;其中,每个GOP的处理方法包括:对GOP进行解码,并按照倒序将解码获得的视频帧进行存储;获取所述视频帧并进行编码。
[0008]可选地,所述对GOP进行解码,并按照倒序将解码获得的视频帧进行存储包括:判断加载待解码GOP所需占用的内存空间与剩余内存空间的大小关系;在剩余内存空间大于或等于加载所述待解码GOP所需占用的内存空间的预设倍数的情况下,对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至帧缓存队列;在剩余内存空间小于加载所述待解码GOP所需占用的内存空间的预设倍数的情况下,对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至临时文件。
[0009]可选地,所述加载所述待解码GOP所需占用的内存空间的获得方法包括:根据所述待解码GOP的时长及所述待处理视频的帧率获得所述待解码GOP的总帧数;根据所述总帧数及所述待处理视频的分辨率和色彩格式获得加载所述待解码GOP所需占用的内存空间。
[0010]可选地,所述对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至帧缓存队列包括:从所述待解码GOP的关键帧开始进行逐帧解码并逐帧存储,每解码获得一帧视频帧,均从帧队列的头部存入所述帧缓存队列,直至所述待解码GOP解码完毕,且
解码获得的最后一帧视频帧存入所述帧缓存队列的头部。
[0011]可选地,所述获取所述视频帧并进行编码包括:按照从头部到尾部的顺序获取所述帧缓存队列中所有视频帧,并进行编码。
[0012]可选地,所述对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至临时文件包括:从所述待解码GOP的关键帧开始进行逐帧解码并逐帧存储,每解码获得一帧视频帧,均从文件头写入所述临时文件,直至所述待解码GOP解码完毕,且解码获得的最后一帧视频帧写入所述临时文件的文件头。
[0013]可选地,所述获取所述视频帧并进行编码包括:按照从文件头到文件尾的顺序获取所述临时文件中所有视频帧,并进行编码。
[0014]根据本公开的第二方面,本公开提供了一种视频处理装置,其中,所述装置包括:获取模块,其配置为用于获取待处理视频;解码模块,其配置为用于对所述待处理视频的GOP进行解码;存储模块,其配置为按照倒序将解码获得的视频帧进行存储;编码模块,其配置为用于获取所述视频帧并进行编码。
[0015]可选地,所述解码模块用于对待解码GOP进行逐帧解码;所述存储模块包括判断子单元,所述判断子单元用于判断加载所述待解码GOP所需占用的内存空间与剩余内存空间的大小关系;所述存储模块用于采取如下方式将解码获得的视频帧进行存储:在剩余内存空间大于或等于加载所述待解码GOP所需占用的内存空间的预设倍数的情况下,按照倒序将解码获得的视频帧存储至帧缓存队列;在剩余内存空间小于加载所述待解码GOP所需占用的内存空间的预设倍数的情况下,按照倒序将解码获得的视频帧存储至临时文件。
[0016]可选地,所述判断子单元用于采取如下方式获得加载所述待解码GOP所需占用的内存空间:根据所述待解码GOP的时长及所述待处理视频的帧率获得所述待解码GOP的总帧数;根据所述总帧数及所述待处理视频的分辨率和色彩格式获得加载所述待解码GOP所需占用的内存空间。
[0017]可选地,所述解码模块用于从所述待解码GOP的关键帧开始进行逐帧解码;所述存储模块用于将解码获得的视频帧进行逐帧存储,每帧视频帧均从帧队列的头部存入所述帧缓存队列。
[0018]可选地,所述编码模块用于采取如下方式获取所述视频帧并进行编码:按照从头部到尾部的顺序获取所述帧缓存队列中所有视频帧,并进行编码。
[0019]可选地,所述解码模块用于从所述待解码GOP的关键帧开始进行逐帧解码;所述存储模块用于将解码获得的视频帧进行逐帧存储,每帧视频帧均从文件头写入所述临时文件。
[0020]可选地,所述编码模块用于采取如下方式获取所述视频帧并进行编码:按照从文件头到文件尾的顺序获取所述临时文件中所有视频帧,并进行编码。
[0021]根据本公开的第三方面,本公开提供了一种电子装置,其中,所述电子装置包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现上述本公开的第一方面的方法。
[0022]根据本公开的第四方面,本公开提供了一种计算机可读存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序被执行时,实现上述本公开的第一方面的方法。
[0023]本公开的视频处理方法和装置,通过对待处理视频的各个GOP依次进行编解码,有
效减少内存占用,避免因内存不足而出现OOM问题;此外,通过合理控制GOP的解码线程与编码线程,进一步减少了视频编解码的总耗时,有效提高了视频处理效率。
附图说明
[0024]通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
[0025]图1是示出根据本公开的一个实施例的视频处理方法的流程图;
[0026]图2是示出根据本公开的一个实施例的视频处理装置的示意性框图。
具体实施方式
[0027]下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种视频处理方法,其中,所述方法包括:获取待处理视频;按照倒序依次对所述待处理视频的每个GOP进行处理;其中,每个GOP的处理方法包括:对GOP进行解码,并按照倒序将解码获得的视频帧进行存储;获取所述视频帧并进行编码。2.根据权利要求1所述的视频处理方法,其中,所述对GOP进行解码,并按照倒序将解码获得的视频帧进行存储包括:判断加载待解码GOP所需占用的内存空间与剩余内存空间的大小关系;在剩余内存空间大于或等于加载所述待解码GOP所需占用的内存空间的预设倍数的情况下,对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至帧缓存队列;在剩余内存空间小于加载所述待解码GOP所需占用的内存空间的预设倍数的情况下,对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至临时文件。3.根据权利要求2所述的视频处理方法,其中,所述加载所述待解码GOP所需占用的内存空间的获得方法包括:根据所述待解码GOP的时长及所述待处理视频的帧率获得所述待解码GOP的总帧数;根据所述总帧数及所述待处理视频的分辨率和色彩格式获得加载所述待解码GOP所需占用的内存空间。4.根据权利要求2所述的视频处理方法,其中,所述对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至帧缓存队列包括:从所述待解码GOP的关键帧开始进行逐帧解码并逐帧存储,每解码获得一帧视频帧,均从帧队列的头部存入所述帧缓存队列,直至所述待解码GOP解码完毕,且解码获得的最后一帧视频帧存入所述帧缓存队列的头部。5.根据权利要求4所述的视频处理方法,其中,所述获取所述视频帧并进行编码包括:按照从头部到尾部的顺序获取所述帧缓存队列中所有视频帧,并进行编码。6.根据权利要求2所述的视频处理方法,其中,所述对所述待解码GOP进行逐帧解码,并按照倒序将解码获得的视频帧存储至临时文件包括:从所述待解码GOP的关键帧开始进行逐帧解码并逐帧存储,每解码获得一帧视频帧,均从文件头写入所述临时文件,直至所述待解码GOP解码完毕,且解码获得的最后一帧视频帧写入所述临时文件的文件头。7.根据权利要求6所述的视频处理方法,其中,所述获取所述视频帧并进行编码包括:按照从文件头到文件尾的顺序获取所述临时文件中所有视频帧,并进行编码。8.一种视频处理装置,其中,所述装置包括:获取模块,其配置为用于获取待处理视频;解码模块,...

【专利技术属性】
技术研发人员:李林超林炳河
申请(专利权)人:稿定厦门科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1