一种缓存视频数据的方法及终端设备与流程

专利2022-06-29  106


本发明属于计算机技术领域,尤其涉及一种缓存视频数据的方法及终端设备。



背景技术:

视频编辑软件处理的视频素材的尺寸越来越大,视频素材的视频格式从标清(standarddefinition,sd)从到高清(highdefinition,hd),从hd到全高清(fullhighdefinition,fhd),再从fullhd增长到目前已成主流的4k超高清。

面对大尺寸素材,视频编辑软件处理编辑中视频的实时渲染预览,越加困难。由于终端设备无法支撑大尺寸视频素材的实时编辑预览,会出现卡顿,因此,在视频编辑过程中需要通过缓存代理生成代理缓存文件来达到实时预览目的。然而,缓存代理不支持分段缓存,目前的视频编辑方法通常需要缓存整个视频文件才能对视频文件进行编辑,视频编辑效率较低。



技术实现要素:

有鉴于此,本发明实施例提供了一种缓存视频数据的方法及终端设备,以解决现有技术中因缓存代理不支持分段缓存,现有的视频编辑方法通常需要缓存整个视频文件才能对视频文件进行编辑,视频编辑效率较低的问题。

本发明实施例的第一方面提供了一种缓存视频数据的方法,包括:

在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;

基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;

当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;

生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

本发明实施例的第二方面提供了一种终端设备,包括:

第一获取单元,用于在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;

检测单元,用于基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;

第二获取单元,用于当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;

缓存单元,用于生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

本发明实施例的第三方面提供了一种终端设备:包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;

基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;

当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;

生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;

基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;

当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;

生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

本发明实施例与现有技术相比存在的有益效果是:

在检测到用户向视频编辑应用导入待编辑的目标视频素材,且基于目标视频素材的属性信息确认需要生成目标视频素材的缓存文件时,通过获取用户选择的待缓存的视频时间段,并基于视频时间段对应的目标视频数据,生成该视频时间段对应的缓存文件以及索引文件,从而实现分段缓存,以使终端设备能够对已缓存的缓存文件对应的视频数据进行编辑,提高视频编辑效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的缓存视频数据的方法的实现流程示意图;

图2是本发明另一实施例提供的缓存视频数据的方法的实现流程示意图;

图3是本发明实施例提供的终端设备的示意图;

图4是本发明实施例提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

请参见图1,图1是本发明一实施例提供的缓存视频数据的方法的实现流程示意图,本实施例的缓存视频数据的方法的执行主体为终端设备,该终端设备内安装了视频编辑应用,终端设备包括但不限于平板电脑、笔记本电脑、台式电脑等终端。如图所示的缓存视频数据的方法可包括:

s101:在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息。

用户在需要编辑视频素材时,可以启动终端设备内已安装的视频编辑应用,并通过视频编辑应用的交互界面加载待编辑的目标视频素材。视频素材为视频文件。视频编辑应用为预设的视频编辑应用。

终端设备在检测到视频编辑应用已加载待编辑的目标视频素材时,获取目标视频素材的属性信息。目标视频素材的属性信息用于判断当前是否需要生成目标视频素材的缓存文件,该属性信息包括但不限于关键帧间隔或清晰度指标。关键帧间隔是指第一关键帧到第二关键帧的帧数,第一关键帧与第二关键帧相邻。关键帧可以为i帧,i帧是帧间压缩编码里的重要帧,它是一个全帧压缩的编码帧。解码时仅用i帧的数据就可重构完整图像,i帧不需要参考其他画面而生成。

s102:基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件。

进一步地,当属性信息包括关键帧间隔时,s102具体为:基于所述关键帧间隔检测是否需要生成所述目标视频素材的缓存文件;其中,当所述关键帧间隔大于或等于预设间隔阈值时,判定需要生成所述目标视频素材的缓存文件。

