发明内容
本公开实施例至少提供一种视频处理、视频播放方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种视频处理方法,包括:
获取目标视频,并将所述目标视频切分成至少一个视频片段;
确定所述视频片段分别对应的视频属性数据,以及基于所述视频片段的历史播放数据确定所述视频片段分别对应的播放属性数据;
基于所述视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度,所述播放速度用于在播放所述目标视频时,按照所述至少一个视频片段分别对应的播放速度进行视频播放。
一种可能的实施方式中,所述视频属性数据包括以下至少一种:
画面色彩变化速率、画面中的实体运动速率、音频变换速率。
一种可能的实施方式中,针对任一视频片段,所述方法还包括根据以下方法确定该视频片段对应的画面色彩变化速率:
每隔第一预设时间间隔确定该视频片段对应的色彩信息;
基于在多个预设时间间隔确定的所述色彩信息,确定该视频片段对应的色彩变化信息;
基于所述色彩变化信息,确定该视频片段对应的画面色彩变化速率。
一种可能的实施方式中,所述每隔第一预设时间间隔确定该视频片段对应的色彩信息,包括:
确定该视频片段中对应的多个检测点的位置坐标;
每隔第一预设时间间隔确定在该视频片段中所述多个检测点的位置坐标对应的色彩信息;
将在同一时刻确定的多个色彩信息按照对应权重进行加权求和,将求和结果作为该时刻对应的色彩信息。
一种可能的实施方式中,针对任一视频片段,所述方法还包括根据以下方法确定该视频片段对应的画面中的实体运动速率:
每隔第二预设时间间隔,基于预先训练的神经网络确定该视频片段中的实体的位置信息;
基于任意相邻的两个时刻确定的所述位置信息,确定所述实体在该相邻的两个时刻之间的第一运动速率;
基于多个相邻时刻之间的第一运动速率,确定平均运动速率,并将所述平均运动速率作为该视频片段对应的画面中的实体运动速率。
一种可能的实施方式中,针对任一视频片段,所述方法还包括根据以下方法确定该视频片段对应的音频变换速率:
将该视频片段对应的人声和背景音乐进行分离,并分别确定该视频片段中的人声的总音量和背景音乐的总音量;
确定所述人声和背景音乐中对应的总音量较高的一者的音频速度,并基于所述音频速度与音频变换速率之间的对应关系,确定该视频片段对应的音频变换速率。
一种可能的实施方式中,所述历史播放数据包括:
在播放该视频片段时打开倍速播放的用户个数、对应的倍速、以及未打开倍速播放的用户个数。
一种可能的实施方式中,所述针对任一视频片段,基于该视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度,包括:
确定所述目标视频的视频类型;
获取与所述视频类型对应的所述视频属性数据的第一权重参数和所述播放属性数据的第二权重参数;
基于所述第一权重参数、所述第二权重参数、所述视频属性数据和播放属性数据,确定所述视频片段的播放速度。
一种可能的实施方式中,所述将所述目标视频切分成至少一个视频片段,包括:
对所述目标视频进行情景识别,确定所述目标视频对应的至少一个视频片段,每个视频片段对应一种视频情景。
一种可能的实施方式中,所述方法还包括:
响应用户端发送的针对所述目标视频的智能倍速播放请求,确定所述目标视频当前的播放进度;
基于所述目标视频当前的播放进度,确定所述播放进度对应的目标视频片段;
将所述目标视频片段对应的播放速度发送至所述用户端,以使所述用户端按照所述播放速度播放所述目标视频片段。
第二方面,本公开实施例还提供一种视频播放方法,包括:
响应针对目标视频的触发操作,发送智能倍速播放请求,所述目标视频包括至少一个视频片段;
接收与当前播放的视频片段对应的播放速度,并按照所述播放速度播放当前播放的视频片段,其中,所述视频片段对应的播放速度基于所述视频片段的视频属性数据和由历史播放数据生成的播放属性数据确定。
第三方面,本公开实施例还提供一种视频处理装置,包括:
视频处理模块,用于获取目标视频,并将所述目标视频切分成至少一个视频片段;
第一确定模块,用于确定所述视频片段分别对应的视频属性数据,以及基于所述视频片段的历史播放数据确定播放属性数据;
第二确定模块,用于基于所述视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度,所述播放速度用于在播放所述目标视频时,按照所述至少一个视频片段分别对应的播放速度进行视频播放。
一种可能的实施方式中,所述视频属性数据包括以下至少一种:
画面色彩变化速率、画面中的实体运动速率、音频变换速率。
一种可能的实施方式中,针对任一视频片段,所述第一确定模块用于根据以下方法确定该视频片段对应的画面色彩变化速率:
每隔第一预设时间间隔确定该视频片段对应的色彩信息;
基于在多个预设时间间隔确定的所述色彩信息,确定该视频片段对应的色彩变化信息;
基于所述色彩变化信息,确定该视频片段对应的画面色彩变化速率。
一种可能的实施方式中,所述第一确定模块,在所述每隔第一预设时间间隔确定该视频片段对应的色彩信息时,用于:
确定该视频片段中对应的多个检测点的位置坐标;
每隔第一预设时间间隔确定在该视频片段中所述多个检测点的位置坐标对应的色彩信息;
将在同一时刻确定的多个色彩信息按照对应权重进行加权求和,将求和结果作为该时刻对应的色彩信息。
一种可能的实施方式中,针对任一视频片段,所述第一确定模块用于根据以下方法确定该视频片段对应的画面中的实体运动速率:
每隔第二预设时间间隔,基于预先训练的神经网络确定该视频片段中的实体的位置信息;
基于任意相邻的两个时刻确定的所述位置信息,确定所述实体在该相邻的两个时刻之间的第一运动速率;
基于多个相邻时刻之间的第一运动速率,确定平均运动速率,并将所述平均运动速率作为该视频片段对应的画面中的实体运动速率。
一种可能的实施方式中,针对任一视频片段,所述第一确定模块用于根据以下方法确定该视频片段对应的音频变换速率:
将该视频片段对应的人声和背景音乐进行分离,并分别确定该视频片段中的人声的总音量和背景音乐的总音量;
确定所述人声和背景音乐中对应的总音量较高的一者的音频速度,并基于所述音频速度与音频变换速率之间的对应关系,确定该视频片段对应的音频变换速率。
一种可能的实施方式中,所述历史播放数据包括:
在播放该视频片段时打开倍速播放的用户个数、对应的倍速、以及未打开倍速播放的用户个数。
一种可能的实施方式中,所述针对任一视频片段,所述第二确定模块,在基于该视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度时,用于:
确定所述目标视频的视频类型;
获取与所述视频类型对应的所述视频属性数据的第一权重参数和所述播放属性数据的第二权重参数;
基于所述第一权重参数、所述第二权重参数、所述视频属性数据和播放属性数据,确定所述视频片段的播放速度。
一种可能的实施方式中,所述视频处理模块,在将所述目标视频切分成至少一个视频片段时,用于:
对所述目标视频进行情景识别,确定所述目标视频对应的至少一个视频片段,每个视频片段对应一种视频情景。
一种可能的实施方式中,所述装置还包括响应模块,用于:
响应用户端发送的针对所述目标视频的智能倍速播放请求,确定所述目标视频当前的播放进度;
基于所述目标视频当前的播放进度,确定所述播放进度对应的目标视频片段;
将所述目标视频片段对应的播放速度发送至所述用户端,以使所述用户端按照所述播放速度播放所述目标视频片段。
第四方面,本公开实施例还提供了一种视频播放装置,包括:
发送模块,用于响应针对目标视频的触发操作,发送智能倍速播放请求,所述目标视频包括至少一个视频片段;
播放模块,用于接收与当前播放的视频片段对应的播放速度,并按照所述播放速度播放当前播放的视频片段,其中,所述视频片段对应的播放速度基于所述视频片段的视频属性数据和由历史播放数据生成的播放属性数据确定。
第五方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面的步骤。
第六方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面的步骤。
本公开提供的视频处理、视频播放方法、装置、计算机设备及存储介质,通过将目标视频切分成多个视频片段,然后每个视频片段都确定出对应的播放速度,再按照对应的播放速度对目标视频进行播放,这样在进行目标视频的播放时,各个目标片段都能按照与自己匹配的播放速度进行播放;在确定各个片段的播放速度时,是基于各个片段的视频属性数据和历史播放数据确定的,因此确定出的播放速度能够符合各个片段本身的属性特征,在按照对应的播放速度进行播放时,能够实现针对性的倍速播放。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,相关技术中,在进行智能倍速进行播放时,一般是结合当前设备的网络状况确定智能倍速的播放速度,然而不同的视频对于播放速度的要求可能不同,基于这种方法进行智能倍速播放时,无法满足不同视频的播放要求,播放效果较差。
基于上述研究,本公开提供了一种视频处理方法、装置、计算机设备及存储介质,通过将目标视频切分成多个视频片段,然后每个视频片段都确定出对应的播放速度,再按照对应的播放速度对目标视频进行播放,这样在进行目标视频的播放时,各个目标片段都能按照与自己匹配的播放速度进行播放;在确定各个片段的播放速度时,是基于各个片段的视频属性数据和历史播放数据确定的,因此确定出的播放速度能够符合各个片段本身的属性特征,在按照对应的播放速度进行播放时,能够实现针对性的倍速播放。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种视频处理方法进行详细介绍,参见图1所示,为本公开实施例提供的一种视频处理方法的流程图,所述方法包括步骤101~步骤103,其中:
步骤101、获取目标视频,并将所述目标视频切分成多个视频片段。
步骤102、确定所述视频片段分别对应的视频属性数据,以及基于所述视频片段的历史播放数据确定所述视频片段分别对应的播放属性数据。
步骤103、基于所述视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度,所述播放速度用于在播放所述目标视频时,按照所述至少一个视频片段分别对应的播放速度进行视频播放。
以下是对上述步骤的详细描述。
针对步骤101、
在一种可能的实施方式中,所述获取目标视频,可以是接收用户端上传的目标视频,或者从数据库中直接获取目标视频。所述目标视频可以是指没有确定智能倍速的视频,或者可以是用户从数据库中选择的视频。
由于目标视频中可能出现多种场景,不同场景下所要求的倍速可能是不同的,例如对于景色部分的场景,则可以加速播放,对于武打动作的场景,则可以减速播放等,基于此,可以将目标片段切分成多个视频片段,然后针对每个视频片段针对性的确定该视频片段对应的播放速度。
一种可能的实施方式中,在将目标视频切分成多个视频片段时,可以按照预设时长将目标视频切分成多个视频片段。
示例性的,若所述目标视频的时长为十分钟,预设时长为1分钟,则可以将目标视频按照该预设时长切分成10个视频片段。
在另外一种可能的实施方式中,在将目标视频切分成多个视频片段时,可以对所述目标视频进行情景识别,然后基于情景识别结果将目标视频切分成多个视频片段,每个视频片段对应一种视频情景。
具体实施中,在对获取的目标视频进行情景识别,确定目标视频对应的至少一个视频片段时,可以参照如图2所示的方法,包括以下几个步骤:
步骤201、对所述目标视频进行采样处理,得到多个采样视频帧。
所述目标视频中可能包括多个视频帧,为提高处理效率,可以对目标视频中所包含的多个视频帧进行采样处理,例如可以每隔预设时间间隔进行一次采样,得到多个采样视频帧,其中,预设时间间隔的长度可以根据目标视频的不同而进行动态的调整。
步骤202、针对每个采样视频帧,确定该采样视频帧中每个像素点的色彩信息。
其中,所述采样视频帧中的每个像素点的色彩信息包括第一色彩信息和/或第二色彩信息,第一色彩信息包括像素点分别在红绿蓝三通道上的取值,第二色彩信息包括色调、饱和度、明度。
示例性的,若采样视频帧中包括M*N个像素点,每个像素点的色彩信息包括该像素点在红绿蓝三通道上的取值,则针对该采样视频帧中的每一个像素点,均需要确定该像素点在红绿蓝三通道上的取值。
步骤203、计算所述采样视频帧中所述色彩信息的均值,得到色彩均值。
采样视频帧中每个像素点的色彩信息均包括多个取值,在计算色彩均值时,针对每一个像素点,可以将该像素点对应的色彩信息的多个取值进行均值计算,得到该像素点对应的像素色彩均值,针对每个采样视频帧,将该采样视频帧中多个像素点对应的像素色彩均值再进行均值计算,得到该采样视频帧对应的色彩均值。
示例性的,若采样视频帧中包括1024*1024个像素点,每个像素点对应的色彩信息包括色调、饱和度、明度,针对每个像素点,将该像素点对应的色调、饱和度、明度进行求和运算之后,除以3,计算均值,得到该像素点对应的像素色彩均值,然后将1024*1024个像素点进行求和运算之后,除以1024*1024,得到该采样视频帧对应的色彩均值。
步骤204、基于各个采样视频帧的色彩均值,确定所述目标视频的切分时间点,并基于所述切分时间点对所述目标视频进行切分,得到所述至少一个视频片段。
同一情景中采样视频帧的色彩均值相近,因此,基于各个采样视频帧的色彩均值,可以识别出目标视频中同一情景中的采样视频帧。
在一种可能的实施方式中,在确定目标视频的切分时间点时,可以基于相邻采样视频帧的色彩均值之间的差异值,确定切分视频帧,然后将切分视频帧在目标视频中对应的时间点作为目标视频的切分时间点。
具体实施中,若任一相邻的两个采样视频帧之间的色彩均值的差异值大于预设差异值,则可以将这两个相邻的采样视频帧中,在目标视频中对应的时间点靠前的视频帧作为切分视频帧,即将先出现在目标视频中的视频帧作为切分视频帧。
示例性的,若视频帧A和视频帧B为相邻的两个采样视频帧,视频帧A比视频帧B先出现在目标视频中,若视频帧A和视频帧B的色彩均值之间的差异值大于预设差异值,则可以将视频帧A在目标视频中对应的时间点作为目标视频的切分时间点。
这里,需要说明的是,同一个目标视频中可能包括至少一个情景,例如目标视频中可以仅包括办公室情景,也可以同时包括办公室情景、餐厅情景、户外情景等,因此每个目标视频对应的切分时间点至少有一个,其对应的视频片段也至少有一个。
针对步骤102、
所述视频属性数据可以包括以下至少一种:
画面色彩变化速率、画面中的实体运动速率、音频变换速率。
所述画面色彩变化速率,用于表示所述目标视频的画面变化的剧烈程度,画面色彩变化速率越高,目标视频中的画面变化的越剧烈,所述画面色彩变化速率的取值范围可以为[0,1];所述画面中的实体运动速率用于表示所述目标视频中的实体(如人,动物等)相对摄像机的移动速率;所述音频变换速率用于表示所述目标视频中的音频节奏的快慢。
针对所述画面色彩变化速率:
在一种可能的实施方式中,针对任一视频片段,在确定该视频片段对应的画面色彩变化速率时,可以通过以下步骤:
步骤a、每隔第一预设时间间隔确定该视频片段对应的色彩信息。
这里,所述色彩信息可以是在红绿蓝三通道上的取值,即RGB值。
具体的,在确定视频片段对应的色彩信息时,可以先确定该视频片段中对应的多个检测点的位置坐标,然后每隔第一预设时间段确定在该视频片段中所述多个检测点的位置坐标对应的色彩信息,再将在同一时刻确定的多个色彩信息按照对应的权重进行加权求和,将求和结果作为该时刻对应的色彩信息。
在确定多个检测点的位置坐标时,可以将目标视频的视频画面划分成N个区域,然后将每个区域的中心点作为一个检测点,将中心点的位置坐标作为检测点的位置坐标,其中,N为预设正整数。
示例性的,如图3所示,将视频画面划分成9个区域,每个区域的中心点作为一个检测点。
若视频片段的长度为5秒,所述第一预设时间间隔为1秒,则可以分别确定第1秒、第2秒、第3秒、第4秒、第5秒对应的色彩信息。延续图3的示例,在计算第1秒对应的色彩信息时,可以计算在第1秒时9个检测点对应的色彩信息,然后将9个检测点对应的色彩信息进行加权求和,得到第1秒对应的色彩信息。
这里,由于不同位置的色彩变化情况对于画面的整体色彩变化的影响不同,例如对于边缘位置的色彩变化情况可能对于画面的整体变化的影响较小,中心位置的色彩变化情况可能对于画面的整体变化的影响较大,在进行加权求和时,所述权重可以是预先设置好的,不同的检测点对应不同的权重。
步骤b、基于在多个预设时间间隔确定的所述色彩信息,确定该视频片段对应的色彩变化信息。
这里,所述色彩变化信息可以是指第M个时刻对应的色彩信息与第M-1个时刻对应的色彩信息之间的差值,M大于1
若基于步骤a确定了K个时刻对应的色彩信息,则该视频片段对应的色彩变化信息包括K-1个变换信息。
步骤c、基于所述色彩变化信息,确定该视频片段对应的画面色彩变化速率。
在一种可能的实施方式中,可以先计算色彩变化信息对应的平方平均数,然后基于预先拟合的色值变化函数,确定该平方平均值对应的画面色彩变化速率。
这里,所述色值变化函数可以是用于描述画面色彩变化速率与色彩变化信息之间关系的函数,所述色值变化函数可以是预先拟合的。具体的,可以为样本视频添加色彩变化速率标注信息,然后将样本视频输入至神经网络中,神经网络通过色彩变化信息和色彩变化速率,拟合出所述色值变化函数。
针对所述画面中的实体运动速率:
在一种可能的实施方式中,针对任一视频片段,在确定该视频片段对应的画面中的实体运动速率时,可以通过以下步骤:
步骤a、每隔第二预设时间间隔,基于预先训练的神经网络确定该视频片段中的实体的位置信息。
这里,所述实体可以是指视频片段中移动的物体,例如可以是人、动物、车辆等。所述实体的位置信息可以用该实体在视频片段的画面中所占的像素位置来表述。
步骤b、基于任意相邻的两个时刻确定的所述位置信息,确定所述实体在该相邻的两个时刻之间的第一运动速率。
这里,所述第一运动速率可以通过如下公式进行计算:
其中,s1表示相邻两个时刻之间实体位置的距离,h表示视频画面的对角线的长度,r表示视频画面中总像素个数,s2表示相邻两个时刻之间实体所占的像素个数之差,t1和t2为预先设置的与所述目标视频的类型对应的超参数。
这里,相邻的两个时刻之间的时间长度可以认为是单位时间,因此在计算第一运动速率时,可以不考虑时间的影响。
其中,
可以理解为相对于视频画面的水平移动速度,h表示视频画面的对角线的长度,为视频画面中的最长长度,这样可以保证计算出的水平移动速度小于1;
可以理解为像素变化速度,或垂直移动速度,r表示视频画面中总像素个数,分母为总像素个数的四分之一的原因在于,在物体的垂直移动过程中,若两个相邻时刻之间实体所占的像素个数之差占到整个视频画面的
时,物体的垂直移动速度已经很快了,因此在分母中乘以了
实际应用中分母还可以是总像素个数与其他数值相乘,例如分母可以是
或r等。
t1和t2为调整参数,一般为1,实际应用中,例如对于赛车类的视频,关注的点应该在于水平的移动速度,因此可以设置t1较大,设置t2较小;而对于美食类的视频,其关注的点应该在于像素变化速度,因此可以设置t1较小,设置t2较大。具体地,每种类型对应的t1和t2取值可以是预先设置好的,在确定视频类型之后,t1和t2可以视为固定参数。
步骤c、基于多个相邻时刻之间的第一运动速率,确定平均运动速率,并将所述平均运动速率作为该视频片段对应的画面中的实体运动速率。
这里,在计算出多个相邻时刻之间的第一运动速率之后,可以计算多个第一运动速率的平均运动速率,并将平均运动速率作为该视频片段对应的实体运动速率。
针对音频变换速率:
在一种可能的实施方式中,针对任一视频片段,在确定该视频片段对应的音频变换速率时,可以先将该视频片段对应的人声和背景音乐进行分离,并分别确定该视频片段中的人声的总音量和背景音乐的总音量,然后确定所述人声和背景音乐中对应的总音量较高的一者的音频速度,并基于所述音频速度与音频变换速率之间的对应关系,确定该视频片段对应的音频变换速率。
所述确定人声的总音量可以理解为确定人声的音量波形的波形面积,所述确定背景音乐的总音量可以理解为确定背景音乐的音量波形的波形面积,所述总音量较高的一者可以是指波形面积较大的一者。
若某段视频片段中仅包括人声或者仅包括背景音乐,则可以直接计算人声或者背景音乐的音频速度。
所述音频速度与音频变换速率之间的对应关系示例性的可以如下表1所示:
表1
人声 |
背景音乐 |
音频变换速率 |
无声音 |
无声音 |
0 |
2字/秒 |
40BPM |
0.2 |
3字/秒 |
80BPM |
0.4 |
4字/秒 |
100BPM |
0.6 |
6字/秒 |
120BPM |
0.8 |
8字/秒 |
160BPM |
1.0 |
其中,上表1中,音频速度与音频变换速率之间的对应关系可以是预先设置好的,即不同的音频速度对应的音频变换速率是多大是预先设置好的。
针对所述播放属性数据:
在一种可能的实施方式中,所述历史播放数据,可以包括在播放该视频片段时打开倍速播放的用户个数、对应的倍速、以及未打开倍速播放的用户个数。所述播放属性数据可以包括播放节奏,实际应用中,当视频节奏较快时,用户在进行播放时播放的倍速可能较低,而当视频节奏较慢时,用户在进行播放时播放的倍速可能较高,因此,用户播放的倍速可以间接的反应出视频的播放节奏。
具体的,在确定视频片段的播放属性数据时,示例性的,可以通过以下公式先计算出平均倍速,然后基于平均倍速与播放节奏之间的对应关系,确定视频片段对应的播放节奏:
其中,K表示平均倍速,a表示打开倍速播放的用户个数,k表示对应的倍速,b表示未打开倍速播放的用户个数。
这里,上述公式中,a×k可以包括a1×k1+a2×k2…以此类推,其中,a1表示开启k1倍速的用户个数,a2表示开启k2倍速的用户个数。
示例性的,所述平均倍速与播放节奏之间的对应关系可以如下表2所示,实际应用中,并不受下表数据对应关系的限定,平均倍速与播放节奏的对应关系和取值可以根据历史播放数据的情况设定:
表2
平均倍速 |
播放节奏 |
0.8 |
1 |
1 |
0.8 |
1.05 |
0.6 |
1.08 |
0.4 |
1.15 |
0.2 |
1.2 |
0 |
针对步骤103、
在一种可能的实施方式中,针对任一视频片段,在基于该视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度时,示例性的可以通过如图4所示的方法,包括以下几个步骤:
步骤401、确定所述目标视频的视频类型。
步骤402、获取与所述视频类型对应的所述视频属性数据的第一权重参数和所述播放属性数据的第二权重参数。
步骤403、基于所述第一权重参数、所述第二权重参数、所述视频属性数据和播放属性数据,确定所述视频片段的播放速度。
这里,所述目标视频的视频类型例如可以是武打动作类,影视剧类,综艺类等,不同类型的目标视频可以对应不同的权重参数。同一目标视频,对应的不同视频属性数据的第一权重参数可以不同。
针对步骤403,在一种可能的实施方式中,在基于所述第一权重参数、所述第二权重参数、所述视频属性数据和播放属性数据,确定所述视频片段的播放速度时,视频片段的播放速度与画面色彩变化速率、实体运动速率、音频变换速率、历史播放速度成反比,也就是说画面色彩变化速率越快,视频片段的播放速度越慢;和/或,实体运动速率越快,视频片段的播放速度越慢;和/或,播放节奏与平均倍速成反比,也就是说用户的平均倍速越快,说明视频的播放节奏越慢,视频片段的播放速度理论上也应该越快。
基于此,示例性的可以通过如下公式进行计算:
其中,kn表示权重参数,A表示画面色彩变化速率,B表示画面中的实体运动速率,C表示音频变换速率,D表示播放节奏。
上述公式中,α表示最快播放速度,例如可以是2、3、4等,在计算播放速度时,可以预设多个播放速度,例如当最快播放速度为2时,预设的多个播放速度例如可以包括1、1.25、1.5、1.75、2等,当通过上述公式计算得到结果之后,可以就近取值,确定最终的播放速度,例如若通过上述公式计算得到的值为1.25,则可以将最接近的预设播放速度1.25作为该片段的播放速度。
在一种可能的情况下,通过上述公式计算得到的结果超过了最快播放速度α,在这种情况下,可以直接将最快播放速度作为该视频片段的播放速度。
在一种可能的实施方式中,在基于上述方式确定目标视频的各个视频片段的播放速度之后,可以响应用户端发送的针对所述目标视频的智能倍速播放请求,确定所述目标视频当前的播放进度;然后基于所述目标视频当前的播放进度,确定所述播放进度对应的目标视频片段;再将所述目标视频片段对应的播放速度发送至所述用户端,以使所述用户端按照所述播放速度播放所述目标视频片段。
在另外一种可能的实施方式中,在用户端请求播放目标视频时,可以直接将各个视频片段对应的播放速度发送至用户端,在用户触发智能倍速播放的按钮之后,可以直接基于预先接收的各个视频片段对应的播放速度以及当前的播放进度,对目标视频进行播放。
在一种可能的实施方式中,用户端在接收到各个视频片段对应的播放速度之后,可以结合用户端当前的网络状况,对所述播放速度进行调节,示例性的,可以基于用户端当前的网络状况,确定当前的网络等级,若网络状况为良好,则可以按照对应的播放速度进行播放,若网络状况较差,则可以按照正常的播放速度对视频片段进行播放。
本公开提供的视频处理方法,通过将目标视频切分成多个视频片段,然后每个视频片段都确定出对应的播放速度,再按照对应的播放速度对目标视频进行播放,这样在进行目标视频的播放时,各个目标片段都能按照与自己匹配的播放速度进行播放;在确定各个片段的播放速度时,是基于各个片段的视频属性数据和历史播放数据确定的,因此确定出的播放速度能够符合各个片段本身的属性特征,在按照对应的播放速度进行播放时,能够实现针对性的倍速播放。
基于相同的构思,本公开实施例还提供了一种视频播放方法,参见图5所示,为本公开实施例提供的一种视频播放方法的流程示意图,包括以下几个步骤:
步骤501、响应针对目标视频的触发操作,发送智能倍速播放请求,所述目标视频包括至少一个视频片段。
步骤502、接收与当前播放的视频片段对应的播放速度,并按照所述播放速度播放当前播放的视频片段,其中,所述视频片段对应的播放速度基于所述视频片段的视频属性数据和由历史播放数据生成的播放属性数据确定。
这里,所述针对所述目标视频的触发操作,示例性的可以是针对所述目标视频中智能倍速播放的按钮的触发操作,或者可以是用户输入的智能倍速播放的语音指令等。
在一种可能的实施方式中,在按照接收的播放速度播放完当前的视频片段之后,可以再次向服务器获取下一视频片段的播放速度,并按照下一视频片段的播放速度播放所述下一视频片段。
或者,在另外一种可能的实施方式中,服务器在发送播放速度时,可以将当前视频片段以及当前视频片段之后的视频片段的播放速度一起发送到用户端,用户端在按照接收的播放速度播放完当前的视频片段之后,可以直接从本地查找下一视频片段的播放速度,并按照下一视频片段的播放速度播放所述下一视频片段。
或者,在另外一种可能的实施方式中,服务器在向用户端发送目标视频时,可以将目标视频的各个视频片段分别对应的播放速度也发送到用户端,在检测到针对所述目标视频的第二触发操作之后,可以直接由用户端从本地查找当前播放的视频片段的播放速度。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与视频处理方法对应的视频处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述视频处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图6所示,为本公开实施例提供的一种视频处理装置的架构示意图,所述装置包括:视频处理模块601、第一确定模块602、第二确定模块603、以及响应模块604;其中,
视频处理模块601,用于获取目标视频,并将所述目标视频切分成至少一个视频片段;
第一确定模块602,用于确定所述视频片段分别对应的视频属性数据,以及基于所述视频片段的历史播放数据确定所述视频片段分别对应的播放属性数据;
第二确定模块603,用于基于所述视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度,所述播放速度用于在播放所述目标视频时,按照所述至少一个视频片段分别对应的播放速度进行视频播放。
一种可能的实施方式中,所述视频属性数据包括以下至少一种:
画面色彩变化速率、画面中的实体运动速率、音频变换速率。
一种可能的实施方式中,针对任一视频片段,所述第一确定模块602用于根据以下方法确定该视频片段对应的画面色彩变化速率:
每隔第一预设时间间隔确定该视频片段对应的色彩信息;
基于在多个预设时间间隔确定的所述色彩信息,确定该视频片段对应的色彩变化信息;
基于所述色彩变化信息,确定该视频片段对应的画面色彩变化速率。
一种可能的实施方式中,所述第一确定模块602,在所述每隔第一预设时间间隔确定该视频片段对应的色彩信息时,用于:
确定该视频片段中对应的多个检测点的位置坐标;
每隔第一预设时间间隔确定在该视频片段中所述多个检测点的位置坐标对应的色彩信息;
将在同一时刻确定的多个色彩信息按照对应权重进行加权求和,将求和结果作为该时刻对应的色彩信息。
一种可能的实施方式中,针对任一视频片段,所述第一确定模块602用于根据以下方法确定该视频片段对应的画面中的实体运动速率:
每隔第二预设时间间隔,基于预先训练的神经网络确定该视频片段中的实体的位置信息;
基于任意相邻的两个时刻确定的所述位置信息,确定所述实体在该相邻的两个时刻之间的第一运动速率;
基于多个相邻时刻之间的第一运动速率,确定平均运动速率,并将所述平均运动速率作为该视频片段对应的画面中的实体运动速率。
一种可能的实施方式中,针对任一视频片段,所述第一确定模块602用于根据以下方法确定该视频片段对应的音频变换速率:
将该视频片段对应的人声和背景音乐进行分离,并分别确定该视频片段中的人声的总音量和背景音乐的总音量;
确定所述人声和背景音乐中对应的总音量较高的一者的音频速度,并基于所述音频速度与音频变换速率之间的对应关系,确定该视频片段对应的音频变换速率。
一种可能的实施方式中,历史播放数据包括:
在播放该视频片段时打开倍速播放的用户个数、对应的倍速、以及未打开倍速播放的用户个数。
一种可能的实施方式中,所述针对任一视频片段,所述第二确定模块603,在基于该视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度时,用于:
确定所述目标视频的视频类型;
获取与所述视频类型对应的所述视频属性数据的第一权重参数和所述播放属性数据的第二权重参数;
基于所述第一权重参数、所述第二权重参数、所述视频属性数据和播放属性数据,确定所述视频片段的播放速度。
一种可能的实施方式中,所述视频处理模块601,在将所述目标视频切分成至少一个视频片段时,用于:
对所述目标视频进行情景识别,确定所述目标视频对应的至少一个视频片段;每个视频片段对应一种视频情景。
一种可能的实施方式中,所述装置还包括响应模块604,用于:
响应用户端发送的针对所述目标视频的智能倍速播放请求,确定所述目标视频当前的播放进度;
基于所述目标视频当前的播放进度,确定所述播放进度对应的目标视频片段;
将所述目标视频片段对应的播放速度发送至所述用户端,以使所述用户端按照所述播放速度播放所述目标视频片段。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一发明构思,本公开实施例中还提供了与视频播放方法对应的视频播放装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述视频播放方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图7所示,为本公开实施例提供的一种视频播放装置的架构示意图,所述装置包括:发送模块701、以及播放模块702;其中,
发送模块701,用于响应针对目标视频的触发操作,发送智能倍速播放请求,所述目标视频包括至少一个视频片段;
播放模块702,用于接收与当前播放的视频片段对应的播放速度,并按照所述播放速度播放当前播放的视频片段,其中,所述视频片段对应的播放速度基于所述视频片段的视频属性数据和由历史播放数据生成的播放属性数据确定。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图8所示,为本公开实施例提供的计算机设备800的结构示意图,包括处理器801、存储器802、和总线803。其中,存储器802用于存储执行指令,包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换,当计算机设备800运行时,处理器801与存储器802之间通过总线803通信,使得处理器801在执行以下指令:
获取目标视频,并将所述目标视频切分成至少一个视频片段;
确定所述视频片段分别对应的视频属性数据,以及基于所述视频片段的历史播放数据确定所述视频片段分别对应的播放属性数据;
基于所述视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度,所述播放速度用于在播放所述目标视频时,按照所述至少一个视频片段分别对应的播放速度进行视频播放。
一种可能的实施方式中,处理器801执行的指令中,所述视频属性数据包括以下至少一种:
画面色彩变化速率、画面中的实体运动速率、音频变换速率。
一种可能的实施方式中,处理器801执行的指令中,针对任一视频片段,所述方法还包括根据以下方法确定该视频片段对应的画面色彩变化速率:
每隔第一预设时间间隔确定该视频片段对应的色彩信息;
基于在多个预设时间间隔确定的所述色彩信息,确定该视频片段对应的色彩变化信息;
基于所述色彩变化信息,确定该视频片段对应的画面色彩变化速率。
一种可能的实施方式中,处理器801执行的指令中,所述每隔第一预设时间间隔确定该视频片段对应的色彩信息,包括:
确定该视频片段中对应的多个检测点的位置坐标;
每隔第一预设时间间隔确定在该视频片段中所述多个检测点的位置坐标对应的色彩信息;
将在同一时刻确定的多个色彩信息按照对应权重进行加权求和,将求和结果作为该时刻对应的色彩信息。
一种可能的实施方式中,处理器801执行的指令中,针对任一视频片段,所述方法还包括根据以下方法确定该视频片段对应的画面中的实体运动速率:
每隔第二预设时间间隔,基于预先训练的神经网络确定该视频片段中的实体的位置信息;
基于任意相邻的两个时刻确定的所述位置信息,确定所述实体在该相邻的两个时刻之间的第一运动速率;
基于多个相邻时刻之间的第一运动速率,确定平均运动速率,并将所述平均运动速率作为该视频片段对应的画面中的实体运动速率。
一种可能的实施方式中,处理器801执行的指令中,针对任一视频片段,所述方法还包括根据以下方法确定该视频片段对应的音频变换速率:
将该视频片段对应的人声和背景音乐进行分离,并分别确定该视频片段中的人声的总音量和背景音乐的总音量;
确定所述人声和背景音乐中对应的总音量较高的一者的音频速度,并基于所述音频速度与音频变换速率之间的对应关系,确定该视频片段对应的音频变换速率。
一种可能的实施方式中,处理器801执行的指令中,所述历史播放数据包括:
在播放该视频片段时打开倍速播放的用户个数、对应的倍速、以及未打开倍速播放的用户个数。
一种可能的实施方式中,处理器801执行的指令中,所述针对任一视频片段,基于该视频片段的视频属性数据和播放属性数据,确定所述视频片段的播放速度,包括:
确定所述目标视频的视频类型;
获取与所述视频类型对应的所述视频属性数据的第一权重参数和所述播放属性数据的第二权重参数;
基于所述第一权重参数、所述第二权重参数、所述视频属性数据和播放属性数据,确定所述视频片段的播放速度。
一种可能的实施方式中,处理器801执行的指令中,所述将所述目标视频切分成至少一个视频片段,包括:
对所述目标视频进行情景识别,确定所述目标视频对应的至少一个视频片段;每个视频片段对应一种视频情景。
一种可能的实施方式中,处理器801执行的指令中,所述方法还包括:
响应用户端发送的针对所述目标视频的智能倍速播放请求,确定所述目标视频当前的播放进度;
基于所述目标视频当前的播放进度,确定所述播放进度对应的目标视频片段;
将所述目标视频片段对应的播放速度发送至所述用户端,以使所述用户端按照所述播放速度播放所述目标视频片段。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图9所示,为本公开实施例提供的计算机设备900的结构示意图,包括处理器901、存储器902、和总线903。其中,存储器902用于存储执行指令,包括内存9021和外部存储器9022;这里的内存9021也称内存储器,用于暂时存放处理器901中的运算数据,以及与硬盘等外部存储器9022交换的数据,处理器901通过内存9021与外部存储器9022进行数据交换,当计算机设备900运行时,处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:
响应针对目标视频的触发操作,发送智能倍速播放请求,所述目标视频包括至少一个视频片段;
接收与当前播放的视频片段对应的播放速度,并按照所述播放速度播放当前播放的视频片段,其中,所述视频片段对应的播放速度基于所述视频片段的视频属性数据和由历史播放数据生成的播放属性数据确定。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的视频处理或视频播放方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的视频处理或视频播放方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。