一种视频处理方法、装置、终端和存储介质制造方法及图纸

技术编号:21228553 阅读:35 留言:0更新日期:2019-05-29 09:00
本发明专利技术提供了一种视频处理方法、装置、终端和存储介质,该方法包括:针对需要倒序播放的画面组GOP,对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到该GOP对应的数据文件中;当所述GOP的所有视频数据帧都解码完毕后,按照从最后一帧到第一帧的顺序,从所述数据文件中依次获取视频数据帧并显示获取到的视频数据帧。本发明专利技术由于在对GOP进行解码时通过对应的数据文件来保存该GOP中从关键帧开始解码得到的视频数据帧,倒放显示时可以直接从数据文件中获取对应的视频数据帧并显示,从而一个GOP只需进行一次解码就可以进行倒放显示,无需进行重复解码,减少了重复解码浪费的时间,从而减少了视频倒放的时间。

A Video Processing Method, Device, Terminal and Storage Media

The invention provides a video processing method, device, terminal and storage medium. The method includes: decoding the GOP frame by frame from the key frame for the picture group GOP requiring reverse playback, and storing the decoded video data frame into the corresponding data file of the GOP; when all the video data frames of the GOP are decoded, according to the last frame to the data file of the GOP. In the order of a frame, the video data frames are sequentially acquired from the data file and the acquired video data frames are displayed. The present invention saves the video data frame decoded from the key frame in GOP through the corresponding data file when decoding GOP, and obtains the corresponding video data frame directly from the data file and displays it when playback display, so that a GOP can perform playback display only once decoding without repeated decoding, thus reducing the waste of repeated decoding. Time, thus reducing the time of video playback.

