视频处理方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种视频处理方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,服务器可以向终端提供视频平台,使得用户可以随时随地地在终端上通过该视频平台来浏览视频,该视频平台可以是网站、应用程序或者嵌入式程序等。
由于服务器每天都需要为海量的用户提供其请求访问的视频,因此在资源传输过程中会存在极大的带宽需求,通常,服务器会根据某个历史时间段(比如前一天)内全平台用户的播放数据,解析出播放量最多的视频,对该播放量最多的视频进行提前转码,也即是说,从数据库中读取该播放量最多的视频的原始文件,将原始文件转换成具有更小码率的视频文件,当后续接收到终端对该播放量最多的视频的访问请求时,直接将转码后的视频文件发送到对应的终端,以节约资源传输过程所消耗的带宽。
在上述过程中,由于视频在当天的播放次数通常与历史播放次数并非是正相关的,比如某个视频由于社交网站的推广突然火爆,导致在历史时间段内访问量激增,但随着视频热度的消退,很可能出现提前转码过的视频在当天的播放次数很低、甚至根本没有播放的情况,因此上述基于历史播放量进行视频处理的方式,在预测视频的播放量过程中准确率差。
发明内容
本申请实施例提供了一种视频处理方法、装置、计算机设备及存储介质,能够提升预测视频的播放量过程中的准确率。
一方面,提供了一种视频处理方法,该方法包括:
获取目标视频的视频信息和历史播放信息;
对所述视频信息和所述历史播放信息进行特征提取,得到所述目标视频的播放时间特征和播放交叉特征,所述播放时间特征用于表示所述目标视频在时间序列上的相关特征,所述播放交叉特征用于表示所述目标视频与其他视频在视频属性上的关联特征;
根据所述播放时间特征和所述播放交叉特征,获取所述目标视频的预估播放量;
基于所述预估播放量,确定是否对所述目标视频进行转码。
一方面,提供了一种视频处理装置,该装置包括:
第一获取模块,用于获取目标视频的视频信息和历史播放信息;
特征提取模块,用于对所述视频信息和所述历史播放信息进行特征提取,得到所述目标视频的播放时间特征和播放交叉特征,所述播放时间特征用于表示所述目标视频在时间序列上的相关特征,所述播放交叉特征用于表示所述目标视频与其他视频在视频属性上的关联特征;
第二获取模块,用于根据所述播放时间特征和所述播放交叉特征,获取所述目标视频的预估播放量;
确定模块,用于基于所述预估播放量,确定是否对所述目标视频进行转码。
在一种可能实施方式中,所述特征提取模块包括:
编码子模块,用于调用第一播放量模型对所述视频信息和所述历史播放信息进行编码,得到所述播放时间特征,所述第一播放量模型用于在提取所述播放时间特征后基于所述播放时间特征预测所述目标视频的第一播放量;
处理子模块,用于调用第二播放量模型对所述视频信息和所述历史播放信息进行处理,得到所述播放交叉特征,所述第二播放量模型用于在提取所述播放交叉特征后基于所述播放交叉特征预测所述目标视频的第二播放量。
在一种可能实施方式中,所述第二获取模块用于:
调用所述第一播放量模型将所述播放时间特征映射为所述目标视频的第一播放量;
调用所述第二播放量模型将所述播放交叉特征映射为所述目标视频的第二播放量;
对所述第一播放量和所述第二播放量进行加权处理,得到所述预估播放量,其中,所述第一播放量与所述第二播放量的权重相加所得的数值等于一。
在一种可能实施方式中,所述第一播放量模型和所述第二播放量模型的训练过程包括:
获取多个样本视频的多个视频信息、多个历史播放信息和多个实际播放量;
根据所述多个视频信息、多个历史播放信息和多个实际播放量,对第一初始模型和第二初始模型进行迭代训练,直到符合停止训练条件,得到所述第一播放量模型和所述第二播放量模型。
在一种可能实施方式中,所述确定模块用于:
响应于所述预估播放量大于播放量阈值,确定对所述目标视频进行转码;或,
响应于所述预估播放量在按照预估播放量从大到小的排序中位于前目标位,确定对所述目标视频进行转码。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的视频处理方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的视频处理方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码可以存储在计算机可读存储介质中。计算机设备的一个或多个处理器可以从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得计算机设备能够执行上述任一种可能实施方式的视频处理方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过获取用于体现目标视频在时间序列上的播放时间特征以及用于体现目标视频与其他视频在视频属性上的播放交叉特征,接着根据该播放时间特征和该播放交叉特征来预测该目标视频的预估播放量,在预估播放量的基础上来判断是否对目标视频进行提前转码,因此在对预估播放量进行预测时,可以同时兼顾到时间序列和视频属性上的相关特征,使得预测出的预估播放量具有更高的准确性,也即意味着在进行视频转码时具有更高的准确性,这样可以极大地节约视频传输过程消耗的带宽。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频处理方法的实施环境示意图;
图2是本申请实施例提供的一种视频处理方法的流程图;
图3是本申请实施例提供的一种视频处理方法的流程图;
图4是本申请实施例提供的一种记忆单元的原理性示意图;
图5是本申请实施例提供的一种记忆单元的原理性示意图;
图6是本申请实施例提供的一种记忆单元的原理性示意图;
图7是本申请实施例提供的一种记忆单元的原理性示意图;
图8是本申请实施例提供的一种记忆单元的原理性示意图;
图9是本申请实施例提供的一种DeepFM子模型的原理性示意图;
图10是本申请实施例提供的一种视频处理方法的原理性流程图;
图11是本申请实施例提供的一种预测准确率的示意图;
图12是本申请实施例提供的一种重叠比率的示意图;
图13是本申请实施例提供的一种视频处理装置的结构示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括音频处理技术、计算机视觉技术、自然语言处理技术以及机器学习/深度学习等几大方向。
让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中机器学习(Machine Learning,ML)成为未来最被看好的人机交互方式之一。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
随着AI技术的发展,机器学习在多个领域展开了研究和应用,例如常见的音频处理、视频处理、图像处理等,相信随着AI技术的发展,机器学习将在更多的领域得到应用,发挥越来越重要的价值。在本申请实施例中涉及一种视频处理方法,将利用机器学习技术精准预测出某个样本视频在未来时刻的预估播放量,从而确定是否要对样本视频进行提前转码,以压缩终端在访问样本视频时所需的网络带宽,降低资源传输过程的通信开销,具体通过下述几个实施例进行说明。
图1是本申请实施例提供的一种视频处理方法的实施环境示意图。参见图1,在该实施环境中可以终端101和服务器102,下面进行详述:
终端101可以是能够播放视频的任一终端,终端101安装和运行有支持视频播放功能的应用程序,例如该应用程序可以是短视频应用、直播应用、视频点播应用、社交应用或者购物应用中至少一项,本申请实施例不对应用程序的类型进行具体限定。用户在登录终端101上的应用程序后,可以点击应用程序中的视频标识(比如缩略图、超链接、标题等),触发终端101向服务器102发送视频访问请求,该视频访问请求用于拉取该视频标识所对应的视频流,该视频流可以是直播视频流也可以是点播视频流,在终端101接收到服务器102返回的视频流之后,播放该视频流。
该终端101以及服务器102之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
该服务器102可以是能够提供视频播放服务的任一计算机设备,服务器可以基于本申请实施例提供的视频处理方法,可以获取任一个目标视频在未来的预估播放量,从而确定是否需要对目标视频进行提前转码,比如,对于一些预估播放量较大的目标视频,通过提前转码成具有更小码率的视频流,能够节约向终端101发送视频流这一资源传输过程中消耗的带宽,并且随着终端对目标视频的实际播放量的增加,那么意味着降低了更多的通信开销。具体地,服务器102在接收到任一终端101的视频访问请求之后,解析该视频访问请求,得到终端101所请求访问的视频标识,将与该视频标识对应存储的视频流发送至终端101。
该服务器102可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器102用于为支持视频播放功能的应用程序提供后台服务。可选地,服务器102可以承担主要计算工作,终端101可以承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,终端101与服务器102之间采用分布式计算架构进行协同计算。
上述服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。
上述终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器等,但并不局限于此。
本领域技术人员可以知晓,终端101可以泛指多个终端中的一个,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
在一个示例性场景中,以某个视频平台为例,假设该视频平台对H264格式的存量视频有10亿多,存量视频每天播放的视频数大约可以达到150万,全平台的播放量大约可以达到15亿的量级,提取转码的过程也可以视为一个“补转码”的过程,在相关技术中,补转码团队根据视频的历史播放量,来选取播放量位于topN的视频进行转码,每天转码10万到40万的视频数量,但是存在非常多的视频其历史播放量很高,但是实际第二天播放量较低、甚至根本没有播放的情况,正是由于对视频的预估播放量的预测准确性差,因此补转码过程的准确性差,导致无法通过补转码达到更加的节约资源传输带宽的目的。
有鉴于此,在本申请实施例提供中提供一种视频处理方法,能够提升对视频的预估播放量的预测准确性,从而可以极大的降低对那些“历史播放量较高、实际播放量较低”的视频进行补转码,而是通过结合视频的视频信息以及历史播放信息(包括播放量、播放趋势等),精准预测出那些实际播放量较高的视频,对这些视频进行补转码,以达到更优的节约资源传输带宽的效果。
图2是本申请实施例提供的一种视频处理方法的流程图。参见图2,该实施例应用于计算机设备,以该计算机设备可以为上述实施环境中的服务器102为例进行说明,该实施例包括下述步骤。
201、服务器获取目标视频的视频信息和历史播放信息。
其中,该目标视频可以是服务器所支持浏览的任一视频,该目标视频可以存储于本地数据库,也可以存储于云端数据库,还可以存储于CDN服务器中任一节点设备。
在上述获取视频信息的过程中,服务器可以先确定目标视频的视频标识(Identification,ID),该视频ID用于唯一标识服务器中存储的视频,通常是一串标识码,接着,服务器再以该视频ID为索引,从数据库中查询是否存在与该索引对应存储的索引内容,如果能够命中任一索引内容,将该索引内容中存储的属性信息获取为目标视频的视频信息。
可选地,该属性信息可以包括目标视频的视频标签、视频时长、视频上架时刻、视频创作者、视频标题或者视频摘要中至少一项,其中,视频标签可以用于指示视频的类型,例如包括情感类标签(喜剧、悲剧、正剧等)、内容类标签(动作片、文艺片、灾难片、动画片、科幻片等)、资源类型标签(电影、电视剧、直播视频、剪辑视频、原创视频等),而视频时长则是指播放视频所消耗的总时长,视频上架时刻是指服务器将视频开放浏览权限的时刻,视频创作者则是指参与视频创造的人员,对于电影来说,视频创作者是指导演、编剧以及主演等创作团队,对于原创视频来说,视频创作者一般是指视频发布者(可以俗称为up主),视频标题也即是视频名称,视频摘要也即是视频简介,这里不做赘述。
在一些实施例中,除了属性信息之外,服务器还可以将该目标视频的部分或全部视频帧也获取为该目标视频的视频信息,比如,将目标视频的全部视频帧也获取为视频信息,可以提升视频信息所包含的信息量,或者,仅将目标视频中的关键帧获取为视频信息,可以节约后续视频处理过程的计算量,当然,也可以不将任何视频帧获取为视频信息,本申请实施例不对视频信息中是否包含目标视频中的视频帧进行具体限定。
在上述过程中,服务器可以根据各个终端对目标视频的访问记录或者行为日志,统计各个终端在历史时间段内对该目标视频的播放量、播放时刻以及单次播放时长,得到该目标视频的历史播放信息。
202、服务器对该视频信息和该历史播放信息进行特征提取,得到该目标视频的播放时间特征和播放交叉特征,该播放时间特征用于表示该目标视频在时间序列上的相关特征,该播放交叉特征用于表示该目标视频与其他视频在视频属性上的关联特征。
在上述过程中,服务器可以分别采用不同的模型来对该视频信息和该历史播放信息进行特征提取,比如采用第一播放量模型来提取该播放时间特征,采用第二播放量模型来提取该播放交叉特征。
其中,第一播放量模型和第二播放量模型的结构及功能均不相同,比如,第一播放量模型用于在提取播放时间特征后基于该播放时间特征预测目标视频的第一播放量,通常可以是具有编解码(Encoder-Decoder)结构的序列到序列(Sequence To Sequence,Seq2Seq)模型,例如RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short-Term Memory,长短期记忆网络)、BLSTM(Bidirectional Long Short-Term Memory,双向长短期记忆网络)、GRU(Gated Recurrent Unit,门循环单元)等,而第二播放量模型则用于在提取播放交叉特征后基于该播放交叉特征预测目标视频的第二播放量,通常可以是兼具深度部分与宽度部分以提取交叉特征的神经网络,例如DeepFM(Deep FactorizationMachine,深度因子分解机)、WDL(Wide & Deep Learning,宽度和深度联合模型)、双塔网络等。
宏观上来说,第一播放量模型和第二播放量模型可以视为两种不同的播放量预估模型,第一播放量模型着重于从时间序列上提取前后视频帧之间的播放时间特征,而第二播放量模型则着重于分别从深度部分提取高阶特征、从宽度部分提取低阶特征,将同时到的学习高阶特征和低阶特征进行交叉融合,得到最终在视频属性上的播放交叉特征。
在下个实施例中,将第一播放量模型为LSTM模型、第二播放量模型为DeepFM模型为例,对视频处理过程进行详述,需要说明的是,第一播放量模型并不局限于LSTM模型,还可以是上述任一种具有编解码结构的Seq2Seq模型,同理,第二播放量模型也并不局限于DeepFM模型,还可以是上述任一种兼具深度部分与宽度部分以提取交叉特征的神经网络。
203、服务器根据该播放时间特征和该播放交叉特征,获取该目标视频的预估播放量。
在上述过程中,服务器可以根据该播放时间特征获取该目标视频的第一播放量,根据该播放交叉特征获取该目标视频的第二播放量,再者,对第一播放量和第二播放量进行加权处理,得到该目标视频的预估播放量。在加权过程中,该第一播放量与该第二播放量的权重相加所得的数值等于一,也即是说,假设第一播放量的权重为α,那么第二播放量的权重则可以表示为(1-α)。
可选地,在获取第一播放量的过程中,可以调用第一播放量模型对该播放时间特征进行映射,得到该第一播放量,比如采用softmax(指数归一化)函数将播放时间特征映射为一个第一播放量。
可选地,在获取第二播放量的过程中,可以调用第二播放量模型对该播放交叉特征进行映射,得到该第二播放量,比如采用sigmoid函数将播放交叉特征进行非线性映射以得到一个第二播放量,这里的非线性映射过程也即是激活处理的过程。
204、服务器基于该预估播放量,确定是否对该目标视频进行转码。
在一些实施例中,服务器可以对该预估播放量与播放量阈值进行比较,响应于该预估播放量大于播放量阈值,确定对该目标视频进行转码,否则,不对该目标视频进行转码。
在一些实施例中,服务器还可以将视频库内多个视频的预估播放量按照从大到小的顺序进行排序,响应于该预估播放量在按照预估播放量从大到小的排序中位于前目标位,确定对该目标视频进行转码,否则,不对该目标视频进行转码。
上述转码过程是指将目标视频从第一码率转化为第二码率,其中第一码率大于第二码率,也即是说,服务器在终端发起向目标视频的视频访问请求之前,提前对目标视频进行码率转换,使其转换为码率更小的视频文件,这样随着针对目标视频的实际播放量的增加,那么对于资源传输过程中带宽的节省是极为可观的,正是由于预估播放量的精准预测,才可以极大地降低资源传输过程的通信开销。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过获取用于体现目标视频在时间序列上的播放时间特征以及用于体现目标视频与其他视频在视频属性上的播放交叉特征,接着根据该播放时间特征和该播放交叉特征来预测该目标视频的预估播放量,在预估播放量的基础上来判断是否对目标视频进行提前转码,因此在对预估播放量进行预测时,可以同时兼顾到时间序列和视频属性上的相关特征,使得预测出的预估播放量具有更高的准确性,也即意味着在进行视频转码时具有更高的准确性,这样可以极大地节约视频传输过程消耗的带宽。
图3是本申请实施例提供的一种视频处理方法的流程图。参见图3,该实施例应用于计算机设备,以该计算机设备可以为上述实施环境中的服务器102为例进行说明,该实施例包括下述步骤。
301、服务器获取目标视频的视频信息和历史播放信息。
其中,该目标视频可以是服务器所支持浏览的任一视频,该目标视频可以存储于本地数据库,也可以存储于云端数据库,还可以存储于CDN服务器中任一节点设备。
在一些实施例中,该目标视频还可以是按照目标规则进行筛选得到的任一视频,比如,该目标规则可以是播放量大于第一目标阈值,这样对于一些播放量较小的视频可以无需关注,仅仅在符合目标规则的各个目标视频中确定出需要对哪些进行提前转码即可,又比如,该目标规则还可以是播放量大于第一目标阈值且视频时长大于目标时长,这样可以在基于播放量进行一次筛选的基础上,基于视频时长进行二次筛选,能够过滤掉一些播放量很高、但视频时长本身较短的资讯类视频,这类视频虽然播放量较高,但是视频时长短,因此不会占用过多的带宽,从而对于一些播放量较小或者视频时长较短的视频可以无需关注,主要聚焦于在那些播放量较大且视频时长较长的各个目标视频中具体需要对哪些进行提前转码,从而可以达到缩小计算量的效果。
在上述获取视频信息的过程中,服务器可以先确定目标视频的视频标识(Identification,ID),该视频ID用于唯一标识服务器中存储的视频,通常是一串标识码,接着,服务器再以该视频ID为索引,从数据库中查询是否存在与该索引对应存储的索引内容,如果能够命中任一索引内容,将该索引内容中存储的属性信息获取为目标视频的视频信息。
可选地,该属性信息可以包括目标视频的视频标签、视频时长、视频上架时刻、视频创作者、视频标题或者视频摘要中至少一项,其中,视频标签可以用于指示视频的类型,例如包括情感类标签(喜剧、悲剧、正剧等)、内容类标签(动作片、文艺片、灾难片、动画片、科幻片等)、资源类型标签(电影、电视剧、直播视频、剪辑视频、原创视频等),而视频时长则是指播放视频所消耗的总时长,视频上架时刻是指服务器将视频开放浏览权限的时刻,视频创作者则是指参与视频创造的人员,对于电影来说,视频创作者是指导演、编剧以及主演等创作团队,对于原创视频来说,视频创作者一般是指视频发布者(可以俗称为up主),视频标题也即是视频名称,视频摘要也即是视频简介,这里不做赘述。
在一些实施例中,除了属性信息之外,服务器还可以将该目标视频的部分或全部视频帧也获取为该目标视频的视频信息,比如,将目标视频的全部视频帧也获取为视频信息,可以提升视频信息所包含的信息量,或者,仅将目标视频中的关键帧获取为视频信息,可以节约后续视频处理过程的计算量,当然,也可以不将任何视频帧获取为视频信息,本申请实施例不对视频信息中是否包含目标视频中的视频帧进行具体限定。
在上述过程中,服务器可以根据各个终端对目标视频的访问记录或者行为日志,统计各个终端在历史时间段内对该目标视频的播放量、播放时刻以及单次播放时长,得到该目标视频的历史播放信息。
302、服务器调用第一播放量模型对该视频信息和该历史播放信息进行编码,得到该目标视频的播放时间特征。
其中,该播放时间特征用于表示该目标视频在时间序列上的相关特征。
其中,该第一播放量模型用于在提取该播放时间特征后基于该播放时间特征预测该目标视频的第一播放量。可选地,该第一播放量模型可以是任一具有编解码结构的Seq2Seq模型,例如RNN、LSTM、BLSTM、GRU等,本申请实施例不对第一播放量模型的类型进行具体限定。
在一些实施例中,以第一播放量模型为LSTM模型为例进行说明,服务器可以将该视频信息和该历史播放信息输入该LSTM模型中的至少一个隐藏层,通过该至少一个隐藏层对该视频信息和该历史播放信息进行加权处理,得到该播放时间特征。
在上述过程中,由于LSTM模型是一个Seq2Seq模型,也即是说,LSTM模型的输入和输出均为一个序列,因此在将该视频信息和该历史播放信息输入到LSTM模型之前,可以对该视频信息和该历史播放信息进行预处理,生成一个用于记录历史播放信息的时间序列,比如按照视频帧的播放顺序,生成一个关于视频中前N(N≥1)个时刻的播放量的时间序列,同时在时间序列的首帧或者尾帧中存储该视频信息,然后将预处理得到的时间序列输入到LSTM模型中,LSTM模型通过该至少一个隐藏层对该时间序列进行编码与解码,最终输出一个序列形式的播放时间特征。
可选地,上述前N个时刻可以是前N个相邻的时刻,也可以是前N个按照一定的时间间隔所选取的时刻(比如每隔5秒钟取一个时刻),还可以是前N个关键帧所对应的播放时刻,本申请实施例不对前N个时刻的选取方式进行具体限定。
需要说明的是,该至少一个隐藏层中任一个隐藏层包括至少一个记忆单元,每个记忆单元以当前隐藏层内上一个记忆单元的输出特征以及上一隐藏层中对应位置的记忆单元的输出特征作为输入,同时将本记忆单元的输出特征输入到当前隐藏层内下一记忆单元以及下一隐藏层中对应位置的记忆单元。这样可以达到在对序列化的输入信号进行编码时,引入上一状态的相关信息,从而可以提取出目标视频在时间序列上的相关特征。
在一些实施例中,对该任一个隐藏层中的任一个记忆单元,服务器可以通过该任一个记忆单元对上一隐藏层中对应位置的记忆单元的输出特征进行加权处理,将加权后特征与该任一个隐藏层中上一记忆单元的输出特征进行融合,将融合后特征作为该任一个记忆单元的输出特征;对该至少一个隐藏层中的至少一个记忆单元均执行加权处理及融合的操作,将最后一个隐藏层中至少一个记忆单元的输出特征获取为该播放时间特征。
图4是本申请实施例提供的一种记忆单元的原理性示意图,请参考图4,以LSTM模型的第一个隐藏层400为例,第一个隐藏层400中记忆单元的数量与时间序列的长度保持一致(且所有隐藏层中记忆单元的数量相等),将时间序列中任意的三个相邻的时刻
分别输入到第一个隐藏层400中的第t-1个、第t个以及第t+1个记忆单元401-403中,最终这三个记忆单元401-403分别得到各自的输出特征
,可以分别输入到第二个隐藏层中的第t-1个、第t个以及第t+1个记忆单元中。
可选地,如果LSTM模型仅包含单个隐藏层,那么第一个隐藏层的输出特征即为该播放时间特征,如果LSTM模型包含两个或两个以上的隐藏层,那么最后一个隐藏层的输出特征即为该播放时间特征。
以第t个记忆单元402为例进行说明,其内部可以视为包含三种类型的门函数:遗忘门函数、输入门函数以及输出门函数,遗忘门函数用于决定从本记忆单元的输入信息中丢弃掉哪些信息,输入门函数用于决定在本记忆单元中对哪些信息进行更新,输出门函数用于对本记忆单元的融合后特征进行过滤以决定本记忆单元最终的输出,在这三种函数的作用下,可以解决RNN网络中存在的长依赖问题,提升提取到的播放时间特征的表达能力,下面将分别对三种门函数进行说明。
图5是本申请实施例提供的一种记忆单元的原理性示意图,请参考图5,基于上述示例,以第一个隐藏层中第t个记忆单元402为例,对遗忘门函数进行说明,假设时间序列中t时刻的输入信息为
,第一个隐藏层中第t-1个记忆单元的输出特征为
,将
和
输入到遗忘门函数中,那么经过遗忘门函数作用之后,得到的信息可以表示为
,其中
的函数表达式如下:
在上述公式中,
表示遗忘门函数作用,
表示遗忘门函数内的权值参数,
表示遗忘门函数内的偏置项。
图6是本申请实施例提供的一种记忆单元的原理性示意图,请参考图6,基于上述示例,以第一个隐藏层中第t个记忆单元402为例,对输入门函数进行说明,在输入门这一部分中包括两个步骤,首先通过一个输入门函数
决定本记忆单元将对输入信息中的哪些值进行更新,将
和
输入到输入门函数中,经过输入门函数作用后得到的信息可以表示为
,接着将
和
输入到一个激活函数tanh中,通过激活函数tanh来创建一个新的候选值
,将
和
融合起来即可创建出本记忆单元中更新后的状态信息。其中,
和
的函数表达式分别如下:
其中,
表示输入门函数作用,
表示输入门函数内的权值参数,
表示输入门函数内的偏置项,tanh()表示激活函数作用,
表示激活函数内的权值参数,
表示激活函数内的偏置项。
图7是本申请实施例提供的一种记忆单元的原理性示意图,请参考图7,对于第t个记忆单元402来说,本记忆单元所传递的状态信息
是由遗忘门函数的输出信息以及输入门函数的输出信息两者融合得到的,具体地,可以将遗忘门函数的输出信息
与上一个记忆单元传递的状态信息
进行按元素相乘,将输入门函数的输出信息
与激活函数的输出信息
进行按元素相乘,将上述面两个按元素相乘操作所得的信息相加,即可得到本记忆单元所传递的状态信息
,也即是说,
的函数表达式如下:
其中,公式中各个参数的含义已在前述内容中介绍过,这里不做赘述。
图8是本申请实施例提供的一种记忆单元的原理性示意图,请参考图8,基于上述示例,以第一个隐藏层中第t个记忆单元402为例,对输出门函数进行说明,在输出门函数中需要对本记忆单元所传递的状态信息
进行过滤,决定本记忆单元最终的输出特征,将
和
输入到输出门函数中,经过输出门函数作用后得到的信息可以表示为
,将
与经过tanh函数激活后的
进行按元素相乘,即可得到过滤后的输出特征
。其中,
和
的函数表达式如下:
其中,
表示输出门函数作用,
表示输出门函数内的权值参数,
表示输出门函数内的偏置项,tanh表示激活函数作用。
303、服务器调用第二播放量模型对该视频信息和该历史播放信息进行处理,得到该目标视频的播放交叉特征。
其中,该播放交叉特征用于表示该目标视频与其他视频在视频属性上的关联特征。
其中,该第二播放量模型用于在提取该播放交叉特征后基于该播放交叉特征预测该目标视频的第二播放量。可选地,该第二播放量模型可以是任一兼具深度部分与宽度部分以提取交叉特征的神经网络,例如DeepFM、WDL、双塔网络等,本申请实施例不对第二播放量模型的类型进行具体限定。
在一些实施例中,以第二播放量模型为DeepFM模型为例进行说明,该DeepFM模型可以包括深度神经子模型(也即深度部分)和因子分解子模型(也即宽度部分),深度神经子模型也可以称为DNN(Deep Neural Networks,深度神经网络)子模型,DNN子模型用于提取一些高阶特征,而因子分解子模型也可以称为FM(Factorization Machine,因子分解)子模型,FM子模型用于提取一些低阶特征,DNN子模型和FM子模型两者共享相同的输入。下面将对DeepFM模型的特征提取过程进行说明,服务器可以执行下述子步骤。
3031、服务器对该视频信息和该历史播放信息进行嵌入处理,得到目标嵌入特征。
在上述过程中,由于该视频信息和该历史播放信息通常是一些稀疏特征(指特征中非零值的数量远小于特征长度),会带来较大的计算量,因此可以通过一个嵌入层,将这些稀疏特征映射到嵌入(embedding)空间内,得到目标嵌入特征(本质上是嵌入空间内的嵌入向量),相当于对稀疏特征的维度进行了压缩,得到了稠密的embedding向量,将该embedding向量确定为目标嵌入特征。
在一些实施例中,服务器也可以通过词向量模型将该视频信息和该历史播放信息转化为目标嵌入特征,本申请实施例不对嵌入处理的方式进行具体限定。
3032、服务器将该目标嵌入特征输入DNN子模型,通过该DNN子模型中的多个隐藏层对该目标嵌入特征进行加权处理,输出目标深度特征。
在上述过程中,DNN子模型内可以包括至少一个隐藏层,通过该至少一个隐藏层可以对该目标嵌入特征进行加权处理,相邻的隐藏层之间串联连接,也即是说,上一个隐藏层的输出作为下一个隐藏层的输入。
在每个隐藏层中可以包括至少一个神经元,通过该至少一个神经元即可完成对输入信息的加权处理,比如该神经元内可以包括激活函数(Activation Function),此时的隐藏层也就相当于是激活层。
在一个示例中,DNN子模型是一种前馈神经网络,假设嵌入层输出的目标嵌入特征为
,其中
表示原始的视频信息与历史播放信息中第i个field(域)的embedding向量,其中i=1,2,…,m,而m则表示原始的视频信息与历史播放信息中域的个数,前向过程中将目标嵌入特征输入到隐藏层中,第l+1个隐藏层的输出特征可以表示为
,其中l+1表示当前隐藏层的层数,
表示激活函数,
表示第l+1个隐藏层内的权值参数,
表示上一个隐藏层(第l个隐藏层)的输出特征,
表示第l+1个隐藏层内的偏置项。DNN子模型最终输出的目标深度特征可以表示为:
其中,
表示目标深度特征,|H|+1表示DNN子模型内隐藏层的总数量,
表示最后一个隐藏层内的权值参数,
表示倒数第二个隐藏层的输出特征,
表示最后一个隐藏层内的偏置项。
3033、服务器将该目标嵌入特征输入FM子模型,通过该FM子模型提取该目标嵌入特征中多个特征分量相互之间的多个内积,得到目标交叉特征。
在上述过程中,服务器可以将目标嵌入特征输入到FM子模型中,在FM子模型中,会分别提取目标嵌入特征内各个特征分量在相互之间的内积,包括任意两个特征分量之间的内积、任意三个特征分量之间的内积……任意数量的特征分量的内积,从而能够获取到目标嵌入特征内不同特征分量之间的交叉项系数,FM子模型最终输出的目标交叉特征可以表示为:
其中,
表示目标交叉特征,
表示一个d维空间内的权值参数,
表示一个k维空间内的潜变量,x表示输入信息,<w,x>表示w与x的内积,用于反映一阶特征的重要性,<w,x>后面的项目
则用于反映二阶特征之间的交互信息,其中,
和
为潜变量,
是大于或等于1且小于或等于d的整数,
是
加1所得的整数,
则用于表示特征分量
与特征分量
之间的交叉项系数。
3034、服务器将该目标深度特征与该目标交叉特征进行融合,得到该播放交叉特征。
在上述过程中,服务器可以将目标深度特征与目标交叉特征在按元素相加之后输入到sigmoid激活函数中,最终得到播放交叉特征。在这种情况下,播放交叉特征
的函数表达式为:
,
表示目标深度特征,
表示目标交叉特征。
在一些实施例中,服务器还可以采取拼接、双线性汇合、按元素相乘等融合方式对目标深度特征与目标交叉特征进行融合,本申请实施例不对特征融合方式进行具体限定。
图9是本申请实施例提供的一种DeepFM子模型的原理性示意图,请参考图9,DeepFM子模型900中包括DNN子模型901和FM子模型902,DNN子模型901能够提取视频信息和历史播放信息内隐含的高阶特征,而FM子模型902则能够提取视频信息和历史播放信息内隐含的低阶特征,融合高阶特征和低阶特征即可得到该播放交叉特征。
在上述步骤302-303中,相当于服务器对该视频信息和该历史播放信息进行特征提取,得到该目标视频的播放时间特征和播放交叉特征,通过采用两个不同的模型分别提取不同的特征,能够充分提取到视频信息和历史播放信息中隐含的细节,可以提升各自的播放时间特征和播放交叉特征的表达能力,两种不同的模型可以协同预测目标视频在未来时刻的预估播放量。
304、服务器根据该播放时间特征和该播放交叉特征,获取该目标视频的预估播放量。
在上述过程中,服务器可以调用该第一播放量模型将该播放时间特征映射为该目标视频的第一播放量,调用该第二播放量模型将该播放交叉特征映射为该目标视频的第二播放量,对该第一播放量和该第二播放量进行加权处理,得到该预估播放量,其中,该第一播放量与该第二播放量的权重相加所得的数值等于一。
可选地,在调用第一播放量模型进行映射时,可以采用softmax(指数归一化)函数将播放时间特征映射为第一播放量。在调用第二播放量模型进行映射时,可以采用sigmoid激活函数将播放交叉特征映射为第二播放量。
假设第一播放量为
、第二播放量为
,第一播放量的权重设为
,那么第二播放量的权重则可以表示为
,最终的预估播放量y的函数表达式如下:
其中,
可以作为第一播放量模型和第二播放量模型的超参数进行训练得到。
305、服务器响应于该预估播放量在按照预估播放量从大到小的排序中位于前目标位,确定对该目标视频进行转码。
在上述过程中,服务器还可以将视频库内多个视频的预估播放量按照从大到小的顺序进行排序,响应于该预估播放量在按照预估播放量从大到小的排序中位于前目标位,确定对该目标视频进行转码,否则,不对该目标视频进行转码。这样可以保证每次都对相同数量的目标视频进行提前转码,避免在业务激增的场景下由于播放量阈值较小,而导致对很多目标视频均提前转码而造成的资源浪费。
在一些实施例中,服务器还可以对该预估播放量与播放量阈值进行比较,响应于该预估播放量大于播放量阈值,确定对该目标视频进行转码,否则,不对该目标视频进行转码,这样可以简化是否对目标视频进行转码的处理逻辑。
在上述步骤305中,相当于服务器基于该预估播放量,确定是否对该目标视频进行转码。上述转码过程是指将目标视频从第一码率转化为第二码率,其中第一码率大于第二码率,也即是说,服务器在终端发起向目标视频的视频访问请求之前,提前对目标视频进行码率转换,使其转换为码率更小的视频文件,这样随着针对目标视频的实际播放量的增加,那么对于资源传输过程中带宽的节省是极为可观的,正是由于预估播放量的精准预测,才可以极大地降低资源传输过程的通信开销。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过获取用于体现目标视频在时间序列上的播放时间特征以及用于体现目标视频与其他视频在视频属性上的播放交叉特征,接着根据该播放时间特征和该播放交叉特征来预测该目标视频的预估播放量,在预估播放量的基础上来判断是否对目标视频进行提前转码,因此在对预估播放量进行预测时,可以同时兼顾到时间序列和视频属性上的相关特征,使得预测出的预估播放量具有更高的准确性,也即意味着在进行视频转码时具有更高的准确性,这样可以极大地节约视频传输过程消耗的带宽。
图10是本申请实施例提供的一种视频处理方法的原理性流程图,请参考图10,结合第一播放量模型和第二播放量模型的训练步骤与预测步骤进行说明,在训练步骤1001中,服务器可以获取多个样本视频的多个视频信息、多个历史播放信息和多个实际播放量;接着根据该多个视频信息、多个历史播放信息和多个实际播放量,对第一初始模型和第二初始模型进行迭代训练,直到符合停止训练条件,得到该第一播放量模型和该第二播放量模型。可选地,该停止训练条件可以是实际播放量与预估播放量之间的损失函数值小于损失阈值,或者,该停止训练条件还可以是迭代次数超过目标次数。比如,该损失函数可以取各个样本视频的实际播放量与预估播放量之间的均方误差。
具体地,该各个终端对各个视频的播放记录及行为日志可以统称为原始的“播放数据”,由于视频平台的流量通常较大,服务器需要在海量的播放数据中进行过滤以及筛选,首先按照目标规则对训练视频进行筛选,可以删除掉不关注的视频ID(比如视频时长过短的视频ID,又比如已经转码成H265格式的视频ID),最终清洗出符合目标规则的多个样本视频,获取该多个样本视频的播放时间数据(也即该多个样本视频的多个历史播放信息和多个实际播放量),比如对该多个样本视频的播放记录的时间信息进行汇总得到播放时间数据,接着获取该多个样本视频的视频ID元信息,对各个样本视频的播放时间数据和视频ID元信息进行预处理,得到最终的按照时间粒度统计出的播放序列数据,利用播放序列数据对第一初始模型(Seq2Seq模型,例如LSTM模型)以及第二初始模型(DeepFM模型)进行联合迭代训练,直到符合停止训练条件时,得到了第一播放量模型和第二播放量模型,将训练完毕的第一播放量模型和第二播放量模型投入到预测步骤1002中。
在预测步骤1002中,对原始的播放数据进行去重和过滤,筛选出播放ID测试集,将测试集内的各个目标视频的播放序列数据分别输入到第一播放量模型和第二播放量模型中,能够准确地预测出各个目标视频在未来时刻的预估播放量,按照预估播放量从大到小的顺序对各个目标视频进行排序,取排序的前N位(TopN)的目标视频进行提前转码,可以达到节约资源传输带宽的效果。
在一个示例性场景中,由于视频平台的火爆性,通常在播放量最高时每分钟会产生4千万的流量,因此需要从海量的播放数据中过滤掉一些不关注的视频ID,然后根据时间粒度进行数据统计,生成需要预测的播放序列数据。通过LSTM模型来学习视频播放所具有的时间特征,通过DeepFM模型来提取视频维度的特征,两者结合协同预测未来时刻的预估播放量。在预测推理与部署阶段,使用预训练的模型LSTM模型和DeepFM模型作为基础模型,根据目标视频前几个小时的播放序列和视频维度来作为模型的输入,预测在未来时刻的预估播放量。比如,将某个视频前80分钟的数据量和视频的元信息输入到LSTM模型和DeepFM模型中,预测出该视频在接下来一个小时内的预估播放量。
在上述过程中,能够通过预估播放量准确预测出哪些视频需要提前转码,提前转码所带来的收益主要体现在用户基于终端播放视频时节省的CDN带宽,终端每播放一次视频则节省一定量的CDN带宽,多个终端播放多次视频,则节省多次的CDN带宽。
进一步地,采用两个指标来衡量模型的准确性,1)预测中确定转码的视频内实际被播放的概率,比如转码时,模型预测有1w个视频会播放,在第二天这1w个视频中实际被播放的量为9000个,则预测准确率为90%;2)预测的排序,排序指标也非常重要,预测中的TopN在实际播放中TopN的比率,比如转码时,模型预测的1w个视频ID内,实际播放过程中是另外1w个视频ID,则预测中1w个视频ID在实际播放的1w个视频ID中重合的视频ID的占比则可以作为排序相关的指标。
图11是本申请实施例提供的一种预测准确率的示意图,请参考图11,针对于上述评估指标1),采取了预测100w个视频ID,然后与下个小时内实际播放的数据列表进行对比,发现随着预测的视频ID数量越多,在下个小时内实际播放的准确率越低,准确率的趋势曲线如1100所示,横坐标表示采取的视频ID的数量的对数坐标,纵坐标表示预测准确率。从图11中可以看出,在预测100w个视频ID的数量级上,其预测准确率仍然在90%以上。
图12是本申请实施例提供的一种重叠比率的示意图,请参考图12,针对于上述评估指标2),采取了前50w个视频ID,然后与下个小时内真实播放的前50w个视频ID计算重叠比率,重叠比率的趋势曲线如1200所示,横坐标x表示采取的视频ID的数量,纵坐标y表示重叠比率。从图12中可以看出,在预测大约8w个视频ID时,重叠比率达到了峰值84%,在预测20w个视频ID的范围内,其重复比率均保持在76%以上。
因此可以看出,在本实施例中,使用LSTM模型与DeepFM模型结合的算法来预测视频ID的预估播放量,能够准确地预测到晚高峰期播放的各个目标视频,然后可以对排序位于TopN的目标视频进行提前转码,使得用户在通过终端播放目标视频的过程中下载的文件变小了,不仅可以节约网络带宽,而且可以让播放更加流畅,从而提升用户体验。
在一个示例中,按照每日H264视频的播放量15亿来算,假设单个视频文件传输需要消耗100MB的带宽,提前转码的转码量为20W个视频,如果保证转码预测准确率为90%。则每日可以节省(20W* 90% * 100MB * 30% * 播放次数)的带宽。
在一些实施例中,在确定好需要进行提前转码的TopN个目标视频之后,还可以按照优先级从高到低的顺序来进行转码,也即是说,可以将重要的优先级高的进行转码,低优先级的可以补转码,让整体转码负载降低,减少线上业务转码等待时间。
图13是本申请实施例提供的一种视频处理装置的结构示意图,请参考图13,该装置包括以下模块。
第一获取模块1301,用于获取目标视频的视频信息和历史播放信息。
特征提取模块1302,用于对该视频信息和该历史播放信息进行特征提取,得到该目标视频的播放时间特征和播放交叉特征,该播放时间特征用于表示该目标视频在时间序列上的相关特征,该播放交叉特征用于表示该目标视频与其他视频在视频属性上的关联特征。
第二获取模块1303,用于根据该播放时间特征和该播放交叉特征,获取该目标视频的预估播放量。
确定模块1304,用于基于该预估播放量,确定是否对该目标视频进行转码。
本申请实施例提供的装置,通过获取用于体现目标视频在时间序列上的播放时间特征以及用于体现目标视频与其他视频在视频属性上的播放交叉特征,接着根据该播放时间特征和该播放交叉特征来预测该目标视频的预估播放量,在预估播放量的基础上来判断是否对目标视频进行提前转码,因此在对预估播放量进行预测时,可以同时兼顾到时间序列和视频属性上的相关特征,使得预测出的预估播放量具有更高的准确性,也即意味着在进行视频转码时具有更高的准确性,这样可以极大地节约视频传输过程消耗的带宽。
在一种可能实施方式中,基于图13的装置组成,该特征提取模块1302包括:
编码子模块,用于调用第一播放量模型对该视频信息和该历史播放信息进行编码,得到该播放时间特征,该第一播放量模型用于在提取该播放时间特征后基于该播放时间特征预测该目标视频的第一播放量;
处理子模块,用于调用第二播放量模型对该视频信息和该历史播放信息进行处理,得到该播放交叉特征,该第二播放量模型用于在提取该播放交叉特征后基于该播放交叉特征预测该目标视频的第二播放量。
在一种可能实施方式中,该第一播放量模型为长短期记忆网络,基于图13的装置组成,该编码子模块包括:
加权单元,用于将该视频信息和该历史播放信息输入该长短期记忆网络中的至少一个隐藏层,通过该至少一个隐藏层对该视频信息和该历史播放信息进行加权处理,得到该播放时间特征。
在一种可能实施方式中,该至少一个隐藏层中任一个隐藏层包括至少一个记忆单元,该加权单元用于:
对该任一个隐藏层中的任一个记忆单元,通过该任一个记忆单元对上一隐藏层中对应位置的记忆单元的输出特征进行加权处理,将加权后特征与该任一个隐藏层中上一记忆单元的输出特征进行融合,将融合后特征作为该任一个记忆单元的输出特征;
对该至少一个隐藏层中的至少一个记忆单元均执行加权处理及融合的操作,将最后一个隐藏层中至少一个记忆单元的输出特征获取为该播放时间特征。
在一种可能实施方式中,该第二播放量模型为深度因子分解机,该深度因子分解机包括深度神经子模型和因子分解子模型;
该处理子模块用于:
对该视频信息和该历史播放信息进行嵌入处理,得到目标嵌入特征;
将该目标嵌入特征输入该深度神经子模型,通过该深度神经子模型中的多个隐藏层对该目标嵌入特征进行加权处理,输出目标深度特征;
将该目标嵌入特征输入该因子分解子模型,通过该因子分解子模型提取该目标嵌入特征中多个特征分量相互之间的多个内积,得到目标交叉特征;
将该目标深度特征与该目标交叉特征进行融合,得到该播放交叉特征。
在一种可能实施方式中,该第二获取模块1303用于:
调用该第一播放量模型将该播放时间特征映射为该目标视频的第一播放量;
调用该第二播放量模型将该播放交叉特征映射为该目标视频的第二播放量;
对该第一播放量和该第二播放量进行加权处理,得到该预估播放量,其中,该第一播放量与该第二播放量的权重相加所得的数值等于一。
在一种可能实施方式中,该第一播放量模型和该第二播放量模型的训练过程包括:
获取多个样本视频的多个视频信息、多个历史播放信息和多个实际播放量;
根据该多个视频信息、多个历史播放信息和多个实际播放量,对第一初始模型和第二初始模型进行迭代训练,直到符合停止训练条件,得到该第一播放量模型和该第二播放量模型。
在一种可能实施方式中,该确定模块1304用于:
响应于该预估播放量大于播放量阈值,确定对该目标视频进行转码;或,
响应于该预估播放量在按照预估播放量从大到小的排序中位于前目标位,确定对该目标视频进行转码。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的视频处理装置在处理视频时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频处理装置与视频处理方法实施例属于同一构思,其具体实现过程详见视频处理方法实施例,这里不再赘述。
图14是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1401和一个或一个以上的存储器1402,其中,该存储器1402中存储有至少一条程序代码,该至少一条程序代码由该处理器1401加载并执行以实现上述各个实施例提供的视频处理方法。当然,该计算机设备1400还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备1400还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由终端中的处理器执行以完成上述实施例中视频处理方法。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码可以存储在计算机可读存储介质中。计算机设备的一个或多个处理器可以从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得计算机设备能够执行以完成上述实施例中视频处理方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。