视频文件处理方法和装置与流程

文档序号:16736104发布日期:2019-01-28 12:38阅读:145来源:国知局
视频文件处理方法和装置与流程

本申请涉及多媒体技术领域,特别涉及一种视频文件处理方法和装置。



背景技术:

现如今,智能设备通常都具有视频拍摄的功能,用户可随时进行拍摄操作,并且还可对拍摄的多个视频文件进行编辑处理,以获取到自己满意的视频文件。例如,对视频文件进行拼接或裁剪等。

在实际应用中,为了减小视频文件大小,通常会对视频文件进行压缩编码处理。常用的编码方式包括:h.264、h.265等。以编码方式为h.265为例,对视频文件进行编码操作时,会生成一个序列参数集(sequenceparameterset,简称:sps)、一个图像参数集(pictureparamaterset,简称:pps)以及一组图像帧。视频文件采用的编码参数不同时,编码生成的sps、pps也不同。

相关技术中,在将多个编码参数不同的视频文件在拼接时,需要先将多个视频文件分别进行解码,以得到对应的灰度图,然后再把所有的灰度图通过相同的编码参数进行编码,以生成可播放的视频。但是由于编码和解码过程比较耗时,导致多个视频文件进行拼接处理时,处理过程复杂,耗时长,影响用户体验。



技术实现要素:

本申请提供一种视频文件处理方法和装置,用于解决相关技术中,在对视频文件进行拼接处理时,处理过程复杂,耗时长,影响用户体验的问题。

本申请一方面实施例提供一种视频文件处理方法,该方法包括:将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与所述第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元;将所述第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含所述第一视频文件的总视频文件,其中,所述预设的视频文件封装器中包含待与所述第一视频文件进行拼接的其它视频文件对应的网络抽象层单元。

本申请另一方面实施例提供一种视频文件处理装置,该装置包括:处理模块,用于将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与所述第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元;获取模块,用于将所述第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含所述第一视频文件的总视频文件,其中,所述预设的视频文件封装器中包含待与所述第一视频文件进行拼接的其它视频文件对应的网络抽象层单元。

本申请又一方面实施例提供一种计算机设备,该计算机设备包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,以实现第一方面实施例所述的视频文件处理方法。

本申请再一方面实施例的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,以实现第一方面实施例所述的视频文件处理方法。

本申请再一方面实施例的计算机程序,当所述计算机程序被处理器执行时,以实现第一方面实施例所述的视频文件处理方法。

本申请公开的技术方案,具有如下有益效果:

通过将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,然后将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件。由此,实现了对视频文件进行拼接处理时,不需要对多个图像帧进行解码和重新编码的操作,从而提高了视频文件的处理速度,减少了用户等待时间,改善了用户体验。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,

图1是根据本申请一示例性实施例示出的视频文件处理方法的流程示意图;

图2是根据本申请另一示例性实施例示出的视频文件处理方法的流程示意图;

图3是根据本申请一示例性实施例示出的获取第一组图像帧及第一序列参数集、第一图像参数集的流程示意图;

图4是根据本申请另一示例性实施例示出的获取第一组图像帧及第一序列参数集、第一图像参数集的流程示意图;

图5是根据本申请又一示例性实施例示出的视频文件处理方法的流程示意图;

图6是根据本申请一示例性实施例示出的视频文件处理装置的结构示意图;

图7是根据本申请另一示例性实施例示出的视频文件处理装置的结构示意图;

图8是根据本申请另一示例性实施例示出的视频文件处理装置的结构示意图;

图9是根据本申请一示例性实施例示出的计算机设备的结构示意图;

图10是根据本申请另一示例性实施例示出的计算机设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请各实施例针对相关技术中,在对视频文件进行拼接处理时,处理过程复杂,耗时长,影响用户体验的问题,提出一种视频文件处理方法。