【技术实现步骤摘要】
一种视频处理方法、装置、终端和存储介质
本专利技术涉及视频处理
,特别是涉及一种视频处理方法、装置、终端和存储介质。
技术介绍
在过去的几年,智能手机的处理能力飞速上升,用户对短视频的需求越来越强烈。在众多视频特效中,视频倒放可以产生非常有趣的效果,如用手将飞盘扔出,倒放后看起来似乎手有种神奇的力量,可以将飞盘从远处吸过来。苹果系统视频处理接口封装较好,实现视频倒放较容易,但安卓端由于接口封装不完善,并且各厂商研发实力不均匀,导致安卓端实现倒放时,普遍速度较慢。现有技术中,安卓端在对视频进行倒放显示时,需要从最后一个GOP(GroupOfPicture,画面组)开始进行处理,在对每个GOP进行处理时,必须从该GOP的关键帧开始解码,一直解码到该GOP中未处理的最后一帧,才能显示该最后一帧。例如,在倒放显示一个GOP时,如果该GOP包括3个视频帧,第一帧为关键帧,则在倒放显示时需要按照第三帧、第二帧到第一帧的顺序进行显示,在显示第三帧时,需要从关键帧开始解码,即解码第一帧、第二帧和第三帧,解码第三帧后显示第三帧,在显示第二帧时,还需要从关键帧开始解码,即解码第一帧和第二帧,并显示第二帧,在显示第一帧时,还需要再解码一次第一帧,才可显示第一帧。即对GOP中的每一帧进行倒放显示时,都需要从关键帧开始进行逐帧解码,直到解码到要显示的视频帧才可显示该视频帧,因此需要耗费较长的时间。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频处理方法、装置、终端和存储介质。依据本专利技术的第一方面,提供了一种视频处理方法,包括:针对需要倒序播放的画面组GOP,对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到该GOP对应的数据文件中;当所述GOP的所有视频数据帧都解码完毕后,按照从最后一帧到第一帧的顺序,从所述数据文件中依次获取视频数据帧并显示获取到的视频数据帧。可选的,在针对需要倒序播放的GOP,对所述GOP从关键帧开始进行逐帧解码之前,还包括:针对需要倒序播放的待处理视频,按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP。可选的,所述针对需要倒序播放的待处理视频,按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP,包括:创建解码线程;所述解码线程按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP;所述针对需要倒序播放的GOP,对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到该GOP对应的数据文件中,包括:所述解码线程创建与所述需要倒序播放的GOP对应的数据文件;所述解码线程对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到所述数据文件中。可选的,所述解码线程对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到所述数据文件中,包括:所述解码线程使用硬解码对所述GOP从关键帧开始逐帧解码,并将解码后的视频数据帧输出至第一指定存储位置中空闲状态的缓冲器进行缓存,将该缓冲器的状态修改为忙碌状态;所述解码线程使用开放图形库从所述第一指定存储位置中忙碌状态的缓冲器中读取解码后的视频数据帧,并将读取到的视频数据帧保存到所述数据文件中,释放该缓冲器。可选的,所述解码线程将读取到的视频数据帧保存到所述数据文件中,包括:所述解码线程使用开放图形库对读取到的视频数据帧进行缩放处理,并将缩放后的视频数据帧保存到所述数据文件中。可选的,所述解码线程对所述GOP从关键帧开始进行逐帧解码,包括:所述解码线程使用硬解码对所述GOP从关键帧开始逐帧解码成明亮度-色度-浓度YUV数据,将所述YUV数据作为所述解码后的视频数据帧。可选的,所述解码线程将解码后的视频数据帧保存到所述数据文件中,包括:所述解码线程使用转换库对所述解码后的视频数据帧进行缩放处理和/或颜色空间转换处理,并将处理后的视频数据帧按照顺序保存到所述数据文件中。可选的,还包括:针对从所述待处理视频中获取到的GOP,按照从最后一帧到第一帧的顺序,从该GOP对应的数据文件中依次获取视频数据帧并进行编码,直至处理完所述待处理视频的所有GOP对应的数据文件,得到所述待处理视频对应的倒放视频。可选的,所述针对从所述待处理视频中获取到的GOP,按照从最后一帧到第一帧的顺序,从该GOP对应的数据文件中依次获取视频数据帧并进行编码,直至处理完所述待处理视频的所有GOP对应的数据文件,得到所述待处理视频对应的倒放视频,包括:创建编码线程;所述编码线程获取未进行编码处理的数据文件;所述编码线程按照从最后一帧到第一帧的顺序,读取所述数据文件中的视频数据帧;所述编码线程对读取到的视频数据帧进行编码,继续获取下一个未进行编码处理的数据文件并进行上述的编码处理,直至处理完所有未进行编码处理的数据文件,得到所述待处理视频对应的倒放视频。可选的,所述编码线程对读取到的视频数据帧进行编码,包括:所述编码线程使用开放图形库将读取到的视频数据帧上传至硬编码对应的第二指定存储位置,并使用硬编码对所述第二指定存储位置中的视频数据帧进行编码。可选的,在按照从最后一帧到第一帧的顺序,从该GOP对应的数据文件中依次获取视频数据帧并进行编码之后,还包括:删除该GOP对应的数据文件。依据本专利技术的第二方面,提供了一种视频处理装置,包括:解码模块,用于针对需要倒序播放的画面组GOP,对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到该GOP对应的数据文件中;倒放显示模块,用于当所述GOP的所有视频数据帧都解码完毕后,按照从最后一帧到第一帧的顺序,从所述数据文件中依次获取视频数据帧并显示获取到的视频数据帧。可选的,还包括:GOP获取模块,用于针对需要倒序播放的待处理视频,按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP。可选的,所述GOP获取模块包括:解码线程创建单元,用于创建解码线程;GOP获取单元,用于通过所述解码线程按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP;所述解码模块包括:数据文件创建单元,用于通过所述解码线程创建与所述需要倒序播放的GOP对应的数据文件;解码单元,用于通过所述解码线程对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到所述数据文件中。可选的,所述解码单元包括:第一解码子单元,用于通过所述解码线程使用硬解码对所述GOP从关键帧开始逐帧解码,并将解码后的视频数据帧输出至第一指定存储位置中空闲状态的缓冲器进行缓存,将该缓冲器的状态修改为忙碌状态;第一视频数据保存子单元,用于通过所述解码线程使用开放图形库从所述第一指定存储位置中忙碌状态的缓冲器中读取解码后的视频数据帧,并将读取到的视频数据帧保存到所述数据文件中,释放该缓冲器。可选的,所述第一视频数据保存子单元具体用于:通过所述解码线程使用开放图形库从所述本文档来自技高网...

【技术保护点】
1.一种视频处理方法,其特征在于,包括:针对需要倒序播放的画面组GOP,对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到该GOP对应的数据文件中;当所述GOP的所有视频数据帧都解码完毕后,按照从最后一帧到第一帧的顺序,从所述数据文件中依次获取视频数据帧并显示获取到的视频数据帧。

