一种分段视频的处理方法、装置、终端和存储介质与流程

文档序号:17727907发布日期:2019-05-22 02:38阅读:228来源:国知局
一种分段视频的处理方法、装置、终端和存储介质与流程

本发明涉及视频处理技术领域,特别是涉及一种分段视频的处理方法、装置、终端和存储介质。



背景技术:

随着移动互联网的发展,移动终端上的应用程序越来越多,出现了很多短视频应用程序,用户通过短视频应用程序可以向其他用户分享自己录制的短视频,也可以查看其他用户分享的短视频。

短视频应用程序还可以提供分段拍摄的功能,用户使用短视频应用程序拍摄一个分段视频后可以暂停拍摄,并在确定下一拍摄位置或者拍摄时间后再拍摄下一个分段视频。

在分段拍摄时,相邻两个分段视频之间的画面本身不连续,直接合成为一段视频后导致画面存在突变。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种分段视频的处理方法、装置、终端和存储介质。

依据本发明的第一方面,提供了一种分段视频的处理方法,包括:

获取待合成的两个分段视频;

根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧;

对所述两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧;

根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频。

可选的,根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧,包括:

根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的视频帧,以作为前一个分段视频待叠加的视频帧;

根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的视频帧,以作为后一个分段视频待叠加的视频帧。

可选的,对所述两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧,包括:

对所述两个分段视频中前一个分段视频中待叠加的视频帧分别按照对应的第一设定透明度比例进行处理,得到前一个分段视频中处理后的视频帧,以作为第一视频帧;

对所述两个分段视频中后一个分段视频中待叠加的视频帧分别按照对应的第二设定透明度比例进行处理,得到后一个分段视频中处理后的视频帧,以作为第二视频帧;

将所述第一视频帧与对应的第二视频帧进行叠加,得到叠加后的视频帧。

可选的,所述两个分段视频中前一个分段视频中待叠加的视频帧对应的第一设定透明度比例从1逐渐变为0;

所述两个分段视频中后一个分段视频中待叠加的视频帧对应的第二设定透明度比例从0逐渐变为1;

所述第一设定透明度比例和对应的第二设定透明度比例之和为1。

可选的,对所述两个分段视频中待合成的视频帧进行对应叠加,得到叠加后的视频帧,包括:

按照每个待叠加的视频帧对应的设定透明度比例,通过开放图形库对所述两个分段视频中前一个分段视频中待叠加的视频帧与对应的后一个分段视频中待叠加的视频帧进行纹理叠加,得到叠加后的视频帧。

可选的,所述根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频之前,所述方法还包括:

根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的音频数据;

对所述两个分段视频中待叠加的音频数据进行叠加,得到叠加后的音频数据;

所述根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频,包括:

根据所述合成顺序,对所述两个分段视频、叠加后的视频帧和叠加后的音频数据进行合成,得到目标视频。

可选的,根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的音频数据,包括:

根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的音频数据,以作为前一个分段视频待叠加的音频数据;

根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的音频数据,以作为后一个分段视频待叠加的音频数据。

可选的,对所述两个分段视频中待叠加的音频数据进行叠加,得到叠加后的音频数据,包括:

按照第一设定音量比例,对所述两个分段视频中前一个分段视频中待叠加的音频数据进行处理,得到前一个分段视频中处理后的音频数据,以作为第一音频数据;

按照第二设定音量比例,对所述两个分段视频中后一个分段视频中待叠加的音频数据进行处理,得到后一个分段视频中处理后的音频数据,以作为第二音频数据;

将所述第一音频数据和所述第二音频数据进行叠加,得到叠加后的音频数据。

可选的,在获取待合成的两个分段视频之前,还包括:

在录制当前分段视频时,获取录制前一分段视频时素材播放的暂停位置,并将所述暂停位置对应的视频帧作为当前帧;

获取所述当前帧对应的关键帧,并从所述关键帧开始逐帧解码,将所述当前帧之前的视频帧解码后得到的视频数据丢弃,并丢弃所述当前帧之前的视频帧对应的音频数据,直到解码到当前帧开始播放并显示所述素材,同时录制所述当前分段视频。

依据本发明的第二方面,提供了一种分段视频的处理装置,包括:

分段视频获取模块,用于获取待合成的两个分段视频;

视频帧获取模块,用于根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧;

视频帧叠加模块,用于对所述两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧;

