码率阈值的确定方法和装置、存储介质及电子设备与流程
未命名
10-10
阅读:73
评论:0

1.本发明涉及计算机领域,具体而言,涉及一种码率阈值的确定方法和装置、存储介质及电子设备。
背景技术:
2.相关技术中视频码率越高,视频质量越高,通过改变视频码率可以改变视频的质量。但是码率越高,视频文件越大,对观看视频时的网络条件要求越高。若网络条件达不到码率的要求,会出现视频卡顿现象。
3.现有技术中通常是统计出用户观看视频时的卡顿数,统计用户当前的平均卡顿率,然后按照码率的提升比例,同比例地预估卡顿率提升。然而,部分网络情况好,带宽高的用户可能仍然可以流畅地观看高码率的视频,直接按预估比例这部分用户的卡顿率不合适;部分网络情况差的用户可能在观看高码率视频下其卡顿率是指数级上升,而不是线性的。此种情况下提升码率容易导致视频的卡顿率较高,影响用户体验。
4.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
5.本发明实施例提供了一种码率阈值的确定方法和装置、存储介质及电子设备,以至少解决提升视频码率导致的视频卡顿率较高的技术问题。
6.根据本发明实施例的一个方面,提供了一种码率阈值的确定方法,包括:获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
7.可选地,所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,包括:按照所述一组码率中码率从小到大的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率;所述根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,包括:获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率大于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率小于
或等于所述卡顿率阈值的情况下,将所述上一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述上一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和所述第一网络带宽确定出的预测卡顿率。
8.可选地,所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,包括:按照所述一组码率中码率从大到小的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率;所述根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的所述第一码率阈值,包括:获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率小于或等于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率大于所述卡顿率阈值的情况下,将所述当前一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述当前一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和所述第一网络带宽确定出的预测卡顿率。
9.可选地,在所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型之前,所述方法还包括:获取样本媒体资源的样本媒体信息,以及所述样本媒体资源的实际样本卡顿率,其中,所述样本媒体信息中包括所述样本媒体资源的资源标识向量,所述样本媒体资源的清晰度,所述样本媒体资源的码率和所述样本媒体资源的网络带宽;通过所述样本媒体信息和所述实际样本卡顿率对原始卡顿率预测模型进行训练,在训练的过程中,若所述原始卡顿率预测模型根据所述样本媒体资源确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足预设收敛条件,调整所述原始卡顿率预测模型中的参数,若所述损失值满足所述预设收敛条件,结束训练,将结束训练时的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。
10.可选地,所述通过所述样本媒体信息和所述实际样本卡顿率对原始卡顿率预测模型进行训练,包括:通过所述样本媒体信息和所述实际样本卡顿率对所述原始卡顿率预测模型进行多轮迭代训练,其中,i为大于或等于1的正整数,第0轮训练确定的原始卡顿率预测模型为未经训练的所述原始卡顿率预测模型,所述多轮迭代训练中的第i轮训练包括:将所述样本媒体信息输入第i-1轮训练确定的所述原始卡顿率预测模型,得到第i轮训练确定的预测样本卡顿率,其中,所述原始卡顿率预测模型包括多个隐藏层,每个所述隐藏层上包括预设数量的神经元,每个所述隐藏层中包括dense层、leakyrelu激活函数层、batchnormalization层和dropout层;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足所述预设收敛条件,调整所述第i-1轮训练得到的所述原始卡顿率预测模型中的参数,得到第i轮训练确定的所述原始卡顿率预测模型;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值满足所述预设收敛条件,将所述第i-1轮训练得到的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。
11.可选地,在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第二组媒体信息,其中,所述第二组媒体信息中的每个媒体信息包括所述目标媒体资源的
资源标识向量、所述目标媒体资源的第二清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的所述第一网络带宽;将所述第二组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第二组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第二组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第二清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第二清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;根据所述与所述第二组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第二清晰度和所述第一网络带宽下所述目标媒体资源的第二码率阈值,其中,所述第二码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
12.可选地,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第三组媒体信息,其中,所述第三组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的所述第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第二网络带宽;将所述第三组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第三组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第三组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第二网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第二网络带宽确定所述预测卡顿率;根据所述与所述第三组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第二网络带宽下所述目标媒体资源的第三码率阈值,其中,所述第三码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
13.可选地,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第四组媒体信息,其中,所述第四组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第三清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第三网络带宽;将所述第四组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第四组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第四组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第三清晰度、对应的一个码率和所述第三网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第三清晰度、对应的一个码率和所述第三网络带宽确定所述预测卡顿率;根据所述与所述第四组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第三清晰度和所述第三网络带宽下所述目标媒体资源的第四码率阈值,其中,所述第四码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
14.可选地,在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽为所述第一网络带宽的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率;或者在所述目标媒体资源的当前码率为原始码率、所述目标媒体资
源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽与所述第一网络带宽之间的差值满足预设阈值的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率。
15.可选地,所述在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为与所述第一清晰度不同的目标清晰度、且所述目标媒体资源的当前网络带宽为与所述第一网络带宽不同的目标网络带宽的情况下,获取在所述目标清晰度和所述目标网络带宽下所述目标媒体资源的目标码率阈值,其中,所述目标码率阈值是根据目标预测卡顿率确定得到的码率阈值,所述目标预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述目标清晰度、所述一组码率中对应的码率和所述目标网络带宽确定出的预测卡顿率;将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述目标码率阈值,所述目标码率小于或等于所述目标码率阈值、且大于所述原始码率。
16.根据本发明实施例的另一方面,还提供了一种码率阈值的确定装置,包括:获取模块,用于获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;输入模块,用于将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;确定模块,用于根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
17.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述码率阈值的确定方法。
18.根据本技术实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行如以上码率阈值的确定方法。
19.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的码率阈值的确定方法方法。
20.在本发明实施例中,通过神经神经网络模型学习视频码率、清晰度、带宽,以及媒体资源的资源标识向量之间的关系,预测码率提升后卡顿率的变化。在同一清晰度和带宽的情况下,通过神经网络模型得到目标媒体资源在不同码率下的视频卡顿率。通过限定码
率阈值,防止目标媒体资源码率调整过大,导致的视频卡顿率较高,影响用户体验。进而解决了提升视频码率导致的视频卡顿率较高的技术问题。
附图说明
21.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
22.图1是根据本发明实施例的一种可选的码率阈值的确定方法的应用环境的示意图;
23.图2是根据本发明实施例的一种可选的码率阈值的确定方法的流程图;
24.图3是根据本发明实施例的一种可选的流程图;
25.图4是根据本发明实施例的另一种可选的流程图;
26.图5是根据本发明实施例的一种可选的系统框架图;
27.图6是根据本发明实施例的一种可选的cbow模型示意图;
28.图7是根据本发明实施例的一种可选的skipgram模型示意图;
29.图8是根据本发明实施例的一种可选的相似词语示意图;
30.图9是根据本发明实施例的一种可选的深度神经网络模型结构示意图;
31.图10是根据本发明实施例的一种可选的网络结构对比图;
32.图11是根据本发明实施例的一种可选的损失曲线示意图;
33.图12是根据本发明实施例的一种可选的码率阈值的确定装置的结构示意图;
34.图13是根据本发明实施例的一种可选的电子设备的结构示意图;
35.图14是根据本发明实施例的一种可选的电子设备的计算机系统结构框图。
具体实施方式
36.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
37.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
38.根据本发明实施例的一个方面,提供了一种码率阈值的确定方法,可选地,作为一种可选的实施方式,上述码率阈值的确定方法可以但不限于应用于如图1所示的应用环境中。上述应用环境中包括用户设备102、网络110和服务器112。
39.可选地,在本实施例中,上述用户设备可以是配置有目标客户端的终端设备,可以
包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视、车载终端等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、游戏客户端等。上述用户设备包括:存储器104、处理器106和显示器108,其中,存储器104用于存储数据包括但不限于用于存储目标媒体资源,上述处理器106用于对数据进行处理,包括但不限于解析目标媒体资源的资源标识,解析目标媒体资源的码率和清晰度,以及确定用户设备的带宽等。上述显示器可以用于显示目标媒体资源,上述目标媒体资源包括但不限于视频。
40.上述网络110可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络。
41.上述服务器112可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述服务器包括数据库114和处理引擎116,其中,数据库用于存储数据,包括但不限于上述第一组媒体信息。上述处理引擎可以用于执行以下步骤:
42.步骤s102,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率;
43.步骤s104,根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值。
44.上述仅是一种示例,本实施例中对此不作任何限定。
45.下面对本技术中的关键术语进行说明:
46.视频码率:数据传输时单位时间传送的数据位数,单位是kbps,码率越高,视频质量越高,视频文件越大,需要的观看网络情况要求越高。
47.卡顿数:用户在一次完整观看视频,视频播放断续,不流畅,甚至卡住的情况次数。
48.卡顿率:卡顿率通常是指一段时间内,用户看视频发生卡顿去重总次数/视频总的播放次数*100%,其中,用户看视频发生卡顿去重总次数是在该段时间内,用户看一个视频发生多次卡顿算作一次卡顿下,所有观看的视频发生的卡顿数。
49.kafka是一种高吞吐量的分布式发布订阅消息系统,可以处理网站的日志流数据,供多个消费者拉取消费数据,具有容错性、持久性、多分区的特点。
50.flink是apache软件基金会下的一个开源流处理框架,核心是分布式数据流引擎,可以高吞吐、低延迟、高性能地处理大规模的流式数据。
51.神经网络是人工神经网络,由输入层、隐藏层、输出层构成,隐藏层由多个节点构成,隐藏层可以有多层,每个节点代表一种特定的输出函数,层和层的节点全连接,每两个节点之间的连接通过权重计算结果,并往后面的节点传递,最终在输出层输出计算结果。深度神经网络是有很多隐藏层的神经网络。
52.独热编码是指分类变量转化为数值变量的方法,它把每一类特征变量的取值设为1,其他为0,例如假设视频有标清、高清、超清、蓝光4个清晰度,用户观看的是标清,那么他的网络清晰度独热编码就是(1,0,0,0),如果观看的是高清,那么网络清晰度独热编码是(0,1,0,0),依此类推。
53.word2vec是为了把文本语言转为为数值型数据的算法模型,由于各类文本语言无法输入到模型中训练,而把文本独热编码会导致维度太大,所以word2vec用一个三层的神经网络把独热编码形式的词向量映射为分布式形式的词向量,它维度比独热编码形式小,
而且是数值形式的向量。
54.可选地,作为一种可选的实施方式,如图2所示,上述一种码率阈值的确定方法,可以由用户设备或服务器执行,也可以由用户设备和服务器共同执行,在本技术实施例中,以该方法由服务器执行为例进行说明,上述方法包括以下步骤:
55.步骤s202,获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;
56.其中,上述目标媒体资源可以是视频。视频码率是数据传输时单位时间传送的数据位数,单位是kbps。上述一组码率可以根据实际情况选取,例如从100至600的区间内,每隔50选取的码率,也就是上述一组码率可以是100、150、200、250、300、350、400、450、500、550、600。上述资源标识是视频名称,通过word2vec模型将视屏名称中的文本转换后得到的数值向量。上述第一组媒体信息中不同的媒体信息之间的清晰度和网络带宽是相同的,不同的是码率。
57.步骤s204,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;
58.其中,上述目标卡顿率模型是通过机器学习得到的神经网络模型。该神经网络模型是使用训练样本数据训练得到的,训练样本数据中包括样本媒体资源的资源标识向量、清晰度、码率,以及该样本媒体资源的实际卡顿率。
59.步骤s206,根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
60.其中,通过目标卡顿率预测模型可以得到目标媒体资源在第一清晰度和第一网络带宽的情况下,预估得到一组码率对应的预测卡顿率。通过预测卡顿率对用户观看视频的影响,可以设置目标媒体资源的第一码率阈值,以防止对目标媒体资源的码率进行调整时,由于码率调整的过大导致的视频的卡顿率过高,影响用户体验。
61.下面通过一个具体实施例进行说明:
62.假设上述一组码率为100、150、200,上述第一清晰度为1080p,上述第一网络带宽为1000兆,则上述第一组媒体信息中包括媒体信息1(码率100、清晰度为1080p、网络带宽为1000兆),媒体信息2(码率150,清晰度为1080p、网络带宽为1000兆),以及媒体信息3(码率200,清晰度为1080p、网络带宽为1000兆)。
63.将上述第一组媒体中的媒体信息1、媒体信息2、媒体信息3分别依次输入上述目标卡顿率预测模型,通过目标卡顿率模型对上述媒体信息的卡顿率进行预估,得到媒体信息对应的预测卡顿率。通过目标卡顿率预测模型预估的卡顿率以及用户在不同卡顿率下的观看体验,可以得到目标媒体资源在清晰度为1080p,网络带宽为1000兆的条件下目标媒体资源的第一码率阈值。
64.可选地,所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,包括:按照所述一组码率中码率从小到大的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率;
65.作为一个可选的实施方式,以上述实施例中的第一组媒体中包括的媒体信息1、媒体信息2、媒体信息3为例。按照上述一组码率100、150、200从小到大的顺序依次将对应的媒体信息依次输入上述目标卡顿率预测模型,得到对应的预测卡顿率,直到确定出目标媒体资源的第一码率阈值对应的预测卡顿率。假设预设的卡顿率阈值是0.25,如图3所示,将媒体信息1输入上述目标卡顿率预测模型,假设对上述媒体信息1预估得到的预测卡顿率为0.1,而0.1小于卡顿率阈值,则继续将媒体信息2输入上述目标卡顿率预测模型,假设对上述媒体信息2预估得到的预测卡顿率为0.3,而0.3大于卡顿率阈值,则确定出目标媒体资源的第一码率阈值为100,目标媒体资源的第一码率阈值对应的预测卡顿率为0.1。由于码率与卡顿率是正比关系,按照从小到大的顺序依次将一组码率100、150、200对应的媒体信息输入到目标卡顿率预测模型,当将码率150对应的媒体信息2输入到目标顿率预测模型时,已确定出第一码率阈值,此时可以停止向目标卡顿率预测模型输入媒体信息,也就是说,不需要再将媒体信息3继续输入到目标卡顿率预测模型。通过此种方式可以提高效率,且节省资源。由此可以将媒体信息1中的码率100确定为该目标媒体资源在清晰度为1080p,网络带宽为1000兆的条件下的第一码率阈值。
66.所述根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,包括:获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率大于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率小于或等于所述卡顿率阈值的情况下,将所述上一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述上一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和所述第一网络带宽确定出的预测卡顿率。
67.作为一个可选的实施方式,假设上述卡顿率阈值为0.25,上述当前一次获取到的预测卡顿率为图3中所示的目标卡顿率模型对媒体信息2进行预测得到的预测卡顿率0.3,大于预设的卡顿率阈值0.25。当前一次的上一次获取到的预测卡顿率为图3中所示的目标卡顿率模型对媒体信息1进行预测得到的预测卡顿率0.1,则将媒体信息1中的码率100,确定为所述目标媒体资源的第一码率阈值。
68.在上述实施例中,通过按照上述一组组码率中码率从小到大的顺序,将第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,可以通过目标卡顿率预测模型每次输出的预测卡顿率确定出第一码率阈值。这样可以提高确定第一码率阈值的效率。
69.可选地,所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,包括:按照所述一组码率中码率从大到小的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率;
70.作为一个可选的实施方式,以上述实施例中的第一组媒体中包括的媒体信息1、媒体信息2、媒体信息3为例。假设上述卡顿率阈值为0.4,按照上述一组码率200、150、100从大
到小的顺序依次将对应的媒体信息依次输入上述目标卡顿率预测模型,得到对应的预测卡顿率。如图4所示,将媒体信息3输入上述目标卡顿率预测模型,假设对上述媒体信息3预估得到的预测卡顿率为0.5,而0.5大于卡顿率阈值0.4,则继续将媒体信息2输入上述目标卡顿率预测模型,假设对上述媒体信息2预估得到的预测卡顿率为0.3,而0.3小于卡顿率阈值0.4则确定出目标媒体资源的第一码率阈值为150,目标媒体资源的第一码率阈值对应的预测卡顿率为0.3。由于码率与卡顿率是正比关系,按照从大到小的顺序依次将一组码率200、150、100对应的媒体信息输入到目标卡顿率预测模型,当将码率150对应的媒体信息2输入到目标顿率预测模型时,已确定出第一码率阈值,此时可以停止向目标卡顿率预测模型输入媒体信息,也就是说,不需要再将媒体信息1继续输入到目标卡顿率预测模型。通过此种方式可以提高效率,且节省资源。由此可以确定该目标媒体资源在清晰度为1080p,网络带宽为1000兆的条件下,目标媒体资源的第一码率阈值为150。
71.所述根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的所述第一码率阈值,包括:获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率小于或等于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率大于所述卡顿率阈值的情况下,将所述当前一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述当前一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和所述第一网络带宽确定出的预测卡顿率。
72.作为一个可选的实施方式,假设上述卡顿率阈值为0.4,上述当前一次获取到的预测卡顿率为图4中所示的目标卡顿率模型对媒体信息2进行预测得到的预测卡顿率0.3,小于预设的卡顿率阈值0.4。当前一次的上一次获取到的预测卡顿率为图4中所示的目标卡顿率模型对媒体信息3进行预测得到的预测卡顿率0.5,大于预设的卡顿率阈值0.4。当前一次获取到的预测卡顿率为对媒体信息2进行预测得到的预测卡顿率0.3,其对应的目标码率为0.3,则将目标码率0.3确定为目标媒体资源的第一码率阈值,也就是将媒体信息2对应的码率150,确定为目标媒体资源的第一码率阈值。
73.在上述实施例中,通过按照上述一组组码率中码率从大到小的顺序,将第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,可以通过目标卡顿率预测模型每次输出的预测卡顿率确定出第一码率阈值。这样可以提高确定第一码率阈值的效率。
74.可选地,在所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型之前,所述方法还包括:获取样本媒体资源的样本媒体信息,以及所述样本媒体资源的实际样本卡顿率,其中,所述样本媒体信息中包括所述样本媒体资源的资源标识向量,所述样本媒体资源的清晰度,所述样本媒体资源的码率和所述样本媒体资源的网络带宽;通过所述样本媒体信息和所述实际样本卡顿率对原始卡顿率预测模型进行训练,在训练的过程中,若所述原始卡顿率预测模型根据所述样本媒体资源确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足预设收敛条件,调整所述原始卡顿率预测模型中的参数,若所述损失值满足所述预设收敛条件,结束训练,将结束训练时的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。
75.可选地,所述通过所述样本媒体信息和所述实际样本卡顿率对原始卡顿率预测模
型进行训练,包括:通过所述样本媒体信息和所述实际样本卡顿率对所述原始卡顿率预测模型进行多轮迭代训练,其中,i为大于或等于1的正整数,第0轮训练确定的原始卡顿率预测模型为未经训练的所述原始卡顿率预测模型,所述多轮迭代训练中的第i轮训练包括:将所述样本媒体信息输入第i-1轮训练确定的所述原始卡顿率预测模型,得到第i轮训练确定的预测样本卡顿率,其中,所述原始卡顿率预测模型包括多个隐藏层,每个所述隐藏层上包括预设数量的神经元,每个所述隐藏层中包括dense层、leakyrelu激活函数层、batchnormalization层和dropout层;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足所述预设收敛条件,调整所述第i-1轮训练得到的所述原始卡顿率预测模型中的参数,得到第i轮训练确定的所述原始卡顿率预测模型;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值满足所述预设收敛条件,将所述第i-1轮训练得到的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。
76.作为一个可选的实施方式,如图5所示是系统框架图,对深度神经网络模型进行训练时输入是经过处理后的用户网络带宽、视频信息数据(包括:视频码率、视频清晰度等),经过神经网络模型学习数据信息后,使用模型预测新的提升后的码率对应的用户卡顿率数据。
77.系统框架图中,用户设备数据上报,用户每观看一次视频,观看过程中上报事件数据,从进详情页开始,加载广告、视频首次加载、首次加载清晰度、视频首帧渲染、加载字幕、二次缓冲、拖动、切换清晰度、切换音轨、播放完成这些事件都会有相关数据上报,这里的数据后台上报到kafka,数据保存预设时长(例如,8小时);使用flink大数据框架引擎对用户设备上报的kafka流式数据进行处理,通过过滤空数据、数值异常的数据,然后数据存入数据库中。
78.上述样本媒体资源的资源标识向量,是对视频名称的文本经过转换得到是数据向量,数据库中存储了各种视频的名称。具体地可以通过word2vec模型,将数据库中获取的视频名称进行词向量转换。
79.word2vec是一种自然语言处理技术,它使用神经网络模型从大量的文本资料中学习单词关联,经过训练之后,可以使用数值形式的向量表示不同的单词,通过计算余弦相似度来比较向量之间的相似度,两个向量的余弦相似度计算公式为:
[0080][0081]
其中a、b是两个n维向量,ai、bi是向量里面的第i个值。
[0082]
word2vec通常有cbow、skipgram两种模型架构。如图6所示的cbow模型,使用词的独热编码向量作为输入和一个v*n权重矩阵w
v*n
相乘得到一些1*n的向量,然后这些向量拼接起来(取平均)得到n维向量hi,隐藏层到输出层乘上一个系数矩阵w
′
n*v
,得到向量yj,训练尽量使得这个向量的对应元素接近预测词在语料库上下文条件下出现的条件概率,词向量本质是模型训练的中间产物,输入到隐藏层权重矩阵w
v*n
,所有输入的独热编码向量乘上它就相当得到对应的词向量。
[0083]
如图7所示,skipgram模型就是输入的是一个词w,预测输出的是2c个词向量,期望
这些词的预测概率比其他的词大,其他的步骤和cbow的相似。
[0084]
由于用户观看的视频名称数量有限,为了提升模型的准确率,需要大量视频名称,可以在数据库中查找与该视频名称相关的词语,得到相似的词语。如图8所示,在数据库中查找到与“士兵突击”最相近的前十个词,图中所示的第一列是词,第二列是该词和”士兵突击”的相关性,通过转换可以将视频名称转为200维的向量,遇到预训练词向量里面没有的词w1时,使用jieba分词,把分词后寻找到的词向量取平均作为w1的词向量。这样可以提升训练样本的数据量,提升模型的准确度。
[0085]
作为一个可选的实施方式,上述原始卡顿率预测模型是深度神经网络模型,在对上述原始卡顿率预测模型进行训练之前,搭建深度神经网络模型,深度神经网络模型的结构如图9所示,总共7层,包括1个输入层、6个隐藏层和1个输出层,使用了leakyrelu激活函数、batch-normalization方法和dropout方法。其中leakyrelu激活函数的主要作用是解决梯度消失、加速收敛,batchnormalization层的主要作用是让神经网络收敛更快、更稳定,droupout层的作用是防止过拟合。
[0086]
leakyrelu激活函数:给所有小于0的值乘以一个非0的斜率,其中如公式1中,ai是大于1的固定参数,输入leakyrelu层的数据,ai取值可以任意设置,例如可以为0.01。
[0087][0088]
batchnormalization:给每层数据做最小批正态化,使得数据的分布变成正态分布,防止数据的分布越来越偏,而导致梯度消失,训练无法收敛。如公式2中b是最小批的数据的大小,m是整个训练集的大小,μb是代表最小批的均值,是方差,对于一个有d维的输入数据(x1,x2,..xd),如公式3每个输入维度的数据都做正态化,ε是一个任意小的常数,添加在分母是为了防止分母为0,公式4中的参数γ
(k)
和β
(k)
在训练过程中学习而来,yi就是batchnormalization层输出。
[0089][0090][0091][0092]
如图10所示是标准神经网络结构和经过dropout的神经网络结构的对比图,在深度神经网络训练过程中,dropout层对神经元按照一定的概率暂时丢弃,这里的概率设为0.5,所以每一个最小批训练出一个不同的网络,多个不同的网络可以学习到更多的信息,dropout迫使神经网络学习更强大的特征,这些特征与其他神经元的许多不同随机子集结合使用时非常有用,使得网络更健壮,防止过拟合。
[0093]
作为一个可选的实施方式,可以使用python取出数据库中的数据,数据库中存储了用户观看的视频数据,将用户观看的视频作为样本媒体资源,视频数据作为样本媒体信息,样本媒体信息中包括但不限于用户终端类型、视频清晰度、用户观看视频的卡顿率、视
频码率数据、用户下载视频速度。上述视频清晰度、视频码率数据和用户下载视频速度可以是用户一段时间内观看视频的平均数据。用户平均带宽≈平均下载速度/8/1024/1024,以此得到用户的观看视频的平均码率、用户的平均带宽、视频的清晰度,将上述平均码率、用户的平均带宽、视频的清晰度,以及用户观看视频的卡顿率作为模型的训练数据。
[0094]
作为一个可选的实施方式,神经网络训练的过程中,训练集的x是样本媒体资源的网络清晰度(包括:标清、高清、超清、全高清)、用户码率,用户带宽。
[0095]
其中,用户码率和带宽可以通过以下公式进行最小最大归一化处理:
[0096][0097]
对用户码率和带宽可以使得数据量纲一致,模型训练收敛速度加快,网络清晰度可以用独热编码转换为数值向量。
[0098]
训练集的y是用户卡顿率,范围是0~1。如图9所示的神经网络的模型架构中,数据输入训练,这里训练集x的维度是200维的视频专辑词向量+3维的视频清晰度、视频码率、用户带宽=203维的训练集数据,训练集y是用户的卡顿率。
[0099]
模型输入后第一层隐藏层是1024个神经元的全连接隐藏层,使用leakyrelu激活函数+batchnormalization层+dropout层这里dropout的概率设为0.4;然后继续第二层隐藏层是512个神经元的全连接层这里的激活函数、批标准化和上面一致,dropout概率设为0.3;第三层隐藏层是512个神经元的全连接层这里的激活函数、批标准化和上面一致,dropout概率设为0.3;第四层隐藏层是256个神经元的全连接层这里的激活函数、批标准化和上面一致,dropout概率设为0.2;第五层隐藏层是256个神经元的全连接层这里的激活函数是leakyrelu,dropout概率设为0.01;第六层隐藏层是128个神经元的全连接层这里的激活函数是leakyrelu,dropout概率设为0.05;最后输出层是一个神经元,使用线性激活函数,输出预测的卡顿率。图11是训练损失曲线,在训练到9000次时,模型已经收敛,保存此时的模型参数,得到目标卡顿率预测模型。通过加载训练好的标卡顿率预测模型,输入新转码的视频码率和清晰度,用户带宽取最近10天现网用户的平均带宽(因为一般认为用户带宽短期内不会发生剧烈变化),输出模型预测的卡顿率。
[0100]
可选地,在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第二组媒体信息,其中,所述第二组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第二清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的所述第一网络带宽;将所述第二组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第二组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第二组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第二清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第二清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;根据所述与所述第二组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第二清晰度和所述第一网络带宽下所述目标媒体资源的第二码率阈值,其中,所述第二码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0101]
作为一个可选的实施方式,上述第二清晰度与上述第一清晰度取值不同,第二清晰度可以大于上述第一清晰度,也可以小于上述第一清晰度。
[0102]
下面通过一个具体实施例进行说明:
[0103]
假设上述一组码率为100、150、200,上述第二清晰度为2160p,上述第一网络带宽为1000兆,则上述第二组媒体信息中包括媒体信息4(码率100、清晰度为2160p、网络带宽为1000兆),媒体信息5(码率150,清晰度为2160p、网络带宽为1000兆),以及媒体信息6(码率200,清晰度为2160、网络带宽为1000兆)。
[0104]
将上述第二组媒体中的媒体信息3、媒体信息4、媒体信息5分别依次输入上述目标卡顿率预测模型,通过目标卡顿率模型对上述媒体信息的卡顿率进行预估,得到媒体信息对应的预测卡顿率。通过神经网络模型预估的卡顿率以及用户在不同卡顿率下的观看体验,可以得到目标媒体资源在清晰度为2160p,网络带宽为1000兆的条件下,码率阈值。
[0105]
可选地,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第三组媒体信息,其中,所述第三组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的所述第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第二网络带宽;将所述第三组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第三组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第三组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第二网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第二网络带宽确定所述预测卡顿率;根据所述与所述第三组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第二网络带宽下所述目标媒体资源的第三码率阈值,其中,所述第三码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0106]
作为一个可选的实施方式,上述第二网络带宽与上述第一网络带宽取值不同,第二网络带宽可以大于上述第一网络带宽也可以小于上述第一网络带宽。
[0107]
作为一个可选的实施方式,假设上述一组码率为100、150、200,上述第一清晰度为1080p,上述第二网络带宽为2000兆,则上述第三组媒体信息中包括媒体信息7(码率100、清晰度为1080p、网络带宽为2000兆),媒体信息8(码率150,清晰度为1080p、网络带宽为2000兆),以及媒体信息9(码率200,清晰度为1080、网络带宽为2000兆)。
[0108]
将上述第二组媒体中的媒体信息7、媒体信息8、媒体信息9分别依次输入上述目标卡顿率预测模型,通过目标卡顿率模型对上述媒体信息的卡顿率进行预估,得到媒体信息对应的预测卡顿率。通过神经网络模型预估的卡顿率以及用户在不同卡顿率下的观看体验,可以得到目标媒体资源在清晰度为1080p,网络带宽为2000兆的条件下,码率阈值。
[0109]
可选地,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第四组媒体信息,其中,所述第四组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第三清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第三网络带宽;将所述第四组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第四组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第四组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第三清晰度、对应的一个
码率和所述第三网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第三清晰度、对应的一个码率和所述第三网络带宽确定所述预测卡顿率;根据所述与所述第四组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第三清晰度和所述第三网络带宽下所述目标媒体资源的第四码率阈值,其中,所述第四码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0110]
作为一个可选的实施方式,上述第三网络带宽与上述第一网络带宽取值不同,第三网络带宽可以大于上述第一网络带宽也可以小于上述第一网络带宽。上述第三清晰度与上述第一清晰度取值不同,第三清晰度可以大于上述第一清晰度,也可以小于上述第一清晰度。
[0111]
作为一个可选的实施方式,假设上述一组码率为100、150、200,上述第三清晰度为2160p,上述第二网络带宽为2000兆,则上述第二组媒体信息中包括媒体信息10(码率100、清晰度为2160p、网络带宽为2000兆),媒体信息11(码率150,清晰度为2160p、网络带宽为2000兆),以及媒体信息12(码率200,清晰度为2160、网络带宽为2000兆)。
[0112]
将上述第二组媒体中的媒体信息10、媒体信息11、媒体信息12分别依次输入上述目标卡顿率预测模型,通过目标卡顿率模型对上述媒体信息的卡顿率进行预估,得到媒体信息对应的预测卡顿率。通过神经网络模型预估的卡顿率以及用户在不同卡顿率下的观看体验,可以得到目标媒体资源在清晰度为2160p,网络带宽为2000兆的条件下,码率阈值。
[0113]
可选地,在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽为所述第一网络带宽的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率;
[0114]
作为一个可选的实施方式,在得到目标媒体资源在第一清晰度和第一网络带宽的码率阈值的情况下,可以根据该码率阈值对目标媒体资源的码率进行调整。假设目标媒体资源的当前清晰度为1080p,当前网络带宽为1000兆,原始码率为30。若上述实施例中通过目标卡顿率模型得到的在清晰度为1080p,网络带宽为1000兆的情况下,目标媒体资源的码率阈值为100,则可以将目标媒体资源的码率调高到30至100中的任意数值,也就是目标码率是30至100中的任意数值。
[0115]
或者在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽与所述第一网络带宽之间的差值满足预设阈值的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率。
[0116]
作为一个可选的实施方式,上述预设阈值可以根据实际情况设置,例如100、200等。假设目标媒体资源的当前清晰度为1080p,当前网络带宽为1100兆,原始码率为30。若上述实施例中通过目标卡顿率模型得到的在清晰度为1080p,网络带宽为1000兆的情况下,目标媒体资源的码率阈值为100。目标媒体资源的当前网络带宽1100与1000的差值为100,假设上述预设阈值为200,差值100小于预设阈值200。则可以将目标媒体资源的码率调高到30
至100中的任意数值,也就是目标码率是30至100中的任意数值。
[0117]
可选地,所述在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为与所述第一清晰度不同的目标清晰度、且所述目标媒体资源的当前网络带宽为与所述第一网络带宽不同的目标网络带宽的情况下,获取在所述目标清晰度和所述目标网络带宽下所述目标媒体资源的目标码率阈值,其中,所述目标码率阈值是根据目标预测卡顿率确定得到的码率阈值,所述目标预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述目标清晰度、所述一组码率中对应的码率和所述目标网络带宽确定出的预测卡顿率;将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述目标码率阈值,所述目标码率小于或等于所述目标码率阈值、且大于所述原始码率。
[0118]
作为一个可选的实施方式,假设上述目标媒体资源的当前码率为30,当前清晰度为2160p,当前网络带宽为2000兆。第一清晰度为1080,第一网络带宽为1000兆。目标媒体资源的当前清晰度与第一清晰度不同、且目标媒体资源的当前网络带宽为与第一网络带宽不同。
[0119]
假设在清晰度为2160p,网络带宽为2000兆的码率阈值为150,则可以将目标媒体资源的当前码率调高到30-150中的任意数值。
[0120]
通过上述实施例,通过神经网络模型构建了卡顿率预测模型,可以根据视频清晰度、码率、带宽、视频名称预测用户观看视频卡顿率。可以应用视频翻新,从低码率的模糊、色彩不够鲜艳、灰暗的视频,转为高码率的高清、色彩丰富、视觉更佳的视频时,预估码率提升对用户播放体验的影响,从而限定一个提升的码率阈值,防止对用户体验影响过大。
[0121]
可以理解的是,在本技术的具体实施方式中,涉及到用户信息等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0122]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0123]
根据本发明实施例的另一个方面,还提供了一种用于实施上述码率阈值的确定方法的码率阈值的确定装置。如图12所示,该装置包括:获取模块1202,用于获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;输入模块1204,用于将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;确定模块1206,用于根据所述与输入的所述媒体信息对应的预测卡顿率,确定在
所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0124]
可选地,上述装置还用于按照所述一组码率中码率从小到大的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率。
[0125]
可选地,上述装置还用于获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率大于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率小于或等于所述卡顿率阈值的情况下,将所述上一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述上一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和所述第一网络带宽确定出的预测卡顿率。
[0126]
可选地,上述装置还用于按照所述一组码率中码率从大到小的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率。
[0127]
可选地,上述装置还用于获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率小于或等于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率大于所述卡顿率阈值的情况下,将所述当前一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述当前一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和所述第一网络带宽确定出的预测卡顿率。
[0128]
可选地,上述装置还用于在所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型之前,获取样本媒体资源的样本媒体信息,以及所述样本媒体资源的实际样本卡顿率,其中,所述样本媒体信息中包括所述样本媒体资源的资源标识向量,所述样本媒体资源的清晰度,所述样本媒体资源的码率和所述样本媒体资源的网络带宽;通过所述样本媒体信息和所述实际样本卡顿率对原始卡顿率预测模型进行训练,在训练的过程中,若所述原始卡顿率预测模型根据所述样本媒体资源确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足预设收敛条件,调整所述原始卡顿率预测模型中的参数,若所述损失值满足所述预设收敛条件,结束训练,将结束训练时的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。
[0129]
可选地,上述装置还用于通过所述样本媒体信息和所述实际样本卡顿率对所述原始卡顿率预测模型进行多轮迭代训练,其中,i为大于或等于1的正整数,第0轮训练确定的原始卡顿率预测模型为未经训练的所述原始卡顿率预测模型,所述多轮迭代训练中的第i轮训练包括:将所述样本媒体信息输入第i-1轮训练确定的所述原始卡顿率预测模型,得到第i轮训练确定的预测样本卡顿率,其中,所述原始卡顿率预测模型包括多个隐藏层,每个所述隐藏层上包括预设数量的神经元,每个所述隐藏层中包括dense层、leakyrelu激活函数层、batchnormalization层和dropout层;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足所述预设收敛条件,调整所述第i-1轮训练得到的所述原始卡顿率预测模型中的参数,得到第i轮训练确定的所述原始卡顿率预测模型;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值满足所述预设收
敛条件,将所述第i-1轮训练得到的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。
[0130]
可选地,上述装置还用于在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,获取与所述目标媒体资源的所述一组码率对应的第二组媒体信息,其中,所述第二组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第二清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的所述第一网络带宽;将所述第二组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第二组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第二组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第二清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第二清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;根据所述与所述第二组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第二清晰度和所述第一网络带宽下所述目标媒体资源的第二码率阈值,其中,所述第二码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0131]
可选地,上述装置还用于获取与所述目标媒体资源的所述一组码率对应的第三组媒体信息,其中,所述第三组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的所述第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第二网络带宽;将所述第三组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第三组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第三组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第二网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第二网络带宽确定所述预测卡顿率;根据所述与所述第三组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第二网络带宽下所述目标媒体资源的第三码率阈值,其中,所述第三码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0132]
可选地,上述装置还用于获取与所述目标媒体资源的所述一组码率对应的第四组媒体信息,其中,所述第四组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第三清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第三网络带宽;将所述第四组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第四组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第四组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第三清晰度、对应的一个码率和所述第三网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第三清晰度、对应的一个码率和所述第三网络带宽确定所述预测卡顿率;根据所述与所述第四组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第三清晰度和所述第三网络带宽下所述目标媒体资源的第四码率阈值,其中,所述第四码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0133]
可选地,上述装置还用于在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,在所述目标媒体资源的当前码率为原始码率、所述
目标媒体资源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽为所述第一网络带宽的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率;在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽与所述第一网络带宽之间的差值满足预设阈值的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率。
[0134]
可选地,上述装置还用于所述在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为与所述第一清晰度不同的目标清晰度、且所述目标媒体资源的当前网络带宽为与所述第一网络带宽不同的目标网络带宽的情况下,获取在所述目标清晰度和所述目标网络带宽下所述目标媒体资源的目标码率阈值,其中,所述目标码率阈值是根据目标预测卡顿率确定得到的码率阈值,所述目标预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述目标清晰度、所述一组码率中对应的码率和所述目标网络带宽确定出的预测卡顿率;将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述目标码率阈值,所述目标码率小于或等于所述目标码率阈值、且大于所述原始码率。
[0135]
根据本发明实施例的又一个方面,还提供了一种用于实施上述码率阈值的确定方法的电子设备,该电子设备可以是图1所示的用户设备或服务器。本实施例以该电子设备为服务器为例来说明。如图13所示,该电子设备包括存储器1302和处理器1304,该存储器1302中存储有计算机程序,该处理器1304被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
[0136]
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0137]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0138]
s1,获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;
[0139]
s2,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;
[0140]
s3,根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0141]
可选地,本领域普通技术人员可以理解,图13所示的结构仅为示意,图13其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图13中所示
更多或者更少的组件(如网络接口等),或者具有与图13所示不同的配置。
[0142]
其中,存储器1302可用于存储软件程序以及模块,如本发明实施例中的码率阈值的确定方法和装置对应的程序指令/模块,处理器1304通过运行存储在存储器1302内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的码率阈值的确定方法。存储器1302可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1302可进一步包括相对于处理器1304远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1302具体可以但不限于用于存储目标媒体资源等信息。作为一种示例,如图13所示,上述存储器1302中可以但不限于包括上述码率阈值的确定装置中的获取模块1202、输入模块1204、确定模块1206。此外,还可以包括但不限于上述码率阈值的确定装置中的其他模块单元,本示例中不再赘述。
[0143]
可选地,上述的传输装置1306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1306包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1306为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0144]
此外,上述电子设备还包括:连接总线1308,用于连接上述电子设备中的各个模块部件。
[0145]
在其他实施例中,上述用户设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
[0146]
根据本技术的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本技术实施例提供的各种功能。
[0147]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0148]
图14示意性地示出了用于实现本技术实施例的电子设备的计算机系统结构框图。
[0149]
需要说明的是,图14示出的电子设备的计算机系统1400仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0150]
如图14所示,计算机系统1400包括中央处理器1401(central processing unit,cpu),其可以根据存储在只读存储器1402(read-only memory,rom)中的程序或者从存储部分1408加载到随机访问存储器1403(random access memory,ram)中的程序而执行各种适当的动作和处理。在随机访问存储器1403中,还存储有系统操作所需的各种程序和数据。中央处理器1401、在只读存储器1402以及随机访问存储器1403通过总线1404彼此相连。输入/输出接口1405(input/output接口,即i/o接口)也连接至总线1404。
[0151]
以下部件连接至输入/输出接口1405:包括键盘、鼠标等的输入部分1406;包括诸
如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至输入/输出接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
[0152]
特别地,根据本技术的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理器1401执行时,执行本技术的系统中限定的各种功能。
[0153]
根据本技术的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各种可选实现方式中提供的方法。
[0154]
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0155]
s1,获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;
[0156]
s2,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;
[0157]
s3,根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。
[0158]
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0159]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0160]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有
详述的部分,可以参见其他实施例的相关描述。
[0161]
在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0162]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0163]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0164]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种码率阈值的确定方法,其特征在于,包括:获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。2.根据权利要求1所述的方法,其特征在于,所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,包括:按照所述一组码率中码率从小到大的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率;所述根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,包括:获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率大于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率小于或等于所述卡顿率阈值的情况下,将所述上一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述上一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和所述第一网络带宽确定出的预测卡顿率。3.根据权利要求1所述的方法,其特征在于,所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,包括:按照所述一组码率中码率从大到小的顺序,将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率;所述根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的所述第一码率阈值,包括:获取所述目标卡顿率预测模型依次得到的预测卡顿率;在检测到当前一次获取到的预测卡顿率小于或等于预设的卡顿率阈值、且所述当前一次的上一次获取到的预测卡顿率大于所述卡顿率阈值的情况下,将所述当前一次获取到的预测卡顿率对应的目标码率确定为所述目标媒体资源的所述第一码率阈值,其中,所述当前一次获取到的预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述第一清晰度、所述目标码率和和所述第一网络带宽确定出的预测卡顿率。4.根据权利要求1所述的方法,其特征在于,在所述将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型之前,所述方法还包括:
获取样本媒体资源的样本媒体信息,以及所述样本媒体资源的实际样本卡顿率,其中,所述样本媒体信息中包括所述样本媒体资源的资源标识向量,所述样本媒体资源的清晰度,所述样本媒体资源的码率和所述样本媒体资源的网络带宽;通过所述样本媒体信息和所述实际样本卡顿率对原始卡顿率预测模型进行训练,在训练的过程中,若所述原始卡顿率预测模型根据所述样本媒体资源确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足预设收敛条件,调整所述原始卡顿率预测模型中的参数,若所述损失值满足所述预设收敛条件,结束训练,将结束训练时的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。5.根据权利要求4所述的方法,其特征在于,所述通过所述样本媒体信息和所述实际样本卡顿率对原始卡顿率预测模型进行训练,包括:通过所述样本媒体信息和所述实际样本卡顿率对所述原始卡顿率预测模型进行多轮迭代训练,其中,i为大于或等于1的正整数,第0轮训练确定的原始卡顿率预测模型为未经训练的所述原始卡顿率预测模型,所述多轮迭代训练中的第i轮训练包括:将所述样本媒体信息输入第i-1轮训练确定的所述原始卡顿率预测模型,得到第i轮训练确定的预测样本卡顿率,其中,所述原始卡顿率预测模型包括多个隐藏层,每个所述隐藏层上包括预设数量的神经元,每个所述隐藏层中包括dense层、leakyrelu激活函数层、batchnormalization层和dropout层;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值不满足所述预设收敛条件,调整所述第i-1轮训练得到的所述原始卡顿率预测模型中的参数,得到第i轮训练确定的所述原始卡顿率预测模型;若所述第i轮训练确定的预测样本卡顿率与所述实际样本卡顿率之间的损失值满足所述预设收敛条件,将所述第i-1轮训练得到的所述原始卡顿率预测模型确定为所述目标卡顿率预测模型。6.根据权利要求1所述的方法,其特征在于,在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第二组媒体信息,其中,所述第二组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第二清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的所述第一网络带宽;将所述第二组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第二组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第二组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第二清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第二清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;根据所述与所述第二组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第二清晰度和所述第一网络带宽下所述目标媒体资源的第二码率阈值,其中,所述第二码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第三组媒体信息,其中,所述第三组
媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的所述第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第二网络带宽;将所述第三组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第三组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第三组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第二网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第二网络带宽确定所述预测卡顿率;根据所述与所述第三组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第二网络带宽下所述目标媒体资源的第三码率阈值,其中,所述第三码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取与所述目标媒体资源的所述一组码率对应的第四组媒体信息,其中,所述第四组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第三清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第三网络带宽;将所述第四组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与所述第四组媒体信息中的媒体信息对应的预测卡顿率,其中,每个与所述第四组媒体信息中的媒体信息对应的预测卡顿率用于表示在所述第三清晰度、对应的一个码率和所述第三网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第三清晰度、对应的一个码率和所述第三网络带宽确定所述预测卡顿率;根据所述与所述第四组媒体信息中的媒体信息对应的预测卡顿率,确定在所述第三清晰度和所述第三网络带宽下所述目标媒体资源的第四码率阈值,其中,所述第四码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。9.根据权利要求1至8中任一项所述的方法,其特征在于,在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽为所述第一网络带宽的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率;或者在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为所述第一清晰度、且所述目标媒体资源的当前网络带宽与所述第一网络带宽之间的差值满足预设阈值的情况下,将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述第一码率阈值,所述目标码率小于或等于所述第一码率阈值、且大于所述原始码率。10.根据权利要求1至8中任一项所述的方法,其特征在于,在所述确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值之后,所述方法还包括:在所述目标媒体资源的当前码率为原始码率、所述目标媒体资源的当前清晰度为与所述第一清晰度不同的目标清晰度、且所述目标媒体资源的当前网络带宽为与所述第一网络带宽不同的目标网络带宽的情况下,获取在所述目标清晰度和所述目标网络带宽下所述目
标媒体资源的目标码率阈值,其中,所述目标码率阈值是根据目标预测卡顿率确定得到的码率阈值,所述目标预测卡顿率是所述目标卡顿率预测模型根据所述资源标识向量、所述目标清晰度、所述一组码率中对应的码率和所述目标网络带宽确定出的预测卡顿率;将所述目标媒体资源的码率从所述原始码率调高至目标码率,其中,所述原始码率小于所述目标码率阈值,所述目标码率小于或等于所述目标码率阈值、且大于所述原始码率。11.一种码率阈值的确定装置,其特征在于,包括:获取模块,用于获取与目标媒体资源的一组码率对应的第一组媒体信息,其中,所述第一组媒体信息中的每个媒体信息包括所述目标媒体资源的资源标识向量、所述目标媒体资源的第一清晰度、所述一组码率中对应的一个码率以及所述目标媒体资源的第一网络带宽;输入模块,用于将所述第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的所述媒体信息对应的预测卡顿率,其中,每个预测卡顿率用于表示在所述第一清晰度、对应的一个码率和所述第一网络带宽下所述目标媒体资源被播放时的卡顿率,所述目标卡顿率预测模型用于根据所述资源标识向量、所述第一清晰度、对应的一个码率和所述第一网络带宽确定所述预测卡顿率;确定模块,用于根据所述与输入的所述媒体信息对应的预测卡顿率,确定在所述第一清晰度和所述第一网络带宽下所述目标媒体资源的第一码率阈值,其中,所述第一码率阈值用于表示将所述目标媒体资源的码率进行调整时所允许调整到的阈值。12.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至8任一项中所述的方法。13.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至10任一项所述方法的步骤。14.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至10任一项中所述的方法。
技术总结
本发明公开了一种码率阈值的确定方法和装置、存储介质及电子设备。其中,该方法包括:获取与目标媒体资源的一组码率对应的第一组媒体信息;将第一组媒体信息中的媒体信息依次输入到目标卡顿率预测模型,得到与输入的媒体信息对应的预测卡顿率;根据与输入的媒体信息对应的预测卡顿率,确定在第一清晰度和第一网络带宽下目标媒体资源的第一码率阈值。本发明解决了提升视频码率导致的视频卡顿率较高的技术问题。技术问题。技术问题。
技术研发人员:谢科宇
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.03.24
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/