本申请实施例,通过将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,然后将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件,其中预设的视频文件封装器中包含待与第一视频文件进行拼接的其它视频文件对应的网络抽象层单元。由此,实现了对视频文件进行拼接处理时,不需要对多个图像帧进行解码和重新编码的操作,从而提高了视频文件的处理速度,减少了用户等待时间,改善了用户体验。

下面参考附图描述本申请实施例的视频文件处理方法和装置进行详细说明。

首先,结合图1对本申请中视频文件处理方法进行具体说明。

图1是根据本申请一示例性实施例示出的视频文件处理方法的流程示意图。

如图1所示,本申请的视频文件处理方法可以包括以下步骤:

步骤101,将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元。

其中,本申请实施例提供的视频文件处理方法,可以由本申请实施例提供的计算机设备执行。其中,计算机设备中设置有视频文件处理装置,以实现对视频文件的处理进行控制。本实施例计算机设备可以是任一具有数据处理功能的硬件设备,比如智能手机、个人电脑等等。

通常,视频文件的格式有多种。例如,rm,rmvb,avi,wmv,asf,dat,3gp,mp4,mpeg等等。因此在本实施例中,第一视频文件可以是任一格式的文件,此处对其不作具体限定。

可选的,在执行步骤101之前,本实施例可以通过对第一视频文件进行编码处理,确定第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧。其中,对第一视频文件进行编码处理时,可以采用任一编码参数进行编码,此处对其不作具体限制。

需要说明的是,在实际应用中,由于视频文件通常是由多张图像组成的,因此本实施例在对第一视频文件进行编码处理,获取的第一组图像帧中,可包括多张图像帧,例如i1-in。

进而,可将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元。

作为本申请的一种可选的实现方式,本实施例中对第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装时,可以是分别在第一序列参数集、第一图像参数集及第一组图像帧前,添加四个字节数据,以得到对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元。其中,四个字节数据可以是00000001等等。

需要说明的是,本实施例可以将第一网络抽象层单元标记为:nisps,将第二网络抽象层单元标记为:nipps,将第三网络抽象层单元标记为:ni1~nin。

步骤102,将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件,其中,预设的视频文件封装器中包含待与第一视频文件进行拼接的其它视频文件对应的网络抽象层单元。

在本实施例中,预设的视频文件封装器中可以是根据实际使用场景进行适应性设置的,此处对其不作具体限定。

可选的,本申请实施例通过将将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以使预设的视频文件封装器根据预设的处理规则,将第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,与其它待拼接的视频文件对应的各网络抽象层单元进行拼接操作,得到总的视频文件。

可以理解的是,本申请通过将每个视频文件对应的序列参数集、图像参数集及图像帧,均进行网络抽象层封装,并将得到的各网络抽象层单元依次添加到视频文件中,从而解码器在对视频文件解码时,即可直接根据网络抽象层单元中封装的图像参数集及序列参数集,对之后的图像帧所在的网络抽象层单元进行解码,多个视频文件的拼接过程,无需进行各自解码、再统一重新编码的操作,降低了多个视频文件的拼接复杂度,提高多个视频文件的拼接速度。

本申请提供的视频文件处理方法,通过将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,然后将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件。由此,实现了对视频文件进行拼接处理时,不需要对多个图像帧进行解码和重新编码的操作,从而提高了视频文件的处理速度,减少了用户等待时间,改善了用户体验。

通过上述分析可知,本申请实施例通过获取第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,并将上述三个网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件。

在实际使用时,在对视频文件进行拼接操作之前,用户还可能对视频文件进行裁剪操作,将自己喜欢的部分,或者不喜欢的部分进行截取或切割,以得到自己满意的视频文件。下面结合图2,对本申请的视频文件处理方法中,用户对视频文件进行裁剪的过程进行详细说明。

图2是根据本申请另一示例性实施例示出的视频文件处理方法的流程示意图。

如图2所示,本申请实施例的视频文件处理方法可以包括以下步骤:

步骤201,获取视频文件裁剪请求,裁剪请求中包括待裁剪的视频源文件及目标裁剪方式。