视频合成模块,用于根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频。

可选的,所述视频帧获取模块包括:

第一视频帧获取单元,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的视频帧,以作为前一个分段视频待叠加的视频帧;

第二视频帧获取单元,用于根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的视频帧,以作为后一个分段视频待叠加的视频帧。

可选的,所述视频帧叠加模块包括:

第一视频帧处理单元,用于对所述两个分段视频中前一个分段视频中待叠加的视频帧分别按照对应的第一设定透明度比例进行处理,得到前一个分段视频中处理后的视频帧,以作为第一视频帧;

第二视频帧处理单元,用于对所述两个分段视频中后一个分段视频中待叠加的视频帧分别按照对应的第二设定透明度比例进行处理,得到后一个分段视频中处理后的视频帧,以作为第二视频帧;

视频帧叠加单元,用于将所述第一视频帧与对应的第二视频帧进行叠加,得到叠加后的视频帧。

可选的,所述两个分段视频中前一个分段视频中待叠加的视频帧对应的第一设定透明度比例从1逐渐变为0;

所述两个分段视频中后一个分段视频中待叠加的视频帧对应的第二设定透明度比例从0逐渐变为1;

所述第一设定透明度比例和对应的第二设定透明度比例之和为1。

可选的,所述视频帧叠加模块具体用于:

按照每个待叠加的视频帧对应的设定透明度比例,通过开放图形库对所述两个分段视频中前一个分段视频中待叠加的视频帧与对应的后一个分段视频中待叠加的视频帧进行纹理叠加,得到叠加后的视频帧。

可选的,所述装置还包括:

音频数据获取模块,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的音频数据;

音频数据叠加模块,用于对所述两个分段视频中待叠加的音频数据进行叠加,得到叠加后的音频数据;

所述视频合成模块具体用于:

根据所述合成顺序,对所述两个分段视频、叠加后的视频帧和叠加后的音频数据进行合成,得到目标视频。

可选的,所述音频数据获取模块包括:

第一音频数据获取单元,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的音频数据,以作为前一个分段视频待叠加的音频数据;

第二音频数据获取单元,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的音频数据,以作为后一个分段视频待叠加的音频数据。

可选的,所述音频数据叠加模块包括:

第一音频数据处理单元,用于按照第一设定音量比例,对所述两个分段视频中前一个分段视频中待叠加的音频数据进行处理,得到前一个分段视频中处理后的音频数据,以作为第一音频数据;

第二音频数据处理单元,用于按照第二设定音量比例,对所述两个分段视频中后一个分段视频中待叠加的音频数据进行处理,得到后一个分段视频中处理后的音频数据,以作为第二音频数据;

音频数据叠加单元,用于将所述第一音频数据和所述第二音频数据进行叠加,得到叠加后的音频数据。

可选的,所述装置还包括:

当前帧确定模块,用于在录制当前分段视频时,获取录制前一分段视频时素材播放的暂停位置,并将所述暂停位置对应的视频帧作为当前帧;

解码处理模块,用于获取所述当前帧对应的关键帧,并从所述关键帧开始逐帧解码,将所述当前帧之前的视频帧解码后得到的视频数据丢弃,并丢弃所述当前帧之前的视频帧对应的音频数据,直到解码到当前帧开始播放并显示所述素材,同时录制所述当前分段视频。

依据本发明的第三方面,提供了一种终端,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面中所述的分段视频的处理方法。

依据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的分段视频的处理方法。

针对在先技术,本发明具备如下优点:

本发明提供的分段视频的处理方法、装置、终端和存储介质,通过获取待合成的两个分段视频,根据设定时间长度和所述两个分段视频的合成顺序从两个分段视频中分别获取待叠加的视频帧,对两个分段视频中待叠加的视频帧进行叠加,得到叠加后的视频帧,根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频,由于在对两个分段视频进行合成时对这两个分段视频之间的部分视频帧进行了对应叠加,从而增加了合成后的视频的转场效果,减少了画面突变。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。

图1是本发明实施例提供的一种分段视频的处理方法的步骤流程图;

图2是本发明实施例提供的一种分段视频的处理方法的步骤流程图;

图3是本发明实施例提供的一种分段视频的处理方法的步骤流程图;

图4是本发明实施例中的录制当前分段视频时播放素材的流程图;

图5是本发明实施例提供的一种分段视频的处理装置的结构框图;

