网络带宽分配方法及装置与流程

文档序号:31031418发布日期:2022-08-06 02:06阅读:83来源:国知局
网络带宽分配方法及装置与流程

1.本技术涉及计算机技术领域,特别涉及一种网络带宽分配方法。本技术同时涉及一种网络带宽分配装置,一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.随着互联网技术的发展,越来越多的用户通过终端观看视频内容,终端在从服务器下载音视频内容时,tcp(transmission control protocol,一种传输层通信协议)会在终端创建视频接收缓存区和音频接收缓存区,两者共同使用设备的带宽进行数据接收,直至各自的接收缓存区被填满。
3.通常情况下,系统默认视频接收缓存区和音频接收缓存区的大小相同,并且两者都很大,而视频的码率通常远大于音频的码率,因此在起播过程中,只要音频接收缓存区未满,就会一直和视频竞争带宽,导致原本需要更多带宽的视频下载很慢,造成首帧加载慢甚至失败、播放卡顿等问题。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种网络带宽分配方法。本技术同时涉及一种网络带宽分配装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的在缓存音视频的过程中,音频数据与视频数据争夺网络带宽,从而导致音视频播放卡顿的问题。
5.根据本技术实施例的第一方面,提供了一种网络带宽分配方法,包括:
6.确定音频缓存区和视频缓存区,其中,所述音频缓存区小于所述视频缓存区;
7.将目标音视频的音频数据缓存至所述音频缓存区,将所述目标音视频的视频数据缓存至所述视频缓存区;
8.获取所述音频缓存区的音频缓存信息,获取所述目标音视频对应的播放缓存信息和所述视频缓存区的视频缓存信息;
9.根据所述音频缓存信息为所述目标音视频分配视频带宽和音频带宽;
10.根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区。
11.根据本技术实施例的第二方面,提供了一种网络带宽分配装置,包括:
12.确定模块,被配置为确定音频缓存区和视频缓存区,其中,所述音频缓存区小于所述视频缓存区;
13.缓存模块,被配置为将所述目标音视频的音频数据缓存至所述音频缓存区,将所述目标音视频的视频数据缓存至所述视频缓存区;
14.获取模块,被配置为获取所述音频缓存区的音频缓存信息,获取所述目标音视频对应的播放缓存信息和所述视频缓存区的视频缓存信息;
15.分配模块,被配置为根据所述音频缓存信息为所述目标音视频分配视频带宽和音
频带宽;
16.调整模块,被配置为根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区。
17.根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述网络带宽分配方法的步骤。
18.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述网络带宽分配方法的步骤。
19.本技术提供的网络带宽分配方法,确定音频缓存区和视频缓存区,其中,所述音频缓存区小于所述视频缓存区;将目标音视频的音频数据缓存至所述音频缓存区,将所述目标音视频的视频数据缓存至所述视频缓存区;获取所述音频缓存区的音频缓存信息,获取所述目标音视频对应的播放缓存信息和所述视频缓存区的视频缓存信息;根据所述音频缓存信息为所述目标音视频分配视频带宽和音频带宽;根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区。
20.本技术一实施例实现了通过设置较大的视频缓存区和较小的音频缓存区,并监测音频缓存区中的音频缓存信息,通过音频缓存信息来动态调整视频带宽和音频带宽的分配,使得音频可以快速缓存完成的情况下,分配更多的带宽给视频,提升视频的缓存效率,减少带宽浪费,从而减少音视频播放卡顿,提升用户使用体验。
附图说明
21.图1是本技术一实施例提供的一种网络带宽分配方法的流程图;
22.图2是本技术一实施例提供的音视频的起播增长策略示意图;
23.图3是本技术一实施例提供的音视频的减少调整策略示意图;
24.图4是本技术一实施例提供的一种应用于某音视频的缓存的网络带宽分配方法的处理流程图;
25.图5是本技术一实施例提供的一种网络带宽分配装置的结构示意图;
26.图6是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
27.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
28.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
29.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述
各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
30.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
31.tcp接收缓存区:终端中用来暂存从服务器接收到的数据的内核缓存区域,对于音视频文件,可以进一步划分为音频缓存区和视频缓存区。
32.首帧时间:从用户点击视频播放到视频首帧渲染出来的耗时,首帧时间除了业务侧关于用户点击、页面创建和渲染的耗时之外,还包括播放器层面的视频请求、数据缓存以及之后的解码和渲染这些环节的耗时。
33.卡顿率:发生了卡顿的播放事件占总播放事件的比例。
34.seek:将音视频从当前位置快速拖动到给定位置并进行播放的过程。
35.在终端从服务器下载音视频时,tcp会先创建视频缓存区和音频缓存区,两者共同使用终端的网络设备进行数据接收,直至各自的接收缓存区都被填满,目前系统默认给视频缓存区和音频缓存区的大小是固定的,且是一个较大的固定值,以便整个音视频的播放使用。目前也有方法在起播时设置较小的音频缓存区和视频缓存区,之后再用简单的增长策略使得音频缓存区和视频缓存区增长到最大值。
36.但是在实际应用中,视频的码率通常远大于音频码率,在起播过程中,只要音频缓存区未满,就会一直与视频竞争带宽,这就导致原本需要更多带宽的视频下载变慢,进而造成首帧加载慢甚至失败,播放卡顿等问题。此外,对码率较小的音频设置较大的音频缓存区也有可能会导致流量的浪费。起播时设置较小的音频缓存区和视频缓存区能在一定程度上优化首帧时间和加载失败率,但是增长策略过于简单且缺乏调节策略,有可能会引起播放卡顿率的增加。
37.基于此,在本技术中,提供了一种网络带宽分配方法,本技术同时涉及一种网络带宽分配装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
38.图1示出了根据本技术一实施例提供的一种网络带宽分配方法的流程图,具体包括以下步骤:
39.步骤102:确定音频缓存区和视频缓存区,其中,所述音频缓存区小于所述视频缓存区。
40.在实际应用中,用户想要观看某个音视频,需要将该音视频缓存到终端观看,此时,目标音视频具体是指用户想要观看的音视频,通常情况下,目标音视频的视频帧和音频帧是对应的,用户使用终端观看目标音视频,可以点击终端上的播放按钮,终端向服务器发送该目标音视频的获取指令,服务器向终端发送该目标音视频的音频数据和视频数据,终端中通过设置音频缓存区和视频缓存区的方式接收音频数据和视频数据,具体的,将音频数据缓存至音频缓存区,将视频数据缓存至视频缓存区,然后再将音频数据和视频数据缓存至播放缓存区,播放缓存区用于缓存可以直接在播放器中进行播放的音视频内容。
41.用户使用终端向服务器发送缓存指令,缓存指令具体是指用于缓存音频数据和视频数据的指令,在接收到针对目标音视频的缓存指令之后,为该目标音视频生成一频缓存
区和一个视频缓存区,这里的音频缓存区和视频缓存区均为tcp接收缓存区。
42.在本技术中的音频缓存区和视频缓存区的长度是不同的,即音频缓存区小于所述视频缓存区,具体的,为了满足起播时音视频不发生卡顿,音频缓存区和视频缓存区要满足以下条件:
43.1,为了保证音视频能正常播放,因此需要缓存一定时长(帧数)的音频和视频。
44.2,由于音频码率通常小于视频码率,为了保证两者下载的帧数尽可能一致,需要保证视频缓存区大于音频缓存区;
45.3,为了合理分配网络带宽,音频缓存区的大小不能太大,要尽快将音频缓存区填满,将带宽分配给视频,保证音视频的同步。
46.需要注意的是,在本步骤中确定音频缓存区和视频缓存区可以对应缓存音视频的不同阶段,在起播阶段,是根据目标音视频的播放时长来确定初始的音频缓存区和视频缓存区,在起播之后的阶段,音频缓存区和视频缓存区是经过调整策略调整之后的缓存区。
47.基于此,在起播阶段,确定音频缓存区和视频缓存区,包括:
48.确定所述目标音视频的初始播放时长、音频码率和视频码率;
49.基于所述初始播放时长和所述音频码率确定初始音频缓存区;
50.基于所述初始播放时长和所述视频码率确定初始视频缓存区。
51.其中,初始播放时长具体是要满足上述第1个条件中的要求,可以设置初始播放时长为2秒。音频码率具体是指该目标音视频中音频的码率,视频码率具体是指该目标音视频中视频的码率,在实际应用中,在确定目标音视频后,音频码率和视频码率可以直接基于目标音视频获得。
52.在确定初始播放时长、音频码率和视频码率之后,即可根据初始播放时长和音频码率确定初始音频缓存区,根据初始播放时长和视频码率确定初始视频缓存区,具体的,根据初始播放时长和音频码率相乘,即可得到初始音频缓存区的大小,根据初始播放时长和视频码率相乘,即可得到初始视频缓存区的大小。例如,初始播放时长为5秒,音频码率为50k,视频码率为200k,基于此,可以确定初始音频缓存区设置为250k,初始视频缓存区为1000k。
53.在后续的操作中,可以根据对应的缓存区调整策略来对音频缓存区和视频缓存区进行调整,再获取调整后的音频缓存区和视频缓存区。
54.步骤104:将所述目标音视频的音频数据缓存至所述音频缓存区,将所述目标音视频的视频数据缓存至所述视频缓存区。
55.在确定了目标音视频的音频数据缓存区和视频缓存区之后,即可接收目标音视频的音频数据和视频数据,并将音频数据缓存至音频缓存区,将视频数据缓存至视频缓存区。
56.步骤106:获取所述音频缓存区的音频缓存信息,获取所述目标音视频对应的播放缓存信息和所述视频缓存区的视频缓存信息。
57.在缓存音频数据和视频数据的过程中,监测音频缓存区的音频缓存信息,其中,音频缓存信息具体是指在音频缓存区中缓存的音频数据的信息,可以包括音频缓存时长、音频缓存区的音频缓存率等等。
58.通过获取音频缓存区的音频缓存信息,便于后续根据音频缓存信息来分配网络带宽,使得在缓存音频数据和视频数据的过程中,动态调整音频带宽和视频带宽。
59.在实际应用中,音频数据缓存至音频缓存区,视频数据缓存至视频缓存区,在终端中还设置有播放缓存区,播放缓存区中缓存用于播放的目标音视频数据,即从音频缓存区中获取目标帧的音频数据,从视频缓存区中获取目标帧的视频数据,并将目标帧对应的音频数据和视频数据合并生成音视频数据,将该音视频数据缓存至播放缓存区,播放缓存区中的目标音视频数据可以直接用于播放器播放。
60.获取目标音视频在播放缓存区中的播放缓存信息,具体的,播放缓存信息可以包括目标音视频的可播放时长、播放缓存区的播放缓存率等等。
61.视频缓存信息具体是指在视频缓存区中缓存的视频数据的信息,可以包括视频缓存时长、视频缓存区的视频缓存率等等。
62.在对目标音视频的视频数据和音频数据进行缓存的过程中,可以实时的获取播放缓存区中的播放缓存信息和视频缓存区中的视频缓存信息,根据这两个信息可以协助调整视频缓存区和音频缓存区的大小。
63.步骤108:根据所述音频缓存信息为所述目标音视频分配视频带宽和音频带宽。
64.在获得音频缓存信息之后,即可根据音频缓存信息的具体情况,来实时动态的调整音频带宽和视频带宽,其中,音频带宽具体是指为缓存音频数据而分配的带宽,视频带宽具体是指为缓存视频数据而分配的带宽,在实际应用中,终端的总带宽是固定的,音频带宽和视频带宽从总带宽中确定。
65.在本技术提供的实施例中,更进一步的,所述音频缓存信息包括音频缓存率,相应的,需要根据音频缓存率来为目标音视频分配视频带宽和音频带宽,具体的,根据所述音频缓存信息为所述目标音视频分配视频带宽和音频带宽,包括:
66.在所述音频缓存率小于等于预设音频阈值的情况下,调整视频带宽等于音频带宽,其中,所述预设音频阈值根据所述音频缓存区确定;
67.在所述音频缓存率大于所述预设音频阈值的情况下,调整视频带宽大于音频带宽。
68.其中,音频缓存率具体是指在音频缓存区中音频数据的缓存占比,例如,音频缓存区的大小为400k,缓存的音频数据有200k,则音频缓存率为50%;若音频缓存区的大小为500k,缓存的音频数据有450k,则音频缓存率为90%。
69.预设音频阈值具体是指预先规定好的在音频缓存区中的音频数据的阈值,若音频缓存区中的音频缓存率大于该预设音频阈值,则说明此时音频缓存区中的数据已经饱和,可以不再为其分配用于缓存音频数据的音频带宽;若音频缓存区中的音频缓存率小于或等于该预设音频阈值,则说明此时音频缓存区中还有空间用于缓存音频数据,则可以为音频数据和视频数据分配相同的带宽。具体的,该预设音频阈值可以设置较高,例如99%、99.5%等,预设音频阈值的具体设置,以实际应用为准。
70.在本技术提供的一具体实施方式中,以预设音频阈值为99%为例,获取音频缓存区的音频缓存率为60%,此时音频缓存率小于预设音频阈值,则可以确定该音频缓存区还未填满,此时,设置音频带宽与视频带宽相同。
71.在本技术提供的另一具体实施方式中,以预设音频阈值为99%为例,获取音频缓存区的音频缓存率为99.3%,此时音频缓存率大于预设音频阈值,可以确定该音频缓存区已经填满,将网络带宽更多的分配给视频带宽,以便于视频数据可以获得更多的网络流量,
加快视频数据的缓存。
72.通过监测音频缓存区中音频缓存信息(音频缓存率)的方式,可以动态的调整视频带宽和音频带宽,在音频缓存区中音频数据的音频缓存率足够的情况下,可以将更多的带宽资源分配给视频数据,提升视频的缓存效率,减少网络带宽的浪费。
73.需要注意的是,音频缓存区和视频缓存区此时都还不是最大值,缓存的音频数据和视频数据还不是该目标音视频的全部数据,因此,还需要对音频缓存区和视频缓存区的大小进行动态的调整。以使音频缓存区和视频缓存区可以缓存目标音视频的音频数据和视频数据。
74.步骤110:根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区。
75.其中,目标缓存区调整策略具体是指根据当前的播放缓存信息和视频缓存信息来确定的缓存区大小调整策略,该调整策略用于调整音频缓存区的大小和视频缓存区的大小。并根据目标缓存区调整策略来音频缓存区和视频缓存区进行调整。
76.在本技术提供的方法中,音频缓存区和视频缓存区并非根据时间而机械式的增长,而是根据当前的播放缓存信息和视频缓存信息来动态的进行自适应调整。
77.具体的,所述播放缓存信息包括缓存播放时长,所述视频缓存信息包括视频缓存率;
78.根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,包括:
79.在所述播放缓存信息满足预设播放条件的情况下,确定目标缓存区调整策略为最大调整策略;
80.在所述播放缓存信息未满足预设播放条件且所述视频缓存率大于等于第一预设视频阈值的情况下,确定目标缓存区调整策略为增加调整策略;
81.在所述播放缓存信息未满足预设播放条件、所述视频缓存率大于第二预设视频阈值且小于所述第一预设视频阈值的情况下,确定目标缓存区调整策略为维持调整策略;
82.在所述播放缓存信息未满足预设播放条件且所述视频缓存率小于等于所述第二预设视频阈值的情况下,确定目标缓存区调整策略为减少调整策略。
83.在实际应用中,播放缓存信息包括缓存播放时长、播放缓存率等;所述视频缓存信息包括视频缓存率,缓存播放时长具体是指播放缓存区中支持播放的目标音视频的播放时长,例如在播放缓存区中缓存有8分钟的目标音视频,则缓存播放时长为8分钟。播放缓存率表示播放缓存区中音视频的缓存比例。
84.视频缓存率与上述的音频缓存率相同,用于表示视频缓存区中视频数据的缓存占比。视频缓存率的计算方式参见上述实施例中音频缓存率的计算方式,在此不再赘述。
85.更进一步的,首先会根据播放缓存信息来对缓存区调整策略做初步判断,若播放缓存信息满足预设播放条件,则说明用户当前的网速较好,无需规划网络带宽,可以直接将视频缓存区和音频缓存区调整至最大。
86.具体的,预设播放条件可以从两个维度来进行确认,即缓存播放时长和播放缓存率,若缓存播放时长大于预设播放时长且播放缓存率大于预设缓存阈值,则可以确定播放缓存信息满足预设播放条件,例如,以预设播放时长为30秒,预设缓存阈值为50%为例,此时播放缓存信息为缓存播放时长2分钟、播放缓存率为60%,则说明此时的播放缓存信息满
足预设播放条件,可以确定目标缓存区调整策略为最大调整策略。
87.在本说明书提供的另一具体实施方式中,若播放缓存信息未满足预设播放条件,即缓存播放时长小于等于预设播放时长或播放缓存率小于等于预设缓存阈值,则说明此时用户的网络情况一般。又由于视频码率高于音频码率,因此,视频数据的消耗会更快,可以进一步通过视频缓存区中的视频缓存率来判断终端的当前网络情况。
88.具体的,若播放缓存信息未满足预设播放条件,且视频缓存率大于等于第一预设视频阈值,说明此时的网络状态良好,可以进一步增加视频缓存区和音频缓存区的大小,从而存储更多的视频数据和音频数据,即此时的目标缓存区调整策略为增加调整策略。
89.若播放缓存信息未满足预设播放条件,且视频缓存率大于第二预设视频阈值且小于所述第一预设视频阈值,说明此时网络状态较差,视频缓存区中的视频数据难以支持目标音视频的播放,需要尽可能的减少音频数据占用网络带宽而分配更多的网络带宽资源用于缓存视频数据,因此可以确定此时的目标缓存区调整策略为维持调整策略。
90.若播放缓存信息未满足预设播放条件,且视频缓存率小于等于所述第二预设视频阈值,说明用户对目标音视频做了seek操作(将音视频从当前位置快速拖动到给定位置并进行播放的过程)或网速突然降低。此时,需要降低音频缓存区的长度来限制音频数据与视频数据竞争网速,即确定此时的目标缓存区调整策略为减少调整策略。
91.在确定了目标缓存区调整策略之后,即可根据该目标缓存区调整策略调整目标音视频对应的音频缓存区和视频缓存区。下面用四种具体实施方式对每种缓存区调整策略对音频缓存区和视频缓存区的调整做进一步解释说明。
92.在本技术提供的一具体实施方式中,在所述目标缓存区调整策略为最大调整策略的情况下,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区,包括:
93.基于所述目标音视频确定音频缓存区最大值和视频缓存区最大值;
94.将所述音频缓存区调整至所述音频缓存区最大值,将所述视频缓存区调整至所述视频缓存区最大值。
95.音频缓存区最大值具体是指音频缓存区所需要最大的缓存值,视频缓存区最大值具体是指视频缓存区所需要最大的缓存值。在目标缓存区调整策略为最大调整策略的情况下,说明此时用户当前网速较好,直接将视频缓存区和音频缓存区调整到相应的最大值。
96.需要注意的是,同样由于音频码率和视频码率不同,可以基于码率和视频码率来确定音频缓存区最大值和视频缓存区最大值,避免不必要的网络带宽浪费,并保证音频缓存区中的音频数据与视频缓存区中的视频数据能支持相同的播放时长。具体的,基于所述目标音视频确定音频缓存区最大值和视频缓存区最大值,包括:
97.确定所述目标音视频的总播放时长、音频码率和视频码率;
98.根据所述总播放时长和所述音频码率确定音频缓存区最大值;
99.根据所述总播放时长和所述视频码率确定视频缓存区最大值。
100.其中,目标音视频的总播放时长具体是指该目标音视频可以支持播放的最大时长,再根据音频码率和视频码率即可分别计算出音频缓存区最大值和视频缓存区最大值,具体的,可以根据总播放时长和音频码率的乘积来确定音频缓存区最大值;根据总播放时长和视频码率的乘积来确定视频缓存区最大值。例如,总播放时长为500秒,音频码率为50k,视频码率为200k,则音频缓存区最大值为25000k,视频缓存区最大值为100000k。
101.在本技术提供的一具体实施方式中,在所述目标缓存区调整策略为增加调整策略的情况下,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区,包括:
102.确定音频缓存区增量信息和视频缓存区增量信息;
103.基于所述音频缓存区增量信息增加所述音频缓存区,基于所述视频缓存区增量信息增加所述视频缓存区。
104.在目标缓存区调整策略为增加调整策略的情况下,说明此时的网络状态良好,可以进一步增加视频缓存区和音频缓存区的容量,从而存储更多的视频数据和音频数据,具体的,可以确定音频缓存区增量信息和视频缓存区增量信息,其中,音频缓存区增量信息具体是指预先设定好的在增加调整策略的情况下音频缓存区的增加信息;视频缓存区增量信息具体是指预先设定好的在增加调整策略的情况下视频缓存区的增加信息。例如,确定音频缓存区增量信息和视频缓存区增量信息均为翻倍增长。此时音频缓存区为250k,视频缓存区为1000k,通过翻倍增长,将音频缓存区调整为500k,将视频缓存区调整为2000k。
105.在本技术提供的一具体实施方式中,在所述目标缓存区调整策略为维持调整策略的情况下,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区,包括:
106.保持所述音频缓存区和所述视频缓存区不变。
107.在目标缓存区调整策略为维持调整策略的情况下,说明此时网络状态较差,视频缓存区中的视频数据难以支持目标音视频的播放,此时保持音频缓存区和视频缓存区的大小不变。
108.在本技术提供的一具体实施方式中,在所述目标缓存区调整策略为减少调整策略的情况下,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区,包括:
109.确定音频缓存区减量信息和视频缓存区减量信息;
110.基于所述音频缓存区减量信息减少所述音频缓存区,基于所述视频缓存区减量信息减少所述视频缓存区。
111.在目标缓存区调整策略为减少调整策略的情况下,说明用户对目标音视频做了seek操作或网速突然降低,此时需要降低音频缓存区的长度来限制音频数据与视频数据竞争网速,具体的,确定音频缓存区减量信息和视频缓存区减量信息,音频缓存区减量信息具体是指预先设定好的在减少调整策略的情况下音频缓存区的减少信息,视频缓存区减量信息具体是指预先设定好的在减少调整策略的情况下视频缓存区的减少信息。
112.具体的,减量信息可以根据音频缓存区最大值与视频缓存区最大值按照预设的系数确定,预设的系数可以在0-1之前的小数确定,例如预设的系数为0.3,音频缓存区最大值为25000k,视频缓存区最大值为100000k,则可以确定音频缓存区减量信息为7500k,视频缓存区减量信息为30000k,在实际应用中,可以将音频缓存区调整值7500k,将视频缓存区调整值30000k。
113.本技术提供的网络带宽分配方法,确定音频缓存区和视频缓存区,其中,所述音频缓存区小于所述视频缓存区;将目标音视频的音频数据缓存至所述音频缓存区,将所述目标音视频的视频数据缓存至所述视频缓存区;获取所述音频缓存区的音频缓存信息,获取所述目标音视频对应的播放缓存信息和所述视频缓存区的视频缓存信息;根据所述音频缓存信息为所述目标音视频分配视频带宽和音频带宽;根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,基于所述目标缓存区调整策略调整所述音频缓存区和所
述视频缓存区,通过本方法,实现了设置较大的视频缓存区和较小的音频缓存区,并监测音频缓存区中的音频缓存信息,通过音频缓存信息来动态调整视频带宽和音频带宽的分配,使得音频可以快速缓存完成的情况下,分配更多的带宽给视频,提升视频的缓存效率,减少带宽浪费,从而减少音视频播放卡顿,提升用户使用体验。
114.其次,可以根据播放缓存信息和视频缓存信息来动态调整音频缓存区和视频缓存区的大小,通过调整音频缓存区和视频缓存区的大小也会影响音频缓存信息,从而进一步动态调整视频带宽和音频带宽,减少带宽浪费,从而减少音视频播放卡顿,提升用户使用体验。
115.参见图2,图2示出了本技术一实施例提供的音视频的起播增长策略示意图。获取用户终端的缓存状态,上层缓存可以理解为播放缓存区中的音视频数据,若上层缓存充足,则说明用户当前的网速较好,无需规划网络带宽,可以直接将视频缓存区和音频缓存区调整至最大。
116.若上层缓存不充足,则进一步判断视频缓存区中的视频数据是否充足,若视频缓存区中的视频数据充足,则将音频缓存区和视频缓存区翻倍增加。
117.参见图3,图3示出了本技术一实施例提供的音视频的减少调整策略示意图,如图3所示,获取用户终端的缓存状态,当用户有seek操作或网速突降的场景下,会导致上层缓存不足,且视频缓存区中的数据较少,则需要将音频缓存区和视频缓存区重置为一个较小值。提高音频缓存区的音频缓存率,从而提升视频带宽。
118.下述结合附图4,以本技术提供的网络带宽分配方法在某音视频的缓存应用为例,对所述网络带宽分配方法进行进一步说明。其中,图4示出了本技术一实施例提供的一种应用于某音视频的缓存的网络带宽分配方法的处理流程图,具体包括以下步骤:
119.步骤402:接收该音视频的缓存指令,为该音视频分配视频缓存区和音频缓存区,其中,视频缓存区大于音频缓存区。
120.步骤404:平均分配视频带宽和音频带宽,向视频缓存区缓存视频数据,向音频缓存区缓存音频数据。
121.步骤406:在音频缓存区中的音频数据存满之后,降低音频带宽,提高视频带宽,增加视频数据的缓存速度。
122.步骤408:当视频缓存区中的视频数据快满的时候,将音频缓存区翻倍,将视频缓存区翻倍。
123.步骤410:平均分配视频带宽和音频带宽,继续向视频缓存区缓存视频数据,向音频缓存区缓存音频数据。
124.步骤412:音频缓存区中的音频数据存满之后,降低音频带宽,提高视频带宽,增加视频数据的缓存速度。
125.步骤414:网速突然降低,音频缓存区中的音频数据和视频缓存区中的视频数据极具变小。
126.步骤416:将音频缓存区的大小减半,将视频缓存区的大小减半。
127.步骤418:等待网速提升,当视频缓存区中的视频数据快满的时候,再将音频缓存区翻倍,将视频缓存区翻倍。
128.与上述方法实施例相对应,本技术还提供了网络带宽分配装置实施例,图5示出了
本技术一实施例提供的一种网络带宽分配装置的结构示意图。如图5所示,该装置包括:
129.确定模块502,被配置为确定音频缓存区和视频缓存区,其中,所述音频缓存区小于所述视频缓存区;
130.缓存模块504,被配置为将所述目标音视频的音频数据缓存至所述音频缓存区,将所述目标音视频的视频数据缓存至所述视频缓存区;
131.获取模块506,被配置为获取所述音频缓存区的音频缓存信息,获取所述目标音视频对应的播放缓存信息和所述视频缓存区的视频缓存信息;
132.分配模块508,被配置为根据所述音频缓存信息为所述目标音视频分配视频带宽和音频带宽;
133.调整模块510,被配置为根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区。
134.可选的,所述音频缓存信息包括音频缓存率;
135.所述分配模块508,进一步被配置为:
136.在所述音频缓存率小于等于预设音频阈值的情况下,调整视频带宽等于音频带宽,其中,所述预设音频阈值根据所述音频缓存区确定;
137.在所述音频缓存率大于所述预设音频阈值的情况下,调整视频带宽大于音频带宽。
138.可选的,所述视频缓存信息包括视频缓存率;
139.所述调整模块510,进一步被配置为:
140.在所述播放缓存信息满足预设播放条件的情况下,确定目标缓存区调整策略为最大调整策略;
141.在所述播放缓存信息未满足预设播放条件且所述视频缓存率大于等于第一预设视频阈值的情况下,确定目标缓存区调整策略为增加调整策略;
142.在所述播放缓存信息未满足预设播放条件、所述视频缓存率大于第二预设视频阈值且小于所述第一预设视频阈值的情况下,确定目标缓存区调整策略为维持调整策略;
143.在所述播放缓存信息未满足预设播放条件且所述视频缓存率小于等于所述第二预设视频阈值的情况下,确定目标缓存区调整策略为减少调整策略。
144.可选的,在所述目标缓存区调整策略为最大调整策略的情况下,所述调整模块510,进一步被配置为:
145.基于所述目标音视频确定音频缓存区最大值和视频缓存区最大值;
146.将所述音频缓存区调整至所述音频缓存区最大值,将所述视频缓存区调整至所述视频缓存区最大值。
147.可选的,所述调整模块510,进一步被配置为:
148.确定所述目标音视频的总播放时长、音频码率和视频码率;
149.根据所述总播放时长和所述音频码率确定音频缓存区最大值;
150.根据所述总播放时长和所述视频码率确定视频缓存区最大值。
151.可选的,在所述目标缓存区调整策略为增加调整策略的情况下,所述调整模块510,进一步被配置为:
152.确定音频缓存区增量信息和视频缓存区增量信息;
153.基于所述音频缓存区增量信息增加所述音频缓存区,基于所述视频缓存区增量信息增加所述视频缓存区。
154.可选的,在所述目标缓存区调整策略为维持调整策略的情况下,所述调整模块510,进一步被配置为:
155.保持所述音频缓存区和所述视频缓存区不变。
156.可选的,在所述目标缓存区调整策略为减少调整策略的情况下,所述调整模块510,进一步被配置为:
157.确定音频缓存区减量信息和视频缓存区减量信息;
158.基于所述音频缓存区减量信息减少所述音频缓存区,基于所述视频缓存区减量信息减少所述视频缓存区。
159.可选的,所述确定模块502,进一步被配置为:
160.确定所述目标音视频的初始播放时长、音频码率和视频码率;
161.基于所述初始播放时长和所述音频码率确定初始音频缓存区;
162.基于所述初始播放时长和所述视频码率确定初始视频缓存区。
163.本技术提供的网络带宽分配装置,确定音频缓存区和视频缓存区,其中,所述音频缓存区小于所述视频缓存区;将目标音视频的音频数据缓存至所述音频缓存区,将所述目标音视频的视频数据缓存至所述视频缓存区;获取所述音频缓存区的音频缓存信息,获取所述目标音视频对应的播放缓存信息和所述视频缓存区的视频缓存信息;根据所述音频缓存信息为所述目标音视频分配视频带宽和音频带宽;根据所述播放缓存信息和所述视频缓存信息确定目标缓存区调整策略,基于所述目标缓存区调整策略调整所述音频缓存区和所述视频缓存区,通过本装置,实现了设置较大的视频缓存区和较小的音频缓存区,并监测音频缓存区中的音频缓存信息,通过音频缓存信息来动态调整视频带宽和音频带宽的分配,使得音频可以快速缓存完成的情况下,分配更多的带宽给视频,提升视频的缓存效率,减少带宽浪费,从而减少音视频播放卡顿,提升用户使用体验。
164.其次,可以根据播放缓存信息和视频缓存信息来动态调整音频缓存区和视频缓存区的大小,通过调整音频缓存区和视频缓存区的大小也会影响音频缓存信息,从而进一步动态调整视频带宽和音频带宽,减少带宽浪费,从而减少音视频播放卡顿,提升用户使用体验。
165.上述为本实施例的一种网络带宽分配装置的示意性方案。需要说明的是,该网络带宽分配装置的技术方案与上述的网络带宽分配方法的技术方案属于同一构思,网络带宽分配装置的技术方案未详细描述的细节内容,均可以参见上述网络带宽分配方法的技术方案的描述。
166.图6示出了根据本技术一实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
167.计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域
网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
168.在本技术的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
169.计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
170.其中,处理器620执行所述计算机指令时实现所述的网络带宽分配方法的步骤。
171.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的网络带宽分配方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述网络带宽分配方法的技术方案的描述。
172.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述网络带宽分配方法的步骤。
173.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的网络带宽分配方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述网络带宽分配方法的技术方案的描述。
174.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
175.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
176.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
177.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
178.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1