其中,目标裁剪方式可以有多种。例如,按照隔帧进行裁剪;或者,以一定的时间段进行裁剪等,此处对其不作具体限定。

可选的,可以通过监听器对计算机设备中视频文件裁剪功能进行实时监听,当监听到视频文件裁剪功能被触发时,则确定获取到视频文件裁剪请求。

在本实施例中,用户在发送视频文件裁剪功能时,还可以将待裁剪的视频源文件及目标裁剪方式携带在视频裁剪请求中,以使计算机设备在获取到视频文件裁剪请求之后,可对视频文件裁剪请求进行解析,获取待裁剪的视频源文件,并按照目标裁剪方式,对待裁剪的视频源文件进行相对应的裁剪处理。

步骤202,根据目标裁剪方式,确定目标图像帧,及目标图像帧所在的目标画面组。

在实际应用中,一个视频文件中可包括多个画面组(groupofpictures,简称为:gop),其中,一个画面组为一组连续的帧画面。也就是说,一个视频文件中可以包括多组连续的帧画面。

可选的,当获取到视频文件裁剪请求之后,计算机设备即可根据视频文件裁剪请求中包括的目标裁剪方式,在待裁剪的视频源文件中,确定出目标图像帧,及目标图像帧所在的目标画面组。

例如,若待裁剪的视频源文件为xx,目标裁剪方式是将2秒(s)至10s的图像帧裁掉,那么计算机设备即可根据目标裁剪方式:将2秒s至10s的图像帧裁掉,从待裁剪的视频源文件xx中确定出时间在2s至10s这一时间段对应的目标图像帧,以及目标图像帧所在的目标画面组。

其中,假设目标图像帧,分别位于待裁剪的视频源文件的第一个画面组及第二个画面组,那么可以确定第一画面组及第二画面组为目标画面组,然后计算机设备可根据目标裁剪方式,对第一画面组及第二画面组进行裁剪处理,以将2s至10s的图像帧裁掉,以得到除了2s至10s的图像帧之外的视频文件。

又如,若待裁剪的视频源文件为xx,目标裁剪方式是隔帧裁剪,那么计算机设备即可根据隔帧裁剪方式,从待裁剪的视频源文件xx中确定出符合目标裁剪方式的目标图像帧,以及目标图像帧所在的目标画面组,并对目标图像帧所在的目标画面组进行裁剪处理。

需要说明的是,在实际应用中,目标图像帧中可以包括多个图像帧,因此本实施例在获取到目标图像帧之后,首先需要对目标图像帧中包括的多个图像帧的类型进行判断,并根据判断结果,采取相应的方式获取对应的第一序列参数集、第一图像参数集及第一组图像帧。其中,目标图像帧中的图像帧类型,可以包括帧内压缩帧(i帧)、前向参考帧(p帧)、双向差别帧(b帧)。

下面具体参见图2至图4,对上述根据目标图像帧中各图像帧的类型,获取对应的第一序列参数集、第一图像参数集及第一组图像帧的过程进行具体说明。

如图2所示,当目标图像帧中的第一图像帧为帧内压缩帧(i帧)时,则可以根据第一图像帧对应的位置属性,从第一图像帧所在的第一画面组中获取第一组图像帧、第一序列参数集及第一图像参数集(即步骤203)。

其中,第一图像帧对应的位置属性可以是位于起始位置,或者,也可以位于中间位置;或者,也可以位于结束位置。

可选的,由于帧内压缩帧一个完整的画面,具有完整的参数信息,因此在本实施例中,当第一图像帧为帧内压缩帧时,无论帧内压缩帧位于起始位置、中间位置还是结束位置,计算机设备均可直接从第一图像帧所在的第一画面组中获取第一组图像帧、第一序列参数集及第一图像参数集。

可以理解的是,若第一图像帧为起始帧,则获取的第一组图像帧包括第一图像帧及第一画面组中位于其之后各图像帧。或者,若第一图像帧为结束帧,则获取的第一组图像帧包括第一图像帧及第一画面组中位于其之前的各图像帧。