图6为本发明实施例提供的一种终端的结构框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1是本发明实施例提供的一种分段视频的处理方法的步骤流程图,该方法可以应用于终端,如图1所示,该方法可以包括:

步骤101,获取待合成的两个分段视频。

其中,所述分段视频可以是用户预先录制并保存的视频,也可以是用户通过其他方式录制并导入的视频。

在接收到用户对分段视频的合成指令时,可以从分段视频的保存位置获取待合成的两个分段视频,或者,也可以根据用户指定的路径获取待合成的两个分段视频。

步骤102,根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧。

其中,设定时间长度是预先设置的用于提供转场效果的时间长度,可以是固定的时间长度,如1秒,也可以由用户设置。合成顺序可以是用户指定的顺序,或者,也可以根据两个分段视频的存储时间顺序确定。

本发明实施例中,在对两个分段视频进行合成时,并不是直接将两个分段视频拼接在一起,而是将两个分段视频中相邻的各设定时间长度的视频帧按照顺序对应叠加后再合成视频,从而提供了一种转场效果,减少视频画面的突变。

可选的,根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧,包括:

根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的视频帧,以作为前一个分段视频待叠加的视频帧;

根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的视频帧,以作为后一个分段视频待叠加的视频帧。

对两个分段视频进行合成并添加转场效果时,需要将两个分段视频中相邻的设定时间长度的视频帧进行叠加,从而可以从一个分段视频的场景慢慢转变到后一个分段视频中的场景中。因此,根据两个分段视频的合成顺序,在前一个分段视频的结束位置解码出设定时间长度的视频帧,作为前一个分段视频帧中待叠加的视频帧,在后一个分段视频的开始位置解码出设定时间长度的视频帧,作为后一个分段视频中待叠加的视频帧,便于后续按照合成顺序将前一个分段视频中的待叠加的视频帧和后一个分段视频中的待叠加的视频帧进行叠加。

步骤103,对所述两个分段视频中待叠加的视频帧进行叠加,得到叠加后的视频帧。

因为两个分段视频中均获取了设定时间长度内的视频帧作为待叠加的视频帧,所以两个分段视频中待叠加的视频帧的数量相同,对两个分段视频中待叠加的视频帧进行对应叠加时,按照时间顺序将两个分段视频中对应的视频帧进行叠加,得到叠加后的视频帧。合成视频后,叠加后的视频帧的播放时间等于设定时间长度。两个分段视频中对应的视频帧进行叠加是指两个分段视频中对应的视频帧的各个像素分别进行对应叠加。

例如,需要将视频分段1和视频分段2合成为一个视频,假设帧率为每秒30帧,设定时间长度为0.5秒,则视频分段1中待叠加的视频帧的数量和视频分段2中待叠加的视频帧的数量均为15,则从视频分段1的末尾截取15个连续的视频帧,从视频分段2的开始位置截取15个连续的视频帧,按照各个视频帧在对应视频分段中的顺序,将视频分段1的第一个视频帧与视频分段2的第一个视频帧进行叠加,将视频分段1的第二个视频帧与视频分段2的第二个视频帧进行叠加,将视频分段1的第三个视频帧与视频分段2的第三个视频帧进行叠加,以此类推,直至将视频分段1的第十五个视频帧与视频分段2的第十五个视频帧进行叠加,从而得到15个叠加后的视频帧。需要说明的是,两个分段视频合成后得到的视频的时间等于两个分段视频的时间之和减去设定时间长度。

步骤104,根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频。

按照合成顺序,对前一个分段视频中待叠加的视频帧以外的视频帧、合成后的视频帧和后一个分段视频中待叠加的视频帧以外的视频帧进行视频编码,从而将两个分段视频合成为一个完整的目标视频。通过对两个分段视频中设定时间长度的视频帧进行叠加,添加了视频的转场效果,两个分段视频合成后的视频的时间长度等于这两个分段视频的时间之和减去设定时间长度。例如,待合成的两个分段视频的时间长度各为5秒,设定时间长度为1秒,则将前一个分段视频的最后一秒的视频帧分别与后一个分段视频的开始一秒的视频帧进行对应叠加,得到转场效果,最后合成得到的视频的时间为9秒。