预设间隔阈值可以为10帧,但并不限于此,具体可根据实际情况进行设置,以能够快速定位关键帧为准,此处不做限制。

进一步地,当属性信息包括清晰度指标时,s102具体为:基于所述清晰度指标检测需要生成所述目标视频素材的缓存文件;其中,当所述清晰度指标的值大于或等于预设清晰度阈值时,判定需要生成所述目标视频素材的缓存文件。

预设清晰度阈值可以为720逐行扫描(progressivescanning,p),也可以为1080p,还可以大于1080p,具体可根据实际需要进行设置,此处不做限制。

其中,720p的视频素材的视频格式为高清,1080p的视频素材的视频格式为全高清。

在本实施例中,终端设备在基于清晰度指标确认目标视频素材的视频格式为高清(720p)、全高清(1080p)或超高清(例如4k或8k等)时,为了提高视频素材的画面的流畅性,减少画面卡顿的情况出现。

当检测结果为当前需要生成目标视频素材的缓存文件时,执行s103;当检测结果为当前不需要生成目标视频素材的缓存文件时,结束缓存视频数据的流程,并在检测到编辑指令时,基于编辑指令对目标视频素材中的源视频数据进行编辑。

s103:当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段。

当检测结果为当前需要生成目标视频素材的缓存文件时,检测用户是否通过交互界面触发了用于选择待缓存的视频时间段的指令,并在检测到该指令时,获取用户选择的待缓存的视频时间段。该指令可以通过触摸屏输入触摸操作触发,也可以通过交互界面中的“进度条”触发,此处不做限制。

待缓存的视频时间段用于指示终端设备缓存该时间段对应的视频数据。例如,待缓存的视频时间段为[t1,t2]时,标识终端设备需要缓存显示时间戳(presentationtimestamp,pts)为t1~t2之间的视频帧。

可以理解的是,用户可以选择多个待缓存的视频时间段。

s104:生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

终端设备获取该视频时间段对应的目标视频数据,并启动编码器对目标视频数据进行编码,生成该视频时间段对应的目标视频数据的缓存文件,以缓存该视频时间段对应的视频数据;以及建立该目标视频数据对应的索引文件,在索引文件中添加每个视频帧的pts以及每个视频帧在缓存文件中所处的位置;之后,将该视频时间段对应的缓存文件及索引文件关联存储。索引文件用于记录目标视频数据包含的每个已缓存的视频帧的显示时间戳。显示时间戳用来告诉播放器该在什么时候显示这一帧的视频数据。

可以理解的是,终端设备还可以为索引文件分配唯一的索引号,建立唯一的索引号与缓存文件的唯一标识之间的关联关系,从而将该视频时间段对应的索引文件及缓存文件关联起来。其中,索引文件的索引号以及缓存文件的标识可以是其对应的视频时间段。

目标视频数据的缓存文件的帧率与目标视频数据对应的帧率相同。在本实施例中,通过编码器对目标视频数据进行编码的方法为现有技术,此处不赘述。

可以理解的是,缓存文件的清晰度指标的值可以低于目标视频数据的清晰度指标的值,以节省缓存文件所占的存储空间。

进一步地,终端设备可以缓存前台播放的视频帧,s104具体包括s1041~s1044,具体如下:

s1041:获取所述视频编辑应用的运行状态。

运行状态包括前台运行或后台运行。

s1042:当所述运行状态为前台运行时,获取已解码的视频帧。

已解码的视频帧是指解码后的视频帧,已解码的视频帧包括前台播放的视频帧。已解码的视频帧的数量可以是一帧,也可以是至少两帧。当已解码的视频帧的数量为两帧时,已解码的视频帧可以是连续的,也可以是离散的,此处不做限制。

s1043:当所述已解码的视频帧的显示时间戳属于所述视频时间段时,生成所述已解码的视频帧的缓存文件。