进一步的,当目标图像帧中的第二图像帧为双向差别帧时,则本实施例需要对第二图像帧所在的第二画面组进行解码处理,具体过程可参见图3。

步骤303,若目标图像帧中的第二图像帧为双向差别帧,则对第二图像帧所在的第二画面组进行解码处理,以获取第二画面组中多个图像帧对应的多个灰度图。

步骤304,根据第二图像帧对应的位置属性,从多个灰度图中获取目标灰度图。

步骤305,将目标灰度图进行编码处理,以获取第一组图像帧及第一序列参数集、第一图像参数集。

其中,第二图像帧对应的位置属性,可以是位于起始位置,或者,也可以位于中间位置;或者,也可以位于结束位置。

在实际使用过程中,由于双向差别帧(b帧)需要获取前后相邻位置的图像帧的参数信息,才能完成解码。因此无论第二图像帧对应的位置属性是起始位置、中间位置、还是结束位置,均需要对第二图像帧所在的第二画面组进行解码操作,以获取第二画面组中多个图像帧对应的灰度图像,然后再根据第二图像帧对应的位置属性,从多个灰度图中获取目标灰度图,并将目标灰度图进行编码,以获取第一组图像帧及第一序列参数集、第一图像参数集。

例如,当第二图像帧对应的位置属性是起始位置时,则计算机设备需要对第二图像帧所在的第二画面组进行解码操作,以得到第二画面组中多个图像帧对应的灰度图像。其中,由于第二图像帧为双向差别帧,则其对应的灰度图需要借助于前后相邻图像帧的参数才能得到,因此对第二组画面进行解码操作,得到的第二图像帧对应的灰度图即为目标灰度图,并且该目标灰度图中,包括了第二图像帧前后相邻位置图像帧的参数信息,从而通过对该目标灰度图像进行编码处理,可以获取到第一组图像帧及第一序列参数集、第一图像参数集。

在本实施例中,根据目标裁剪方式,确定的目标图像帧,除了是帧内压缩帧、双向差别帧之外,还可以是前向查考帧(p帧)。下面结合图4,对目标图像帧中的第三图像帧为前向参考帧时,获取第一组图像帧、第一序列参数集及第一图像参数集的过程进行具体说明。

步骤403,若目标图像帧中的第三图像帧为前向参考帧(p帧)、且第三图像帧对应的位置属性为起始位置,则对第三图像帧所在的第三画面组进行解码处理,以获取第三画面组中多个图像帧对应的多个灰度图。

步骤404,将第三图像帧对应的灰度图、及位于第三图像帧之后的每个图像帧对应的灰度图进行编码处理,以获取第一组图像帧及及第一序列参数集、第一图像参数集。

可选的,由于前向参数帧需要获取前一相邻位置的图像帧的参数,才能完成解码,因此当第三图像帧位于起始位置时,则需要对第三图像帧所在的第三画面组进行解码处理,以获取第三画面组中多个图像帧对应的灰度图像,然后将第三图像帧对应的灰度图,及位于第三图像帧之后的每个图像帧对应的灰度图进行编码处理,以获取第一组图像帧及第一序列参数集、第一图像参数集。

本申请实施例的视频文件处理方法,通过获取视频文件裁剪请求,以根据视频文件裁剪请求中包括的目标裁剪方式,确定目标图像帧及目标图像帧所在的目标画面组,然后根据目标图像帧的类型及自身所在目标画面组对应的位置属性,从目标画面组中获取对应的第一组图像帧、第一序列参数集及第一图像参数集,从而使得对视频文件进行编辑处理时,能够降低处理过程的复杂度,提高处理速度,进一步减少用户等待时间,提高用户体验。

通过上述分析可知,本申请通过对确定的目标图像帧中的图像帧类型及对应的位置属性进行判断,以采用相应的方式获取第一组图像帧、第一序列参数集及第一图像参数集。