本实施例提供的分段视频的处理方法,通过获取待合成的两个分段视频,根据设定时间长度和所述两个分段视频的合成顺序从两个分段视频中分别获取待叠加的视频帧,对两个分段视频中待叠加的视频帧进行叠加,得到叠加后的视频帧,根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频,由于在对两个分段视频进行合成时对这两个分段视频之间的部分视频帧进行了对应叠加,从而增加了合成后的视频的转场效果,减少了画面突变。

在上述技术方案的基础上,对所述两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧,提供了以下可行的实施方案:

对所述两个分段视频中前一个分段视频中待叠加的视频帧分别按照对应的第一设定透明度比例进行处理,得到前一个分段视频中处理后的视频帧,以作为第一视频帧;

对所述两个分段视频中后一个分段视频中待叠加的视频帧分别按照对应的第二设定透明度比例进行处理,得到后一个分段视频中处理后的视频帧,以作为第二视频帧;

将所述第一视频帧与对应的第二视频帧进行叠加,得到叠加后的视频帧。

其中,第一设定透明度比例是两个分段视频中前一个分段视频中待叠加的视频帧对应的透明度比例,前一个分段视频中待叠加的视频帧对应的第一设定透明度比例从1逐渐变为0。例如,待叠加的视频帧的数量为5,则待叠加的第一个视频帧对应的第一设定透明度比例为1,待叠加的第二个视频帧对应的第一设定透明度比例为0.75,待叠加的第三个视频帧对应的第一设定透明度比例为0.5,待叠加的第四个视频帧对应的第一设定透明度比例为0.25,待叠加的第五个视频帧对应的第一设定透明度比例为0。

第二设定透明度比例是两个分段视频中后一个分段视频中待叠加的视频帧对应的透明度比例,后一个分段视频中待叠加的视频帧对应的第二设定透明度比例从0逐渐变为1。例如,待叠加的视频帧的数量为5,则待叠加的第一个视频帧对应的第二设定透明度比例为0,待叠加的第二个视频帧对应的第二设定透明度比例为0.25,待叠加的第三个视频帧对应的第二设定透明度比例为0.5,待叠加的第四个视频帧对应的第二设定透明度比例为0.75,待叠加的第五个视频帧对应的第二设定透明度比例为1。

所述第一设定透明度比例和对应的第二设定透明度比例之和为1,即按照时间顺序,前一个分段视频中待叠加的视频帧对应的第一透明度比例与对应的后一个分段视频中待叠加的视频帧对应的第二透明度比例之和为1。例如,如上所述例子中,前一个分段视频中待叠加的第一帧对应的第一设定透明度比例与后一个分段视频中待叠加的第一帧对应的第二设定透明度比例之和为1,其他各个视频帧类似。其中,第一设定透明度比例和第二设定透明度比例的对应关系由各自对应的待叠加的视频帧的对应关系决定,而前一个分段视频中待叠加的视频帧与后一个分段视频中待叠加的视频帧的对应关系是按照时间顺序对应的,即前一个分段视频中待叠加的视频帧的第一帧与后一个分段视频帧中待叠加的第一帧对应,前一个分段视频中待叠加的视频帧的第二帧与后一个分段视频帧中待叠加的第二帧对应,以此类推,得到两个分段视频中所有待叠加的视频帧的对应关系。

第一视频帧和第二视频帧是进行透明度处理后的视频帧,按照时间顺序,将第一视频帧与对应的第二视频帧进行叠加,得到叠加后的视频帧。例如,仍以上述待叠加的视频帧的数量为5为例,将前一个分段视频中得到的第一个第一视频帧与后一个分段视频中得到的第一个第二视频帧进行叠加,得到叠加后的第一个视频帧;将前一个分段视频中得到的第二个第一视频帧与后一个分段视频中得到的第二个第二视频帧进行叠加,得到叠加后的第二个视频帧;将前一个分段视频中得到的第三个第一视频帧与后一个分段视频中得到的第三个第二视频帧进行叠加,得到叠加后的第三个视频帧;将前一个分段视频中得到的第四个第一视频帧与后一个分段视频中得到的第四个第二视频帧进行叠加,得到叠加后的第四个视频帧;将前一个分段视频中得到的第五个第一视频帧与后一个分段视频中得到的第五个第二视频帧进行叠加,得到叠加后的第五个视频帧。由于前一个分段视频中的视频帧的透明度比例从1逐渐变为0,从而前一个分段视频慢慢消失,同时后一个分段视频中的视频帧的透明度比例从0逐渐变为1,从而后一个分段视频慢慢出现,使得前一个分段视频中的场景慢慢切换到后一个分段视频的场景中,从而可以避免分段视频合成后的画面突变。

