一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频处理方法、装置、电子设备和存储介质与流程

2022-02-21 03:29:22 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种视频处理方法、装置、电子设备和存储介质。


背景技术:

2.随着智能手机和移动4g的普及,以及即将到来的5g,移动直播的热潮尚未散去,短视频行业又迅速崛起,通过将短视频嵌入社交网络的信息流中,借助其便捷性和强大的分享功能掀起了短视频的热潮。通常,在进行视频投放之前,希望能了解到已投放视频的相关数据,如各视频的视频播放量等,以根据已知的视频播放量,预测之后一段时间内的视频播放量,并根据预测的视频播放量,确定待投放视频的类型、数量等。
3.一般每天的20:00至22:00为视频播放的高峰期,为了保证视频的播放,会将预计播放次数较多的视频进行转码处理。具体为在前一日22:00之后至当日20:00之前的时间内,每10分钟获取一次视频播放量,将播放次数最多的n个视频取出转码为码率更低的视频。现有的方法仅仅使用播放量作为其唯一特征,从而导致预测播放量大的视频与真实播放量大的误差较大。


技术实现要素:

4.本技术实施例提供了一种视频处理方法、装置、电子设备和存储介质,用于减小预测视频播放量与实际视频播放量之间的偏差,提高视频播放量预测准确率。
5.一方面,本技术实施例提供了一种视频处理方法,包括:
6.确定预估时间段之前的至少两个单位时间段;
7.按照所述至少两个单位时间段的时间顺序确定视频数量,从在每个单位时间段内播放的待选视频中获取对应视频数量的目标视频;
8.针对每一个目标视频,将所述目标视频的特征值输入播放预测模型,得到所述目标视频在所述预估时间段内的预估播放量;所述播放预测模型利用训练视频的特征值以及训练视频的实际播放量进行训练得到对应的模型参数;
9.根据预估播放量,将满足设定规则的目标视频作为待处理视频,降低所述待处理视频的码率。
10.另一方面,本技术实施例提供一种视频处理装置,所述装置包括:
11.确定单元,用于确定预估时间段之前的至少两个单位时间段;
12.获取单元,用于按照所述至少两个单位时间段的时间顺序确定视频数量,从在每个单位时间段内播放的待选视频中获取对应视频数量的目标视频;
13.预估单元,用于针对每一个目标视频,将所述目标视频的特征值输入播放预测模型,得到所述目标视频在所述预估时间段内的预估播放量;所述播放预测模型利用训练视频的特征值以及训练视频的实际播放量进行训练得到对应的模型参数;
14.降低单元,用于根据预估播放量,将满足设定规则的目标视频作为待处理视频,降
低所述待处理视频的码率。
15.在一种可选的实施例中,所述至少两个单位时间段对应的目标视频的视频数量,按照时间顺序依次增加;
16.获取单元,具体用于:
17.针对每个单位时间段,确定在所述单位时间段内播放的待选视频;
18.按照在所述单位时间段中播放的播放量,将所述待选视频进行排序;
19.根据排序结果,从所述待选视频中确定对应视频数量的目标视频。
20.在一种可选的实施例中,获取单元,具体用于根据排序结果,从所述待选视频中确定对应视频数量的第一目标视频;将所述第一目标视频作为待处理视频;
21.确定单元,具体用于确定所述预估时间段之前的历史时间段;将所述历史时间段内播放的所有视频作为第二目标视频;
22.预估单元,具体用于针对每一个第二目标视频,将所述第二目标视频的特征值输入所述播放预测模型,得到所述第二目标视频的预估播放量;
23.降低单元,具体用于根据第二目标视频的预估播放量,将满足所述设定规则的第二目标视频作为待处理视频。
24.在一种可选的实施例中,所述历史时间段在所述至少两个单位时间段之后。
25.在一种可选的实施例中,预估单元,还用于根据以下方式训练得到所述播放预测模型:
26.获取训练样本,所述训练样本中包含有训练视频的特征值以及所述训练视频在训练时间段内的实际播放量;
27.将所述训练视频的特征值输入所述播放预测模型,得到所述训练视频在所述训练时间段内的预估播放量;
28.根据所述实际播放量与所述预估播放量计算损失函数;
29.当所述损失函数小于预设阈值时,确定所述播放预测模型对应的参数。
30.在一种可选的实施例中,所述至少两个单位时间段与所述预估时间段位于不同的时间周期,且每个单位时间段在对应时间周期中的位置与所述预估时间段在所述预估时间对应时间周期中的位置相同。
31.在一种可选的实施例中,获取单元,还用于:
32.将码率低于设定阈值的目标视频删去;
33.获取目标视频的特征值,所述特征值包括数字类特征值和类别类特征值;
34.利用独热编码将所述类别类特征值转换为数字。
35.另一方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的视频处理方法。
36.另一方面,本技术实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的视频处理方法。
37.本技术实施例确定预估时间段之前的至少两个单位时间段,按照至少两个单位时间段的时间顺序确定视频数量,从在每个单位时间段内播放的待选视频中获取对应视频数
量的目标视频。针对每一个目标视频,将目标视频的特征值输入播放预测模型,得到目标视频在预估时间段内的预估播放量。这里,播放预测模型利用训练视频的特征值以及训练视频的实际播放量进行训练得到对应的模型参数。根据预估播放量,将满足设定规则的目标视频作为待处理视频,降低待处理视频的码率。本技术实施例考虑了时间与视频播放量之间的关系,且获取视频的特征值,利用网络模型预估目标视频的播放量,增加了预估目标视频播放量的准确性,减小了预测视频播放量与实际视频播放量之间的偏差,提高了目标视频对高播放视频的覆盖率,从而进一步降低了播放高峰期的峰值带宽。
附图说明
38.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1为本技术实施例提供的一种视频处理方法的系统架构示意图;
40.图2为本技术实施例提供的一种视频处理方法的流程图;
41.图3为本技术具体实施例提供的一种视频处理方法的流程示意图;
42.图4为本技术实施例提供的一种视频处理装置的结构示意图;
43.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
44.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
45.下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
46.文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
47.以下对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
48.1.人工智能
49.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能
也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、语音处理技术、以及机器学习/深度学习等几大方向。
50.2、机器学习
51.机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
52.3、有监督的机器学习模型
53.有监督学习是从标签化训练数据集中推断出函数的机器学习任务。具体来说是通过已有的训练样本去训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现预测和分类的目的,也就具有了对未知数据进行预测和分类的能力。有监督学习中的数据是提前做好了分类信息的,它的训练样本中同时包含有特征和标签信息,因此根据这些来得到相应的输出。
54.有监督学习一般包括分类与回归两种类型。分类问题的目标变量只在有限目标集中取值(标称型),比如手写数字识别问题,目标结果在集合{0、1、2、3、4、5、6、7、8、9}中。而回归问题的目标变量是数值型的,也就是可以从无限的数值集合中取值,比如预测商品价格,预测结果可以是任意一个数字。
55.4、云技术
56.云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
57.云技术(cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
58.5、视频码率
59.视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,举例来看,对于一个音频,其码率越高,被压缩的比例越小,音质损失越小,与音源的音质越接近。
60.6、xgboost模型
61.全称“extreme gradient boosting”,一种梯度提升模型。提升是一个机器学习技术,可以用于回归和分类问题,它每一步产生一个弱预测模型,并加权累加到总的模型之中,如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升。梯度提升算法首先给定一个目标损失函数,它的定义域是所有可行的弱函数集合(基函数);提
升算法通过迭代的选择一个负梯度方向上的基函数来逐渐毕竟局部极小值。这种在函数域的梯度提升观点在机器学习的很多领域都用较大的影响。在梯度提升的算法中,典型的模型就是梯度提升决策树(gbdt,gradient boost decision tree)。xgboost模型属于gbdt模型这个范畴,gbdt的基本想法是让新的基模型(gbdt以cart分类回归树为基模型)去拟合前面模型的偏差,从而不断将加法模型的偏差降低。相比于gdbt,xgboost使用的是二阶的梯度信息,因而可以更快的在训练集上收敛。
62.下面结合附图及具体实施例对本技术作进一步详细的说明。
63.为了解决相关技术中的技术问题,本技术实施例提供了一种视频处理方法、装置、电子设备和存储介质。本技术实施例涉及人工智能(artificial intelligence,ai)和机器学习(machine learning,ml)技术,基于人工智能中的计算机视觉(computer vision,cv)技术和机器学习而设计。
64.人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术主要包括计算机视觉技术、语音处理技术、以及机器学习/深度学习等几大方向。
65.随着人工智能技术研究和进步,人工智能在多个领域展开研究和应用,例如常见的智能家居、图像检索、视频监控、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗等,相信随着技术的发展,人工智能将在更多的领域得到应用,并发挥越来越重要的价值。
66.计算机视觉技术(computer vision,cv)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
67.机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。本技术实施例采用了基于深度强化学习的特征提取模型,对目标视频的关键帧进行特征提取,生成目标视频指纹。
68.本技术实施例提供的视频处理方法可以应用于视频播放高峰期时间段内高播放概率视频的确定和转码处理。当前视频播放平台每10分钟获取一次所有的视频播放流水,根据视频播放流水确定播放次数最多的视频,认为其在当日晚上的播放概率最大。所以视
频播放平台把每10分钟播放次数最多的n个视频执行转码处理,将降低码率,以此降低视频播放平台在每日20:00~22:00播放高峰期的峰值带宽。
69.上述方法仅仅使用播放量作为预测视频的唯一特征,忽略了大量的数据信息,从而导致预测播放的视频与真实播放的视频之间差别较大。
70.为了解决上述问题,本技术实施例利用机器学习模型来预测视频的播放概率,例如获取在高峰期之前所有已播放视频的视频播放流水数据,经过处理后输入到xgboost模型,预测每个已播放视频在当日高峰期播放的概率,确定播放概率最大的n个视频,将播放概率最大的n个视频转码为低码率的视频。
71.另一方面,本技术从业务和显示场景来考虑,认为视频的播放概率具有历史延续性,比如昨日在高峰期时间内播放过的一些视频,在当日继续播放的概率也比较大,而时间距离越远,则播放相关性越小。所以对于当日的高峰期20:00~22:00,确定昨日20:00~22:00播放且播放次数最多的n1*0.3个视频,其中n1是该段时间内所有视频的播放总量;提取前日20:00~22:00的播放且播放次数最多的n2*0.2个视频,其中n2是该段时间内所有视频的播放总量;提取大前日20:00~22:00的播放且播放次数最多的n3*0.1个视频,其中n3是该段时间内所有视频的播放总量。把上述n1*0.3 n2*0.2 n3*0.1个视频转码为低码率的视频。
72.相较于仅考虑当日的播放量,本技术实施例考虑了时间与视频播放量之间的关系,且获取视频的特征值,利用网络模型预估目标视频的播放量,提高了目标视频对高播放视频的覆盖率,从而进一步降低了播放高峰期的峰值带宽,提高了预测的准确性和效果。
73.本技术实施例提供的视频处理方法的一种应用场景可以参见图1所示,该应用场景中包括终端设备101、服务器102和数据库103。
74.其中,终端设备101为可以安装各类客户端,并且能够将已安装的客户端的运行界面进行显示的电子设备,该电子设备可以是移动的,也可以是固定的。例如,手机、平板电脑、笔记本电脑、台式电脑、各类可穿戴设备、智能电视、车载设备或其它能够实现上述功能的电子设备等。客户端可以是视频客户端或浏览器客户端等。各终端设备101通过通信网络与服务器102连接,该通信网络可以是有线网络或无线网络。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,应用于视频产品中,应对视频大数据量的处理需求。
75.其中,图1是以数据库103独立于所述服务器102存在进行说明的,在其他可能的实现方式中,数据库103也可以位于服务器102中。
76.服务器102与数据库103连接,数据库103中存储有视频以及视频的播放流水数据,服务器102从数据库中103中获取各个视频的播放流水数据,根据播放流水数据确定目标视频,以及目标视频的特征值,将目标视频的特征值输入播放预测模型,得到目标视频在高峰时间段内的预估播放量,将预估播放量高的目标视频作为待处理视频。另一方面,根据已播放视频的播放时间,考虑时间的远近与播放量之间的关系确定待处理视频。将所有待处理视频的码率降低,以达到降低播放高峰期的峰值带宽的目的。
77.在基于云技术实现时,服务器202可以通过云计算和云存储的方式对视频数据进行处理。
78.云计算(cloud computing)是一种计算模式,它将计算任务分布在大量资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
79.云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。在一种可能的实现方式中,通过云存储的方式对视频相关数据进行存储。
80.需要说明的是,本技术实施例提供的视频处理方法一般应用于服务器102,由服务器执行本技术实施例提供的视频处理方法。但是,本技术实施例提供的视频处理方法也可以应用于终端设备101,由终端设备实施本技术提供的视频处理方法,还可以由服务器102与终端设备101配合完成。
81.图2示出了本技术一个实施例提供的视频处理方法的流程图。如图2所示,该方法包括如下步骤:
82.步骤s201,确定预估时间段之前的至少两个单位时间段。
83.其中,本技术实施例中的预估时间段即为预估目标视频播放量对应的时间段。一般来说,每日视频播放高峰期对应的时间段例如为每日的20:00~22:00,因此,可以将当日的20:00~22:00作为预估时间段。预估时间段之前的至少两个单位时间段可以为连续的时间段,例如,至少两个单位时间段为当日的时间段8:00-8:30、8:30-9:00、9:00-9:30
……
或者至少两个单位时间段为不连续的时间段,例如至少两个单位时间段为当日的时间段8:00-8:15、9:00-9:15、10:00-10:15
……
或者至少两个单位时间段也可以为不同时长的时间段,例如,至少两个单位时间段为8:00-9:00、9:00-9:30、9:30-10:00。也就是说,本技术实施例中,对至少两个单位时间段的时长、是否连续、相邻两个单位时间段之间隔时长是否不变等不做限制。
84.较佳的,至少两个单位时间段与预估时间段位于不同的时间周期,且每个单位时间段在对应时间周期中的位置与预估时间段在预估时间对应时间周期中的位置相同。
85.这里,时间周期可以按日为单位,也可以按星期为单位,或者按月为单位。较佳地,本技术实施例中的时间周期以日为单位。即不同的单位时间段,以及单位时间段与预估时间段是不同日中的时间段,且每个单位时间段在对应日中的位置与预估时间段在对应日中的位置相同,例如若预估时间段为2020年4月30日的20:00-22:00,则至少两个单位时间段可以为2020年4月29日的20:00-22:00、2020年4月28日的20:00-22:00、2020年4月27日的20:00-22:00
……
本技术实施例中认为视频的播放具有延续性,因此,过去相对应的时间段内播放过的视频,当日继续播放的概率也比较大。因此,将单位时间段设置为与预估时间段位于不同时间周期的相同位置,则可以将这种播放的延续性纳入影响播放量的因素之中,从而对视频播放量的预测更为准确和全面。
86.本领域技术人员应能理解,上述几种场景和单位时间段的设置仅为举例,基于这些范例进行的适当变化也可适用于本技术,本技术实施例并不对场景和单位时间段的设置
进行限定。
87.步骤s202、按照至少两个单位时间段的时间顺序确定视频数量,从在每个单位时间段内播放的待选视频中获取对应视频数量的目标视频。
88.具体实施过程中,按照至少两个单位时间段的时间顺序确定视频数量,这里的视频数量可以相同,也可以不同。例如,不同单位时间段的视频数量相同,即从每个单位时间段内播放的待选视频中获取相同数量的目标视频。或者不同单位时间段对应不同的视频数量,例如,对于工作日的单位时间段,视频数量较少;对于周末的单位时间段,视频数量较多。
89.视频的播放具有一定的延续性,但单位时间段与预估时间段之间相隔的时间长度越长,则单位时间段内播放的待选视频对预估时间段的视频播放影响越小。例如,昨日20:30分播放的某个视频,则今日的预估时间段再次播放的概率较大;而一周前20:30分播放的某个视频,则今日的预估时间段再次播放的概率较小。因此,本技术实施例中按照单位时间段的时间顺序确定视频数量。至少两个单位时间段对应的目标视频的视频数量,按照时间顺序依次增加。
90.例如,针对预估时间段为今日的20:00-22:00,则设置昨日20:00-22:00对应的视频数量为20,前日20:00-22:00对应的视频数量为15,再前日20:00-22:00对应的视频数量为10,等等。即,从昨日20:00-22:00播放的视频中确定20个视频作为目标视频,从前日20:00-22:00播放的视频中确定15个视频作为目标视频,从再前日20:00-22:00播放的视频中确定10个视频作为目标视频。
91.进一步地,上述步骤202、按照至少两个单位时间段的时间顺序确定视频数量,从每个单位时间段中获取对应视频数量的目标视频,包括:
92.针对每个单位时间段,确定在单位时间段内播放的待选视频;
93.按照在单位时间段中播放的播放量,将待选视频进行排序;
94.根据排序结果,从待选视频中确定对应视频数量的目标视频。
95.具体实施过程中,可以是针对每个单位时间段,确定在单位时间段内播放的待选视频;按照在该单位时间段内的播放量,将该单位时间段内播放的待选视频进行排序,根据排序结果,从该单位时间段对应的所有待选视频中确定出目标视频。这样,所有的目标视频即为每个单位时间段中选出的目标视频的集合。
96.另一种具体实施例中,也可以针对每个单位时间段,确定在该单位时间段内播放的待选视频;按照在该单位时间段内的播放量,将所有待选视频进行排序,这里是将所有单位时间段内播放的待选视频进行排序,根据总的排序结果,从所有待选视频中确定出目标视频。这样,根据排序结果确定的目标视频即为所有的目标视频。
97.本技术实施例中,将待选视频进行排序,根据排序结果从待选视频中选择对应视频数量的目标视频,从而选择出播放量相对较多的待选视频作为目标视频,再对目标视频进行筛选,可以使后续的选择和计算更具有针对性。
98.进一步地,由于本技术实施例中对待处理视频的处理为降低待处理视频的码率,而码率又与视频的播放质量相关,码率太低的话会影响用户的观看体验。因此,本技术实施例在按照至少两个单位时间段的时间顺序确定视频数量,从在每个单位时间段内播放的待选视频中获取对应视频数量的目标视频之后,还包括:
99.将码率低于设定阈值的目标视频删去;
100.获取目标视频的特征值,特征值包括数字类特征值和类别类特征值;
101.利用独热编码将类别类特征值转换为数字。
102.即对于码率已经低于设定阈值的视频,为了保证用户的观看效果,本技术实施例维持其原本的码率,不继续降低码率。
103.在本技术实施例中,可以从服务器中获取目标视频的播放流水数据,对播放流水数据进行处理后,得到目标视频的特征值。目标视频的具体特征可以包括:码率、播放时长、视频时长、视频首次加载时长、是否付费用户、是否使用下载组件、是否在线播放、是否开启p2p(peer-to-peer,个人对个人)、是否免流、网络类型、视频分片数、二次缓冲数、二次缓冲时长、拖动次数、拖动缓冲总耗时、运营商等。这里,目标视频的部分特征的对应值为类别变量,例如上述码率、播放时长等为数字类特征值,是否在线播放、是否免流等为类别类特征值。为了便于将类别类特征值输入机器学习模型进行计算,需要利用独热编码,将这类特征值转换为数字的形式。
104.步骤s203、针对每一个目标视频,将目标视频的特征值输入播放预测模型,得到目标视频在预估时间段内的预估播放量。
105.其中,播放预测模型利用训练视频的特征值以及训练视频的实际播放量进行训练得到对应的模型参数。
106.在具体实施过程中,将目标视频的特征值输入播放预测模型,得到目标视频的预估播放量。其中,播放预测模型利用训练视频的特征值以及训练视频的实际播放量进行训练得到对应的模型参数。
107.播放预测模型包括梯度提升网络模型。本技术实施例中,具体地可以采用xgboost回归模型作为梯度提升网络模型。
108.步骤204、根据预估播放量,将满足设定规则的目标视频作为待处理视频,降低待处理视频的码率。
109.其中,设定规则可以为将预估播放量大于播放阈值的目标视频作为待处理视频;或者也可以为根据预估播放量将所有目标视频进行排序,将排序位于前n个的目标视频作为待处理视频。
110.本技术实施例确定预估时间段之前的至少两个单位时间段,按照至少两个单位时间段的时间顺序确定视频数量,从在每个单位时间段内播放的待选视频中获取对应视频数量的目标视频。针对每一个目标视频,将目标视频的特征值输入播放预测模型,得到目标视频在预估时间段内的预估播放量。这里,播放预测模型利用训练视频的特征值以及训练视频的实际播放量进行训练得到对应的模型参数。根据预估播放量,将满足设定规则的目标视频作为待处理视频,降低待处理视频的码率。本技术实施例考虑了时间与视频播放量之间的关系,且获取视频的特征值,利用网络模型预估目标视频的播放量,增加了预估目标视频播放量的准确性,减小了预测视频播放量与实际视频播放量之间的偏差,提高了目标视频对高播放视频的覆盖率,从而进一步降低了播放高峰期的峰值带宽。
111.本技术一种可能的具体实施例中,可以仅从至少两个单位时间段中确定目标视频,针对每一个目标视频,确定该目标视频的特征值,并将特征值输入播放预测模型中,得到该目标视频在预估时间段内的预估播放量。之后根据预估播放量从所有目标视频中选出
待处理视频,降低待处理视频的码率。
112.一种可能的具体实施例中,一方面,可以将至少两个单位时间中确定的目标视频作为第一目标视频。此时,根据排序结果,从待选视频中确定对应视频数量的目标视频,包括:
113.根据排序结果,从待选视频中确定对应视频数量的第一目标视频;
114.将第一目标视频作为待处理视频。
115.具体实施过程中,可以根据单位时间内的播放量,从待选视频中选出第一目标视频,将第一目标视频即作为待处理视频。
116.另一方面,确定当前时间点之前的历史时间段,根据历史时间段确定第二目标视频。较佳地,该历史时间段在至少两个单位时间段之后,在预估时间段之前。此时,针对每一个目标视频,将目标视频的特征值输入播放预测模型,得到目标视频的预估播放量之前,还包括:
117.确定预估时间段之前的历史时间段;
118.将历史时间段内播放的所有视频作为第二目标视频。
119.本技术实施例中,历史时间段为预估时间段之前的时间段。例如,预估时间段为当日的20:00-22:00,则历史时间段可以为前一日22:00至当日20:00。可以将历史时间段内播放的所有视频均作为第二目标视频。当然,另一种实施例中,也可以根据历史时间段内视频的播放量,将所有视频排序,并从中选出第二目标视频。
120.本技术实施例中将第二目标视频的特征值输入播放预测模型。此时,针对每一个目标视频,将目标视频的特征值输入播放预测模型,得到目标视频的预估播放量,包括:
121.针对每一个第二目标视频,将第二目标视频的特征值输入播放预测模型,得到第二目标视频的预估播放量。
122.其中,播放预测模型可以为梯度提升树模型(gradient boosting decision tree,简称gbdt),gbdt是一种迭代的决策树算法,由若干棵决策树组成。其核心思想是:在构建一系列决策树的过程中,后一棵决策树所学习的是前面所有决策树的结论和残差,当后一棵决策树的残差小于设置的阈值或者达到迭代次数,则模型终止训练,通过这种不断拟合前面决策树残差的方式最终得到若干棵决策树。对待测样本,梯度提升树模型输出结果为k棵决策树的输出结果之和。在这个过程中,样本的选择是随机的,特征的选择也是随机的,这意味着总的训练集中有些样本可能多次出现在一棵树的训练集中,也可能从未出现在任何一棵树的训练集中。其主要步骤如下:应用重采样技术从m个模型训练样本中随机抽取n个样本集,并由此构建n棵决策树。对每棵决策树生长过程中,每一个节点从所有特征中随机抽取f个特征作为当前节点分裂的子集,在构建决策树时通常采用最小均方误差作为分裂的评判标准,以此选择最好的分裂方式。将n棵决策树组成最终的gbdt模型。
123.较佳地,本技术实施例的播放预测模型为xgboost模型。xgboost模型属于gbdt模型这个范畴,gbdt的基本想法是让新的基模型(gbdt以cart分类回归树为基模型)去拟合前面模型的偏差,从而不断将加法模型的偏差降低。
124.相比于经典的gbdt,xgboost模型做了一些改进,从而在效果和性能上有明显的提升。例如,gbdt将目标函数泰勒展开到一阶,而xgboost将目标函数泰勒展开到了二阶,从而保留了更多有关目标函数的信息,对提升效果有帮助。此外,xgboost还增加了自动处理缺
失值特征的策略、支持候选分位点切割、特征并行等,从而相较于传统的gbdt,xgboost提升了性能。
125.上述播放预测模型根据以下方式训练得到模型参数:
126.根据以下方式训练得到播放预测模型:
127.获取训练样本,训练样本中包含有训练视频的特征值以及训练视频在训练时间段内的实际播放量;
128.将训练视频的特征值输入播放预测模型,得到训练视频在训练时间段内的预估播放量;
129.根据实际播放量与预估播放量计算损失函数;
130.当损失函数小于预设阈值时,确定播放预测模型对应的参数。
131.具体的,xgboost是基于cart树的集成学习算法,集合了t棵cart树的预测结果,作为最终的预测结果。
132.xgboost在输入训练数据后开始进行t轮迭代训练,每次迭代都会增加一棵cart树f
t
(xi),这棵树拟合上棵树的残差,即每一轮新的训练都是上次的预测值加上本次学习的函数f
t
(xi):
[0133][0134][0135][0136]
目标函数是评估模型拟合程度的损失函数,越小越好;是描述模型复杂度的正则项,也是越小越好,所以总体的损失函数obj越小越好:
[0137][0138]
计算损失函数的一阶、二阶导数:
[0139][0140][0141]
目标函数转化为:
[0142][0143][0144][0145]
obj是计算一棵树的公式,不断地迭代训练使这个值变小来优化树的结构,直到训练完t棵树后,把这些树的值假期了,得到预测值。
[0146]
在具体实施过程中,xgboost模型的最大树深度可以为5,迭代次数可以为3000次迭代,学习率为0.005,决定最小叶子节点样本权重和为1.789(min_child_weight=1.789),l1正则化项的权重系数为0.4640(reg_alpha=0.4640),l2正则化项的权重系数为0.8571(reg_lambda=0.8571),随机采样的比例为0.5213(subsample=0.5213)。
[0147]
利用播放预测模型计算得到每一个目标视频的预估播放量后,根据预估播放量,将满足设定规则的目标视频作为待处理视频,包括:
[0148]
根据第二目标视频的预估播放量,将满足设定规则的第二目标视频作为待处理视频。
[0149]
也就是说,上述实施例中,待处理视频有两类,一类为第一目标视频,另一类为满足设定规则的第二目标视频。具体实施过程中,将第一目标视频和满足设定规则的第二目标视频作为待处理视频,降低其码率,从而在兼顾了预估准确性的同时,扩大了降低码率的视频范围。
[0150]
以下通过具体实例说明本技术实施例提供的视频处理方法的实现过程,本技术具体实施例的硬件实现环境是:tlinux release 2.2、windows10、spark2.3.3和python3.7。其中,从kafka(一个开源流处理平台)获取实时的视频数据,经过spark(计算引擎)处理后,保存到hdfs(分布式文件系统)。python(一种计算机程序设计语言)训练xgboost模型,并保存训练好的模型参数。视频处理过程中,spark读取hdfs中的历史数据,利用训练好的xgboost模型,确定需要转码为低码率的视频。具体实施例的流程如图3所示。
[0151]
步骤301:确定预估时间段为2020年4月20日的20:00至22:00,确定三个单位时间段,分别为4月17日的20:00至22:00、4月18日的20:00至22:00、4月19日的20:00至22:00。
[0152]
步骤302:针对4月17日的20:00至22:00,获取该单位时间段内播放的待选视频,并根据播放量进行排序,根据排序结果从所有待选视频中确定n1*0.1个视频作为第一目标视频,其中,n1是该单位时间段内视频播放总量。
[0153]
步骤303:针对4月18日的20:00至22:00,获取该单位时间段内播放的待选视频,并根据播放量进行排序,根据排序结果从所有待选视频中确定n2*0.2个视频作为第一目标视
频,其中,n2是该单位时间段内视频播放总量。
[0154]
步骤304:针对4月19日的20:00至22:00,获取该单位时间段内播放的待选视频,并根据播放量进行排序,根据排序结果从所有待选视频中确定n2*0.3个视频作为第一目标视频,其中,n3是该单位时间段内视频播放总量。
[0155]
步骤305:获取4月19日22:00至4月20日20:00的时间段内播放的所有视频的播放流水数据。
[0156]
步骤306:根据播放流水数据,将码率高于设定阈值的视频作为第二目标视频。
[0157]
步骤307:根据第二目标视频的播放流水数据,确定第二目标视频的特征值。其中,特征包括:码率、播放时长、视频时长、视频首次加载时长、是否付费用户、是否使用下载组件、是否在线播放、是否开启p2p、是否免流、网络类型、视频分片数、二次缓冲数、二次缓冲时长、拖动次数、拖动缓冲总耗时、运营商等。
[0158]
步骤308:把第二目标视频的特征值输入xgboost模型,得到每一个第二目标视频的预估播放量。
[0159]
步骤309:将第一目标视频,以及预估播放量大于播放阈值的第二目标视频作为待处理视频。
[0160]
步骤310:降低待处理视频的码率。
[0161]
下述为本技术装置实施例,对于装置实施例中未详尽描述的细节,可以参考上述一一对应的方法实施例。
[0162]
请参考图4,其示出了本技术一个实施例提供的视频处理装置的结构方框图。该装置包括:确定单元401、获取单元402、预估单元403、降低单元404。
[0163]
其中,确定单元401,用于确定预估时间段之前的至少两个单位时间段;
[0164]
获取单元402,用于按照至少两个单位时间段的时间顺序确定视频数量,从在每个单位时间段内播放的待选视频中获取对应视频数量的目标视频;
[0165]
预估单元403,用于针对每一个目标视频,将目标视频的特征值输入播放预测模型,得到目标视频在预估时间段内的预估播放量;播放预测模型利用训练视频的特征值以及训练视频的实际播放量进行训练得到对应的模型参数;
[0166]
降低单元404,用于根据预估播放量,将满足设定规则的目标视频作为待处理视频,降低待处理视频的码率。
[0167]
在一种可选的实施例中,至少两个单位时间段对应的目标视频的视频数量,按照时间顺序依次增加;
[0168]
获取单元402,具体用于:
[0169]
针对每个单位时间段,确定在单位时间段内播放的待选视频;
[0170]
按照在单位时间段中播放的播放量,将待选视频进行排序;
[0171]
根据排序结果,从待选视频中确定对应视频数量的目标视频。
[0172]
在一种可选的实施例中,获取单元402,具体用于根据排序结果,从待选视频中确定对应视频数量的第一目标视频;将第一目标视频作为待处理视频;
[0173]
确定单元401,具体用于确定预估时间段之前的历史时间段;将历史时间段内播放的所有视频作为第二目标视频;
[0174]
预估单元403,具体用于针对每一个第二目标视频,将第二目标视频的特征值输入
播放预测模型,得到第二目标视频的预估播放量;
[0175]
降低单元404,具体用于根据第二目标视频的预估播放量,将满足设定规则的第二目标视频作为待处理视频。
[0176]
在一种可选的实施例中,历史时间段在至少两个单位时间段之后。
[0177]
在一种可选的实施例中,预估单元403,还用于根据以下方式训练得到播放预测模型:
[0178]
获取训练样本,训练样本中包含有训练视频的特征值以及训练视频在训练时间段内的实际播放量;
[0179]
将训练视频的特征值输入播放预测模型,得到训练视频在训练时间段内的预估播放量;
[0180]
根据实际播放量与预估播放量计算损失函数;
[0181]
当损失函数小于预设阈值时,确定播放预测模型对应的参数。
[0182]
在一种可选的实施例中,至少两个单位时间段与预估时间段位于不同的时间周期,且每个单位时间段在对应时间周期中的位置与预估时间段在预估时间对应时间周期中的位置相同。
[0183]
在一种可选的实施例中,获取单元402,还用于:
[0184]
将码率低于设定阈值的目标视频删去;
[0185]
获取目标视频的特征值,所述特征值包括数字类特征值和类别类特征值;
[0186]
利用独热编码将所述类别类特征值转换为数字。
[0187]
请参考图5,其示出了本技术一个实施例提供的服务器的结构方框图。该服务器500实现为图2中的服务器202。具体来讲:
[0188]
服务器500包括中央处理单元(cpu)501、包括随机存取存储器(ram)502和只读存储器(rom)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。服务器500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备507。
[0189]
基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
[0190]
大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。大容量存储设备507及其相关联的计算机可读介质为服务器500提供非易失性存储。也就是说,大容量存储设备507可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。
[0191]
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁
带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
[0192]
根据本技术的各种实施例,服务器500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器500可以通过连接在系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
[0193]
存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,一个或者一个以上程序包含用于进行本技术实施例提供的到达时间的预估的指令。
[0194]
本领域普通技术人员可以理解上述实施例的到达时间的预估方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0195]
本领域普通技术人员可以理解上述实施例的到达时间的预估方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0196]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0197]
以上仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献