在本申请的另一种可选的实现形式中,当对多个视频文件进行拼接处理时,预设的视频文件封装器中可能存在一些与第一视频文件对应的第一序列参数集及第一图像参数集,具有相同编码参数的第二序列参数集及第二图像参数集,此时预设的视频文件封装器就不需要对第一视频文件及其它视频文件进行解码处理,即可进行拼接处理,从而进一步的提高了视频文件的处理速度。下面结合图5,对本申请的视频文件处理方法进行具体说明。

图5是根据本申请另一示例性实施例示出的视频文件处理方法的流程示意图。

如图5所示,本申请实施例的视频文件处理方法可以包括以下步骤:

步骤501,获取预设的视频文件封装器中第二组图像帧对应的第二序列参数集及第二图像参数集,其中,第二组图像帧为与第一组图像帧相邻的、在先图像帧。

步骤502,确定第二序列参数集与第一序列参数集是否匹配、且第二图像参数集与第一图像参数集是否匹配,若匹配,则执行步骤503,否则执行步骤504。

可选的,本实施例中可以根据第一视频文件当前所在位置,从预设的视频文件封装器中,获取相邻的、在先的第二组图像帧,然后将第二组图像帧对应的第二序列参数集与第一视频文件对应的第一序列参数集,以及将第二组图像帧对应的第二图像参数集与第一视频文件对应的第一图像参数集分别进行匹配操作。

当第一视频文件对应的第一序列参数集及第一图像参数集,均与第二组图像帧对应的第二序列参数集及第二图像参数集匹配,则说明第一视频文件和第二组图像帧的编码参数是相同的。当第一视频文件对应的第一序列参数集及第一图像参数集,与第二组图像帧对应的第二序列参数集及第二图像参数集中的任一一个不匹配,则说明第一视频文件与第二组图像帧的编码参数是不同的。

步骤503,利用预设的视频文件封装器,获取包含第一视频文件的总视频文件。

可选的,当确定第一视频文件与第二组图像帧的编码参数相同时,则预设的视频文件封装器可直接将第一视频文件与第二组图像帧进行拼接处理,得到包含第一视频文件的总视频,从而不仅简化视频文件的拼装步骤,而且还能提高视频文件的处理速度。

步骤504,将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元。

步骤505,将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件,其中,预设的视频文件封装器中包含待与第一视频文件进行拼接的其它视频文件对应的网络抽象层单元。

可选的,当确定第二序列参数集与第一序列参数集未匹配、且第二图像参数集与第一图像参数集未匹配时,则说明第一视频文件与第二组图像帧的编码参数不同,此时为了能够实现视频文件的拼接,计算机设备可通过对第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧分别进行网络抽象层封装,以得到对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元。

进一步的,将获取的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以使预设的视频文件封装器根据预设的处理规则,将第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,与其它待拼接的视频文件对应的各网络抽象层单元进行拼接操作,得到总的视频文件。

本申请实施例的视频文件处理装置,通过获取第一视频文件中与第一组图像帧相邻、且为在先的图像帧,以确定第一组图像帧的第一序列参数集及第一图像参数集,是否与第二组图像帧的第一序列参数集及第二图像参数集是否匹配。当匹配时,直接利用预设的视频文件封装器进行视频文件的拼接处理。当未匹配时,则进一步的对第一视频文件进行网络抽象层封装处理。然后根据网络抽象层封装处理后的网络抽象层单元,以利用预设的视频文件封装器的预设规则,将第一视频文件与其它视频文件进行封装处理,得到包含第一视频文件的总文件。由此,实现了在对视频文件进行处理之前,通过对相邻视频文件所使用的编码参数进行确定,若相邻视频文件所使用的编码参数相同,则直接进行拼接处理,从而进一步减少了对视频文件的图像帧进行额外的解码和重新编码的操作,提升了视频处理的速度及效率。