在上述技术方案的基础上,对所述两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧,提供了以下可行的实施方案:

按照每个待叠加的视频帧对应的设定透明度比例,通过开放图形库对所述两个分段视频中前一个分段视频中待叠加的视频帧与对应的后一个分段视频中待叠加的视频帧进行纹理叠加,得到叠加后的视频帧。

其中,开放图形库(opengraphicslibrary,opengl)是用于渲染2d、3d矢量图形的跨语言、跨平台的应用程序编程接口(applicationprogramminginterface,api)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。opengl常用于cad、虚拟实境、科学可视化程序和电子游戏开发。纹理(texture)是opengl中的术语,用于存放色彩信息。

使用开放图形库可以方便的进行纹理叠加,得到叠加后的视频帧。针对每一个待叠加的视频帧设定一个透明度比例,根据设定透明度比例,将前一个分段视频中待叠加的视频帧和后一个分段视频中待叠加的视频帧进行纹理叠加,得到对应的叠加后的视频帧。按照时间顺序,设定透明度比例从0逐渐变为1,即前一个分段视频中待叠加的视频帧的透明度比例从1逐渐变为0,而后一个分段视频中待叠加的视频帧的透明度比例从0逐渐变为1,两者之和等于1。

由于前一个分段视频中的视频帧的透明度比例从1逐渐变为0,从而前一个分段视频慢慢消失,同时后一个分段视频中的视频帧的透明度比例从0逐渐变为1,从而后一个分段视频慢慢出现,使得前一个分段视频中的场景慢慢切换到后一个分段视频的场景中,从而可以避免分段视频合成后的画面突变,而且通过opengl进行处理,处理速度较快。

图2是本发明实施例提供的一种分段视频的处理方法的步骤流程图,如图2所示,该方法具体可以包括:

步骤201,获取待合成的两个分段视频。

本步骤的具体内容与上述实施例中的步骤101的具体内容相同,这里不再赘述。

步骤202,根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧。

本步骤的具体内容与上述实施例中的步骤102的具体内容相同,这里不再赘述。

步骤203,对所述两个分段视频中待叠加的视频帧进行叠加,得到叠加后的视频帧。

本步骤的具体内容与上述实施例中的步骤103的具体内容相同,这里不再赘述。

步骤204,根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的音频数据。

在一种具体的实施方案中,根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的音频数据,包括:

根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的音频数据,以作为前一个分段视频待叠加的音频数据;

根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的音频数据,以作为后一个分段视频待叠加的音频数据。

通过安卓端在录制视频时,由于安卓系统的原因会导致开始录制时存在一段静音,从而两个分段视频中后一个分段视频的起始位置存在静音,如果直接将前一个分段视频和后一个分段视频的音频数据拼接在一起,两个分段视频之间会存在一段静音。为了减少两个分段视频之间由于安卓系统的原因导致的静音,本发明实施例可以给两个分段视频的音频数据添加转场效果,即将两个分段视频中各相邻的设定时间长度的音频数据进行叠加,得到音频数据的转场效果。因此,从两个分段视频中前一个分段视频的结束位置解码出设定时间长度的音频数据,从两个分段视频中后一个分段视频的开始位置解码出设定时间长度的音频数据,便于后续进行叠加,叠加后的音频数据在播放时会同时播放两路音频数据,从而经过两个分段视频的音频数据的叠加,可以减少安卓系统导致的静音。

步骤205,对所述两个分段视频中待叠加的音频数据进行叠加,得到叠加后的音频数据。

将两个分段视频中待叠加的音频数据进行叠加,得到叠加后的音频数据,叠加后的音频数据的持续时间为设定时间长度。

在一种具体的实施方案中,对所述两个分段视频中待叠加的音频数据进行叠加,得到叠加后的音频数据,包括:

按照第一设定音量比例,对所述两个分段视频中前一个分段视频中待叠加的音频数据进行处理,得到前一个分段视频中处理后的音频数据,以作为第一音频数据;

按照第二设定音量比例,对所述两个分段视频中后一个分段视频中待叠加的音频数据进行处理,得到后一个分段视频中处理后的音频数据,以作为第二音频数据;