终端设备在确认已解码的视频帧的显示时间戳属于获取到的视频时间段时,启动编码器对已解码的视频帧进行编码,生成已解码的视频帧的缓存文件。

可以理解的是,当已解码的视频帧的显示时间戳不属于用户选择的待缓存的视频时间段时,判定已解码的视频帧不需要缓存,终端设备不用生成该已解码的视频帧的缓存文件。

s1044:当未查找到所述视频时间段的索引文件时,基于所述已解码的视频帧的显示时间戳生成所述已解码的视频帧的缓存文件对应的索引文件。

终端设备从用于存储缓存文件的存储区域中查找该视频时间段对应的索引文件,从而确定是否已建立该视频时间段对应的索引文件。当未查找到该视频时间段对应的索引文件时,判定终端设备还未建立该视频时间段对应的索引文件。终端设备基于已解码的视频帧的显示时间戳,以及每个已解码的视频帧在已解码的视频帧的缓存文件中所处的位置,生成已解码的视频帧的缓存文件对应的索引文件。具体地,终端设备可以创建已解码的视频帧的缓存文件对应的索引文件,并将每个已解码的视频帧的显示时间戳以及每个已解码的视频帧在已解码的视频帧的缓存文件中所处的位置关联保存至第一缓存文件对应的索引文件。

进一步地,在s1043之后,还可以包括s1045:当查找到所述视频时间段的索引文件时,将所述已解码的视频帧的显示时间戳以及所述已解码的视频帧在所述已解码的视频帧的缓存文件中的位置信息写入所述查找到的索引文件。

终端设备在查找到该视频时间段对应的索引文件时,判定先前已建立该视频时间段对应的索引文件,将每个已解码的视频帧的显示时间戳以及每个已解码的视频帧在第一缓存文件中所处的位置关联保存至该视频时间段对应的索引文件。

例如,当用户选择了待缓存的视频时间段,终端设备在缓存该视频时间段的视频数据的过程中,且建立该视频时间段对应的索引文件时,检测到用户在该视频时间段内向前拉动进度条,以对当前时刻的对应的已解码的视频帧进行编辑,此时,终端设备来不及缓存当前时刻对应的视频数据,但已建立该视频时间段的索引文件,因此,终端设备可查找到视频时间段的索引文件时。

进一步地,在s1041之后,还可以包括s1046:当所述运行状态为后台运行时,生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件。

终端设备在检测到视频编辑软件的运行状态为后台运行时,获取用户选择的待缓存的视频时间段对应的目标视频数据,并启动编码器对目标视频数据进行编码,生成该视频时间段对应的目标视频数据的缓存文件,以缓存该视频时间段对应的视频数据;以及建立该目标视频数据对应的索引文件,在索引文件中添加每个视频帧的pts以及每个视频帧在缓存文件中所处的位置;将该视频时间段对应的缓存文件及索引文件关联存储。

上述方案,在检测到用户向视频编辑应用导入待编辑的目标视频素材,且基于目标视频素材的属性信息确认需要生成目标视频素材的缓存文件时,通过获取用户选择的待缓存的视频时间段,并基于视频时间段对应的目标视频数据,生成该视频时间段对应的缓存文件以及索引文件,从而实现分段缓存,以使终端设备能够对已缓存的缓存文件对应的视频数据进行编辑,提高视频编辑效率。

终端设备既可以缓存视频编辑应用在前台运行时所获取到的已解码的视频帧,并缓存已解码的视频帧,也可以获取视频编辑应用在后台运行时所获取到的需缓存视频帧,能够进一步提高缓存效率。

请参见图2,图2是本发明另一实施例提供的缓存视频数据的方法的实现流程示意图,本实施例与上一实施例的区别在于,本实施还包括s205~s206。本实施例中s201~s204与上一实施例中的s101~s104相同,具体请参阅上一实施例中s101~s104的相关描述,此处不赘述。s205~s206具体如下:

s205:获取视频编辑指令;所述视频编辑指令包括待编辑的视频帧的目标显示时间戳。