为了实现上述实施例,本申请还提出了一种视频文件处理装置。

图6是本申请一个示例性实施例示出的视频文件处理装置的结构示意图。

如图6所示,本申请的视频文件处理装置包括:处理模块11和获取模块12。

其中,处理模块11用于将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与所述第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元;

获取模块12用于将所述第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含所述第一视频文件的总视频文件,其中,所述预设的视频文件封装器中包含待与所述第一视频文件进行拼接的其它视频文件对应的网络抽象层单元。

作为本申请的一种可选的实现方式,本申请实施例视频文件处理装置,还包括:确定模块。

其中,确定模块用于将所述第一视频文件进行编码处理,确定所述第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧。

需要说明的是,前述对视频文件处理方法实施例的解释说明也适用于该实施例的视频文件处理装置,其实现原理类似,此处不再赘述。

本实施例提供的视频文件处理装置,通过将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,然后将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件。由此,实现了对视频文件进行拼接处理时,不需要对多个图像帧进行解码和重新编码的操作,从而提高了视频文件的处理速度,减少了用户等待时间,改善了用户体验。

图7为本申请另一个示例性实施例示出的视频文件处理装置的结构示意图。

参照图7,本申请的视频文件处理装置还包括:第二获取模块13、第二确定模块14、控制模块15。

其中,第二获取模块13用于获取视频文件裁剪请求,所述裁剪请求中包括待裁剪的视频源文件及目标裁剪方式;

第二确定模块14用于根据所述目标裁剪方式,确定目标图像帧,及所述目标图像帧所在的目标画面组;

控制模块15用于若目标图像帧中的第一图像帧为帧内压缩帧,则根据所述第一图像帧对应的位置属性,从所述第一图像帧所在的第一画面组中获取第一组图像帧、第一序列参数集及第一图像参数集。

作为本申请的一种可选的实现方式,本申请控制模块15具体用于:若目标图像帧中的第二图像帧为双向差别帧,则对所述第二图像帧所在的第二画面组进行解码处理,以获取所述第二画面组中多个图像帧对应的多个灰度图;

根据所述第二图像帧对应的位置属性,从所述多个灰度图中获取目标灰度图;

将所述目标灰度图进行编码处理,以获取第一组图像帧、第一序列参数集及第一图像参数集。

作为本申请的一种可选的实现方式,本申请控制模块15具体用于:若目标图像帧中的第三图像帧为前向参考帧、且所述第三图像帧对应的位置属性为起始位置,则对所述第三图像帧所在的第三画面组进行解码处理,以获取所述第三画面组中多个图像帧对应的多个灰度图;

将所述第三图像帧对应的灰度图、及位于所述第三图像帧之后的每个图像帧对应的灰度图进行编码处理,以获取第一组图像帧及及第一序列参数集、第一图像参数集。

需要说明的是,本实施例的视频文件处理装置的实施过程和技术原理参见前述对第一方面实施例的视频文件处理方法的解释说明,此处不再赘述。

本申请实施例提供的视频文件处理装置,通过获取视频文件裁剪请求,以根据视频文件裁剪请求中包括的目标裁剪方式,确定目标图像帧及目标图像帧所在的目标画面组,然后根据目标图像帧的类型及自身所在目标画面组对应的位置属性,从目标画面组中获取对应的第一组图像帧、第一序列参数集及第一图像参数集,从而使得对视频文件进行编辑处理时,能够降低处理过程的复杂度,提高处理速度,进一步减少用户等待时间,提高用户体验。

图8是根据本申请又一示例性实施例示出的视频文件处理装置的结构示意图。

如图8所示,本申请的视频文件处理装置包括:第三获取模块16、第三确定模块17、处理模块11及获取模块12。

其中,第三获取模块16用于获取所述预设的视频文件封装器中第二组图像帧对应的第二序列参数集及第二图像参数集,其中,第二组图像帧为与所述第一组图像帧相邻的、在先图像帧;