将所述第一音频数据和所述第二音频数据进行叠加,得到叠加后的音频数据。

其中,第一设定音量比例是前一个分段视频中待叠加的视频帧在叠加后的音频数据中所占的音量比例,第二设定音量比例是后一个分段视频中待叠加的音频数据在叠加后的音频数据中所占的音量比例。

将两个分段视频中前一个分段视频中待叠加的音频数据乘以第一设定音量比例,得到第一音频数据,将后一个分段视频中待叠加的音频数据乘以第二设定音量比例,得到第二音频数据,将第一音频数据和第二音频数据进行叠加,得到叠加后的音频数据。叠加后的音频数据在合成视频后可以同时播放两路音频数据,所以即使后一个分段视频中存在静音,在叠加后由于还存在前一个分段视频的声音,从而在合成后的视频中减少了两个分段视频之间由于安卓系统导致的静音,提升了合成后的视频中的声音效果。

步骤206,根据所述合成顺序,对所述两个分段视频、叠加后的视频帧和叠加后的音频数据进行合成,得到目标视频。

按照合成顺序,对前一个分段视频中待叠加的视频帧以外的视频数据和待叠加的音频数据以外的音频数据、叠加后的视频帧和叠加后的音频数据,以及后一个分段视频中的视频数据待叠加的视频帧以外的视频数据和待叠加的音频数据以外的音频数据进行视频编码,从而将两个分段视频合成为一个完整的目标视频。经过添加视频和音频的转场效果,两个分段视频合成后的视频的时间长度等于这两个分段视频的时间之和减去设定时间长度。例如,待合成的两个分段视频的时间长度各为5秒,设定时间长度为1秒,则将前一个分段视频的最后一秒的视频帧和音频数据,分别与后一个分段视频的开始一秒的视频帧和音频数据进行叠加,之后再进行视频合成,得到的合成后的视频的时间为9秒。

本实施例提供的分段视频的处理方法,通过获取待合成的两个分段视频,在对两个分段视频进行合成之前,对两个分段视频之间的设定时间长度的视频帧和音频数据分别进行叠加,之后再合成为视频,从而通过视频帧的叠加增加了视频的转场效果,减少了画面突变,通过音频数据的叠加增加了音频的转场效果,减少了两个分段视频之间的静音时间,提升了声音效果。

图3是本发明实施例提供的一种分段视频的处理方法的步骤流程图。提供反应(reaction)模式拍摄功能的短视频应用程序,可以一边播放素材,一边录制用户的反应。在进行分段拍摄时,拍摄完成一个分段视频后,需要暂停素材的播放,在录制下一个分段视频时,根据素材的暂停位置播放素材并录制分段视频。现有技术中,由于在播放素材时,需要先对素材进行解码,而解码必须从关键帧开始解码并播放,逐步解码到暂停位置对应的当前帧,由于录制前一分段视频时对从关键帧到当前帧之间的视频帧进行了播放,录制后一分段视频时还需要从关键帧开始解码并播放到当前帧,这就导致从关键帧到当前帧的视频帧在录制暂停前后进行了重复播放。本实施例可以进一步解决这个问题。

如图3所示,该方法可以包括:

步骤301,在录制当前分段视频时,获取录制前一分段视频时素材播放的暂停位置,并将所述暂停位置对应的视频帧作为当前帧。

在录制当前分段视频时,如果之前已经录制了一个分段视频,则需要获取录制前一分段视频时素材播放的暂停位置,并将暂停位置对应的视频帧作为当前帧。其中,暂停位置可以为时间的形式。

步骤302,获取所述当前帧对应的关键帧,并从所述关键帧开始逐帧解码,将所述当前帧之前的视频帧解码后得到的视频数据丢弃,并丢弃所述当前帧之前的视频帧对应的音频数据,直到解码到当前帧开始播放并显示所述素材,同时录制所述当前分段视频。

通过硬件编解码(如mediacodec)或软件编解码跳转(seek)到当前帧对应的关键帧,并从关键帧开始逐帧解码,将当前帧之前的视频帧解码后得到的视频帧丢弃,对这些视频数据不进行播放及显示,同时丢弃当前帧之前的视频帧对应的音频数据,对这些音频数据不进行播放,直到解码到当前帧,从当前帧开始播放并显示素材中的视频帧并播放对应的音频数据,在播放素材的同时录制当前分段视频。在录制当前分段视频时对关键帧到当前帧之间的素材不进行播放,从而可以避免当前帧对应的关键帧到当前帧之间的素材在录制暂停前后播放重复。