视频编辑指令可以由用户输入,也可以由通过触摸屏输入的触摸手势触发。

s206:当在目标索引文件中查找到所述目标显示时间戳时,从所述目标索引文件对应的目标缓存文件中获取所述目标显示时间戳对应的目标视频帧,并根据所述编辑指令编辑所述目标视频帧。

终端设备基于视频编辑指令中包含的待编辑的视频帧的目标显示时间戳,遍历用于存储缓存文件的存储区域的缓存文件,查找缓存文件是否记录有待编辑的视频帧的目标显示时间戳,当从任意索引文件中查找到该目标显示时间戳时,将该索引文件识别为目标索引文件,并基于索引文件与缓存文件之间的关联关系,获取目标索引文件对应的目标缓存文件,从目标缓存文件中获取目标显示时间戳对应的目标视频帧,并根据获取到的视频编辑指令对目标视频帧进行编辑。

目标缓存文件为任意缓存文件,可以是上一实施例中s104中生成的缓存文件,也可以是s1043或s1046中生成的缓存文件。

上述方案,终端设备可以对任意视频时间段对应的缓存文件中缓存的视频帧进行编辑,不需要等到缓存完整个视频素材的视频数据即可对视频帧进行编辑,减少了等待时间,能够提高视频编辑效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

请参阅图3,图3是本发明实施例提供的一种终端设备,终端设备包括的各单元用于执行图1或图2对应的实施例中的各步骤。具体请参阅图1以及图2各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,终端设备3包括:

第一获取单元310,用于在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;

检测单元320,用于基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;

第二获取单元330,用于当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;

缓存单元340,用于生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

进一步地,所述属性信息包括关键帧间隔,检测单元320具体用于:基于所述关键帧间隔检测是否需要生成所述目标视频素材的缓存文件;其中,当所述关键帧间隔大于或等于预设间隔阈值时,判定需要生成所述目标视频素材的缓存文件。

进一步地,所述属性信息包括清晰度指标,检测单元320具体用于:基于所述清晰度指标检测是否需要生成所述目标视频素材的缓存文件;其中,当所述清晰度指标的值大于或等于预设清晰度阈值时,判定需要生成所述目标视频素材的缓存文件。

进一步地,缓存单元340包括:

状态获取单元,用于获取所述视频编辑应用的运行状态;

视频帧获取单元,用于当所述运行状态为前台运行时,获取已解码的视频帧;

第一生成单元,用于当所述已解码的视频帧的显示时间戳属于所述视频时间段时,生成所述已解码的视频帧的缓存文件;

第二生成单元,用于当未查找到所述视频时间段的索引文件时,基于所述已解码的视频帧的显示时间戳生成所述已解码的视频帧的缓存文件对应的索引文件。

进一步地,终端设备还包括:

第三生成单元,用于当查找到所述视频时间段的索引文件时,将所述已解码的视频帧的显示时间戳以及所述已解码的视频帧在所述已解码的视频帧的缓存文件中的位置信息写入所述查找到的索引文件。

进一步地,终端设备还包括:

第四生成单元,用于当状态获取单元获取到的所述运行状态为后台运行时,生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件。

进一步地,终端设备还可以包括:

指令获取单元,用于获取视频编辑指令;所述视频编辑指令包括待编辑的视频帧的目标显示时间戳;

编辑单元,用于当在目标索引文件中查找到所述目标显示时间戳时,从所述目标索引文件对应的目标缓存文件中获取所述目标显示时间戳对应的目标视频帧,并根据所述编辑指令编辑所述目标视频帧。

图4是本发明实施例提供的终端设备的示意图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42,例如缓存视频数据的程序。所述处理器40执行所述计算机程序42时实现上述各个缓存视频数据的方法实施例中的步骤,例如图1所示的步骤101至102。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各单元的功能,例如图3所示模块310至340的功能。