【技术特征摘要】
1.一种视频处理方法,其特征在于,包括:针对需要倒序播放的画面组GOP,对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到该GOP对应的数据文件中;当所述GOP的所有视频数据帧都解码完毕后,按照从最后一帧到第一帧的顺序,从所述数据文件中依次获取视频数据帧并显示获取到的视频数据帧。2.根据权利要求1所述的方法,其特征在于,在针对需要倒序播放的GOP,对所述GOP从关键帧开始进行逐帧解码之前,还包括:针对需要倒序播放的待处理视频,按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP。3.根据权利要求2所述的方法,其特征在于,所述针对需要倒序播放的待处理视频,按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP,包括:创建解码线程;所述解码线程按照从最后一个GOP到第一个GOP的顺序,依次获取所述待处理视频中的GOP,并将获取到的GOP作为所述需要倒序播放的GOP;所述针对需要倒序播放的GOP,对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到该GOP对应的数据文件中,包括:所述解码线程创建与所述需要倒序播放的GOP对应的数据文件;所述解码线程对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到所述数据文件中。4.根据权利要求3所述的方法,其特征在于,所述解码线程对所述GOP从关键帧开始进行逐帧解码,并将解码后的视频数据帧保存到所述数据文件中,包括:所述解码线程使用硬解码对所述GOP从关键帧开始逐帧解码,并将解码后的视频数据帧输出至第一指定存储位置中空闲状态的缓冲器进行缓存,将该缓冲器的状态修改为忙碌状态;所述解码线程使用开放图形库从所述第一指定存储位置中忙碌状态的缓冲器中读取解码后的视频数据帧,并将读取到的视频数据帧保存到所述数据文件中,释放该缓冲器。5.根据权利要求4所述的方法,其特征在于,所述解码线程将读取到的视频数据帧保存到所述数据文件中,包括:所述解码线程使用开放图形库对读取到的视频数据帧进行缩放处理,并将缩放后的视频数据帧保存到所述数据文件中。6.根据权利要求3所述的方法,其特征在于,所述解码线程对所述GOP从关键帧开始进行逐帧解码,包括:所述解码线程使用硬解码对所述GOP从关键帧开始逐帧解码成明亮度-色度-浓度YUV数据,将所述YUV数据作为所述解码后的视频数据帧。7.根据权利要求6所述的方法,其特征在于,所述解码线程将解码后的视频数据帧保存到所述数据文件中,包括:所述解码线程使用转换库对所述解码后的视频数据帧进行缩放处理和/或颜色空间转换处理,并将处理后的视频数据帧按照顺序保存到所述数据文件中。8.根据权利要求2所述的方法,其特征在于,还包括:针对从所述待处理视频中获取到的GOP,按照从最后一帧到第一帧的顺序,从该GOP对应的数据文件中依次获取视频数据帧并进行编码,直至处理完所述待处理视频的所有GOP对应的数据文件,得到所述待处理视频对应的倒放视频。9.根据权利要求8所述的方法,其特征在于,所述针对从所述待处理视频中获取到的GOP,按照从最后一帧到第一帧的顺序,从该GOP对应的数据文件中依次获取视频数据帧并进行编码,直至处理完所述待处理视频的所有GOP对应的数据文件,得到所述待处理视频对应的倒放视频,包括:创建编码线程;所述编码线程获取未进行编码处理的数据文件;所述编码线程按照从最后一帧到第一帧的顺序,读取所述数据文件中的视频数据帧;所述编码线程对读取到的视频数据帧进行编码,继续获取下一个未进行编码处理的数据文件并进行上述的编码处理,直至处理完所有未进行编码处理的数据文件,得到所述待处理视频对应的倒放视频。10.根据权利要求9所述的方法,其特征在于,所述编码线程对读取到的视频数据帧进行编码,包括:所述编码线程使用开放图形库将读取到的视频数据帧上传至硬编码对应的第二指定存储位置,并使用硬编码对所述第二指定存储位置中的视频数据帧进行编码。11.根据权利要求8所述的方法,其特征在于,在按照从最后一帧到第一帧的顺序,从该GOP对应的数据文件中依次获取视频数据帧并进行编码之后,还包括:删除该GOP对应的数据文件。12.一种视频处理装置,其特征在于,包括...

【专利技术属性】
技术研发人员:尚磊磊
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1