图4是本发明实施例中的录制当前分段视频时播放素材的流程图,如图4所示,录制当前分段视频时播放素材的过程包括:

步骤3021,在开始录制当前分段视频时,跳转至当前帧对应的关键帧;

步骤3022,从关键帧开始逐帧解码;

步骤3023,判断当前解码的视频帧的时间戳是否大于或等于所述当前帧的时间戳,如果否,则执行步骤3024,如果是,则执行步骤3027;

步骤3024,判断当前解码的视频帧是否包含文件结束符(endoffile,eof),如果否,则执行步骤3025,如果是,则执行步骤3026;

步骤3025,丢弃当前解码的视频帧,之后执行步骤3022;

步骤3026,显示素材的最后一个视频帧;

步骤3027,显示当前解码的视频帧。

步骤303,获取待合成的两个分段视频。

可以在获取到两个分段视频的合成指令时,从指定位置获取待合成的两个分段视频。两个分段视频中的后一个分段视频是按照步骤301和步骤302录制得到的,而前一个分段视频可以正常录制,不必进行步骤301和步骤302的处理,在录制后一个分段视频时,为了避免录制暂停前后素材的重复播放,按照步骤301和步骤302进行录制。

步骤304,根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧。

本步骤的具体内容与上述实施例中的步骤102的具体内容相同,这里不再赘述。

步骤305,对所述两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧。

本步骤的具体内容与上述实施例中的步骤103的具体内容相同,这里不再赘述。

步骤306,根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频。

本步骤的具体内容与上述实施例中的步骤104的具体内容相同,这里不再赘述。

本实施例提供的分段视频的处理方法,在上述实施例的基础上,通过在录制当前分段视频时获取录制前一分段视频时素材播放的暂停位置,将暂停位置对应的视频帧作为当前帧,获取当前帧对应的关键帧,从关键帧开始解码,将当前帧之前的视频帧解码后得到的视频数据丢弃,并丢弃当前帧之前的视频帧对应的音频数据,直到解码到当前帧开始播放并显示素材,同时录制当前分段视频,这样可以避免录制暂停前后素材播放的重复,从而可以避免后续合成视频时的重复。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

图5是本发明实施例提供的一种分段视频的处理装置的结构框图,该分段视频的处理装置可以应用于终端中,如图5所示,该分段视频的处理装置500可以包括:

分段视频获取模块501,用于获取待合成的两个分段视频;

视频帧获取模块502,用于根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的视频帧;

视频帧叠加模块503,用于对所述两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧;

视频合成模块504,用于根据所述合成顺序,对所述两个分段视频和叠加后的视频帧进行合成,得到目标视频。

可选的,所述视频帧获取模块包括:

第一视频帧获取单元,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的视频帧,以作为前一个分段视频待叠加的视频帧;

第二视频帧获取单元,用于根据设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的视频帧,以作为后一个分段视频待叠加的视频帧。

可选的,所述视频帧叠加模块包括:

第一视频帧处理单元,用于对所述两个分段视频中前一个分段视频中待叠加的视频帧分别按照对应的第一设定透明度比例进行处理,得到前一个分段视频中处理后的视频帧,以作为第一视频帧;

第二视频帧处理单元,用于对所述两个分段视频中后一个分段视频中待叠加的视频帧分别按照对应的第二设定透明度比例进行处理,得到后一个分段视频中处理后的视频帧,以作为第二视频帧;

视频帧叠加单元,用于将所述第一视频帧与对应的第二视频帧进行叠加,得到叠加后的视频帧。

可选的,所述两个分段视频中前一个分段视频中待叠加的视频帧对应的第一设定透明度比例从1逐渐变为0;

所述两个分段视频中后一个分段视频中待叠加的视频帧对应的第二设定透明度比例从0逐渐变为1;

所述第一设定透明度比例和对应的第二设定透明度比例之和为1。

可选的,所述视频帧叠加模块具体用于:

按照每个待叠加的视频帧对应的设定透明度比例,通过开放图形库对所述两个分段视频中前一个分段视频中待叠加的视频帧与对应的后一个分段视频中待叠加的视频帧进行纹理叠加,得到叠加后的视频帧。