示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端设备4中的执行过程。例如,所述计算机程序42可以被分割成获取单元以及配置单元,各单元具体功能如上所述。

所述终端设备4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅是终端设备4的例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备4还可以包括输入输出终端设备、网络接入终端设备、总线等。

所称处理器40可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器41可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41也可以是所述终端设备4的外部存储终端设备,例如终端设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器41还可以既包括终端设备4的内部存储单元也包括外部存储终端设备。所述存储器41用于存储所述计算机程序以及所述终端设备4所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。


技术特征:

1.一种缓存视频数据的方法,其特征在于,包括:

在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;

基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;

当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;

生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

2.如权利要求1所述的缓存视频数据的方法,其特征在于,所述属性信息包括关键帧间隔,所述基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件包括:

基于所述关键帧间隔检测是否需要生成所述目标视频素材的缓存文件;其中,当所述关键帧间隔大于或等于预设间隔阈值时,判定需要生成所述目标视频素材的缓存文件。

3.如权利要求1所述的缓存视频数据的方法,其特征在于,所述属性信息包括清晰度指标,所述基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件包括:

基于所述清晰度指标检测是否需要生成所述目标视频素材的缓存文件;其中,当所述清晰度指标的值大于或等于预设清晰度阈值时,判定需要生成所述目标视频素材的缓存文件。

4.如权利要求1所述的缓存视频数据的方法,其特征在于,所述生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件,包括:

获取所述视频编辑应用的运行状态;

当所述运行状态为前台运行时,获取已解码的视频帧;

当所述已解码的视频帧的显示时间戳属于所述视频时间段时,生成所述已解码的视频帧的缓存文件;

当未查找到所述视频时间段的索引文件时,基于所述已解码的视频帧的显示时间戳生成所述已解码的视频帧的缓存文件对应的索引文件。

5.如权利要求4所述的缓存视频数据的方法,其特征在于,还包括:

当查找到所述视频时间段的索引文件时,将所述已解码的视频帧的显示时间戳以及所述已解码的视频帧在所述已解码的视频帧的缓存文件中的位置信息写入所述查找到的索引文件。

6.如权利要求4所述的缓存视频数据的方法,其特征在于,所述获取所述视频编辑应用的运行状态之后,还包括:

当所述运行状态为后台运行时,生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件。

7.如权利要求1-6任一项所述的缓存视频数据的方法,其特征在于,所述生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件值,还包括:

获取视频编辑指令;所述视频编辑指令包括待编辑的视频帧的目标显示时间戳;

当在目标索引文件中查找到所述目标显示时间戳时,从所述目标索引文件对应的目标缓存文件中获取所述目标显示时间戳对应的目标视频帧,并根据所述编辑指令编辑所述目标视频帧。

8.一种终端设备,其特征在于,包括:

第一获取单元,用于在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;

检测单元,用于基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;

第二获取单元,用于当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;

缓存单元,用于生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。

9.一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。

技术总结
本发明适用于计算机技术领域,提供了一种缓存视频数据的方法及终端设备,包括:在检测到视频编辑应用加载待编辑的目标视频素材时,获取所述目标视频素材的属性信息;基于所述属性信息检测是否需要生成所述目标视频素材的缓存文件;当需要生成所述目标视频素材的缓存文件时,获取用户选择的待缓存的视频时间段;生成所述视频时间段对应的目标视频数据的缓存文件以及索引文件;所述索引文件用于记录所述目标视频数据包含的视频帧的显示时间戳。上述方案,通过生成用户选择的待缓存的视频时间段对应的视频数据的缓存文件以及索引文件,从而实现分段缓存,进而能够对已缓存的缓存文件对应的视频数据进行编辑,提高视频编辑效率。

技术研发人员:邹鹏
受保护的技术使用者:深圳市炜博科技有限公司
技术研发日:2018.12.03
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-15906.html

最新回复(0)