第三确定模块17用于确定所述第二序列参数集与所述第一序列参数集未匹配、且所述第二图像参数集与所述第一图像参数集未匹配。

其中,处理模块11用于将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与所述第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元;

获取模块12用于将所述第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含所述第一视频文件的总视频文件,其中,所述预设的视频文件封装器中包含待与所述第一视频文件进行拼接的其它视频文件对应的网络抽象层单。

需要说明的是,前述对视频文件处理方法实施例的解释说明也适用于该实施例的视频文件处理装置,其实现原理类似,此处不再赘述。

本实施例的视频文件处理装置,通过获取第一视频文件中与第一组图像帧相邻、且为在先的图像帧,以确定第一组图像帧的第一序列参数集及第一图像参数集,是否与第二组图像帧的第一序列参数集及第二图像参数集是否匹配。当匹配时,直接利用预设的视频文件封装器进行视频文件的拼接处理。当未匹配时,则进一步的对第一视频文件进行网络抽象层封装处理。然后根据网络抽象层封装处理后的网络抽象层单元,以利用预设的视频文件封装器的预设规则,将第一视频文件与其它视频文件进行封装处理,得到包含第一视频文件的总文件。由此,实现了在对视频文件进行处理之前,通过对相邻视频文件所使用的编码参数进行确定,若相邻视频文件所使用的编码参数相同,则直接进行拼接处理,从而进一步减少了对视频文件的图像帧进行额外的解码和重新编码的操作,提升了视频处理的速度及效率。

为了实现上述实施例,本申请还提出一种计算机设备。

图9是根据本申请一示例性实施例示出的计算机设备的结构示意图。图9显示的计算机设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图9所示,上述计算机设备200包括:存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序,所述处理器220执行所述程序时,以第一方面实施例所述的视频文件处理方法。

在一种可选的实现形式中,如图10所示,该计算机设备200还可以包括:存储器210及处理器220,连接不同组件(包括存储器210和处理器220)的总线230,存储器210存储有计算机程序,当处理器220执行所述程序时实现本申请实施例所述的视频文件处理方法。

总线230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机设备200典型地包括多种计算机设备可读介质。这些介质可以是任何能够被计算机设备200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器210还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)240和/或高速缓存存储器250。计算机设备200可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统260可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线230相连。存储器210可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块270的程序/实用工具280,可以存储在例如存储器210中,这样的程序模块270包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块270通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备200也可以与一个或多个外部设备290(例如键盘、指向设备、显示器291等)通信,还可与一个或者多个使得用户能与该计算机设备200交互的设备通信,和/或与使得该计算机设备200能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口292进行。并且,计算机设备200还可以通过网络适配器293与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器293通过总线230与计算机设备200的其他模块通信。应当明白,尽管图中未示出,可以结合计算机设备200使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

需要说明的是,本实施例的计算机设备的实施过程和技术原理参见前述对第一方面实施例的视频文件处理方法的解释说明,此处不再赘述。

本申请实施例提供的计算机设备,通过将第一视频文件对应的第一序列参数集、第一图像参数集及第一组图像帧,分别进行网络抽象层封装,以获取与第一视频文件对应的第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元,然后将第一网络抽象层单元、第二网络抽象层单元及第三网络抽象层单元依次输入预设的视频文件封装器中,以获取包含第一视频文件的总视频文件。由此,实现了对视频文件进行拼接处理时,不需要对多个图像帧进行解码和重新编码的操作,从而提高了视频文件的处理速度,减少了用户等待时间,改善了用户体验。

为实现上述目的,本申请还提出一种计算机可读存储介质。

其中该计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,以实现第一方面实施例所述的视频文件处理方法。

一种可选实现形式中,本实施例可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

为实现上述目的,本申请还提出一种计算机程序。其中当计算机程序被处理器执行时,以实现第一方面实施例所述的视频文件处理方法。

在本申请中,除非另有明确的规定和限定,术语“设置”、“连接”等术语应做广义理解,例如,可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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