可选的,所述装置还包括:

音频数据获取模块,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中分别获取待叠加的音频数据;

音频数据叠加模块,用于对所述两个分段视频中待叠加的音频数据进行叠加,得到叠加后的音频数据;

所述视频合成模块具体用于:

根据所述合成顺序,对所述两个分段视频、叠加后的视频帧和叠加后的音频数据进行合成,得到目标视频。

可选的,所述音频数据获取模块包括:

第一音频数据获取单元,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的前一个分段视频的结束位置解码出所述设定时间长度的音频数据,以作为前一个分段视频待叠加的音频数据;

第二音频数据获取单元,用于根据所述设定时间长度和所述两个分段视频的合成顺序,从所述两个分段视频中的后一个分段视频的起始位置解码出所述设定时间长度的音频数据,以作为后一个分段视频待叠加的音频数据。

可选的,所述音频数据叠加模块包括:

第一音频数据处理单元,用于按照第一设定音量比例,对所述两个分段视频中前一个分段视频中待叠加的音频数据进行处理,得到前一个分段视频中处理后的音频数据,以作为第一音频数据;

第二音频数据处理单元,用于按照第二设定音量比例,对所述两个分段视频中后一个分段视频中待叠加的音频数据进行处理,得到后一个分段视频中处理后的音频数据,以作为第二音频数据;

音频数据叠加单元,用于将所述第一音频数据和所述第二音频数据进行叠加,得到叠加后的音频数据。

可选的,所述装置还包括:

当前帧确定模块,用于在录制当前分段视频时,获取录制前一分段视频时素材播放的暂停位置,并将所述暂停位置对应的视频帧作为当前帧;

解码处理模块,用于获取所述当前帧对应的关键帧,并从所述关键帧开始逐帧解码,将所述当前帧之前的视频帧解码后得到的视频数据丢弃,并丢弃所述当前帧之前的视频帧对应的音频数据,直到解码到当前帧开始播放并显示所述素材,同时录制所述当前分段视频。

本实施例提供的分段视频的处理装置,通过分段视频获取模块获取待合成的两个分段视频,视频帧获取模块根据设定时间长度和所述两个分段视频的合成顺序从两个分段视频中分别获取待叠加的视频帧,视频帧叠加模块对两个分段视频中待叠加的视频帧进行对应叠加,得到叠加后的视频帧,视频合成模块根据所述合成顺序对两个分段视频和叠加后的视频帧进行合成,得到目标视频,由于在对两个分段视频进行合成时对这两个分段视频之间的部分视频帧进行了对应叠加,从而增加了合成后的视频的转场效果,减少了画面突变。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

图6为本发明实施例提供的一种终端的结构框图。如图6所示,该终端600可以包括与一个或多个数据存储工具连接的处理器601,该数据存储工具可以包括内存单元602和存储介质603。终端600还可以包括输入接口604和输出接口605,用于与另一装置或系统进行通信。被处理器601的cpu执行的程序代码可存储在内存单元602或存储介质603中。

终端600中的处理器601调用存储在内存单元602或存储介质603的程序代码,以执行上述实施例中的分段视频的处理方法。

其中,存储介质可以是只读存储器(read-onlymemory,rom),或是可读写的,例如硬盘、闪存。内存单元可为随机存取存储器(randomaccessmemory,ram)。内存单元可与处理器物理集成或集成在存储器中或构建为单独的单元。

处理器为上述终端的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。可选地,处理器包括一个或多个中央处理单元(cpu)。上述终端中包括一个或者多个的处理器。处理器可为单核(单cpu)处理器或多核(多cpu)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。

被处理器的cpu执行的程序代码可存储在内存单元或存储介质中。可选地,存储在存储介质中的程序代码可以被复制入内存单元以便处理器的cpu执行。处理器可执行至少一个内核(例如linuxtm、unixtm、windowstm、androidtm、iostm),众所周知,该内核用于通过控制其他程序或过程的执行、控制与外围装置的通信以及控制计算机设备资源的使用来控制上述终端的操作。

上述终端中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。

根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,存储介质可以是只读存储器(read-onlymemory,rom),或是可读写的,例如硬盘、闪存。所述计算机程序被处理器执行时实现前述实施例的分段视频的处理方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种分段视频的处理方法、装置、终端和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1