码率的调整方法和装置与流程

文档序号:12279767阅读:983来源:国知局
码率的调整方法和装置与流程

本发明涉及多媒体领域,具体而言,涉及一种码率的调整方法和装置。



背景技术:

目前,在视频直播的过程中,服务器会按照预定的码率传输视频直播数据,也即,现有技术中,不会根据当前时刻的网络传输速度调整视频直播数据的播放码率。

此时,如果网络的传输速度较快,那么就会出现由于未采用更大的码率进行视频数据的播放而导致浪费上行速度的现象。如果网络的传输速度较慢时,又会出现未能及时调整视频播放码率而导致的视频在直播过程中播放不清晰的现象。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种码率的调整方法和装置,以至少解决现有技术中对直播数据进行码率调整时,调整精度较低的技术问题。

根据本发明实施例的一个方面,提供了一种码率的调整方法,包括:获取第一网络传输速度和第二网络传输速度,其中,所述第一网络传输速度为服务器传输直播数据的当前视频帧时单位时间内的数据发送量,所述第二网络传输速度为所述服务器在所述单位时间内所允许的最大数据发送量;确定与所述当前视频帧的码率所处的目标码率区间对应的目标预设码率;根据所述目标预设码率、所述第一网络传输速度和所述第二网络传输速度调整所述直播数据的目标视频帧的码率,其中,所述目标视频帧为所述当前视频帧的下一视频帧。

根据本发明实施例的另一方面,还提供了一种码率的调整装置,包括:获取单元,用于获取第一网络传输速度和第二网络传输速度,其中,所述第一网络传输速度为服务器传输直播数据的当前视频帧时单位时间内的数据发送量,所述第二网络传输速度为所述服务器在所述单位时间内所允许的最大数据发送量;确定单元,用于确定与所述当前视频帧的码率所处的目标码率区间对应的目标预设码率;调整单元,用于根据所述目标预设码率、所述第一网络传输速度和所述第二网络传输速度调整所述直播数据的目标视频帧的码率,其中,所述目标视频帧为所述当前视频帧的下一视频帧。

在本发明实施例中,采用获取第一网络传输速度和第二网络传输速度,其中,所述第一网络传输速度为服务器传输直播数据的当前视频帧时单位时间内的数据发送量,所述第二网络传输速度为所述服务器在所述单位时间内所允许的最大数据发送量;确定与所述当前视频帧的码率所处的目标码率区间对应的目标预设码率;根据所述目标预设码率、所述第一网络传输速度和所述第二网络传输速度调整所述直播数据的目标视频帧的码率,其中,所述目标视频帧为所述当前视频帧的下一视频帧的方式,在获取到第一网络传输速度和第二网络传输速度之后,以及确定与当前视频帧的码率所处的目标码流区间对应的目标预设码率之后,根据获取到的第一网络传输速度、第二网络传输速度和目标预设码率调整当前视频帧的下一视频帧的码率,达到了根据网络传输速度调整视频码率的目的,从而实现了在直播的过程中,提高了直播数据的码率调整精度的技术效果,进而解决了现有技术中对直播数据进行码率调整时,调整精度较低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种码率的调整的示意图;

图2是根据本发明实施例的码率的调整方法的流程图;

图3是根据本发明实施例的码率的调整装置的示意图;以及

图4是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请涉及到的专业术语的解释:

码率:是指每秒传送的比特(bit)数,单位为bps(Bit Per Second),其中,比特率越高,传送数据速度越快。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。

实施例1

根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本发明实施例,提供了一种码率的调整方法。

可选地,在本实施例中,上述码率的调整方法可以应用于如图1所示的终端102和服务器104所构成的硬件环境中。如图1所示,终端102通过网络与服务器104进行连接,上述网络包括但不限于:移动通信网络、广域网、城域网或局域网,终端102可以是手机终端,也可以是PC终端、笔记本终端或平板电脑终端。

图1中示出的硬件环境系统的主要工作原理是:

在现有技术中,当在终端102中播放直播数据时,直播数据的播放码率不会跟随网络传输速度的改变而发生改变。因此,当网速较快时,如果没有采用更大的码率对直播数据进行播放,那么就会造成上行速度的浪费;当网速较慢时,如果没有采用更小的码率对直播数据进行播放,那么就会导致直播过程中播放不清晰。

针对上述问题,在本发明实施例提供的码率的调整方法中,当在终端102中播放直播数据时,终端102可以实时获取服务器104在传输当前视频帧时在单位时间内的数据发送量,即第一网络传输速度,终端102还可以实时获取服务器104在单位时间内所允许的最大数据发送量,即第二网络传输速度。终端102还可以确定当前视频帧的码率所处的码率区间对应的目标预设码率。接下来,终端102就可以根据获取到的第一网络传输速度、第二网络传输速度和目标预设码率调整当前视频帧的下一视频帧的码率。

例如,用户在腾讯视频客户端中观看体育赛事的直播。在直播的过程中,播放该体育赛事的终端可以实时获取第一网络传输速度和第二网络传输速度,并实时确定播放的体育赛事的当前视频帧的码率所处的码率区间对应的目标预设码率。最后,终端102就可以根据获取到的第一网络传输速度和第二网络传输速度调整当前视频帧的码率,得到当前视频帧的下一视频帧的码率,进而,通过得到的码率播放下一视频帧。

图2是根据本发明实施例的码率的调整方法的流程图,以下结合图2对本发明实施例所提供的码率的调整方法做具体介绍,如图2所示,该码率的调整方法主要包括如下步骤S202至步骤S206:

步骤S202,获取第一网络传输速度和第二网络传输速度,其中,第一网络传输速度为服务器传输直播数据的当前视频帧时单位时间内的数据发送量,第二网络传输速度为服务器在单位时间内所允许的最大数据发送量。

在本发明实施例中,可以通过终端获取第一网络传输速度和第二网络传输速度,其中,该终端为播放直播数据的终端;直播数据可以为通过客户端进行直播的视频,例如,直播的体育赛事,直播的电视剧,以及即时通信软件中的直播数据。

由于上述第一网络传输速度为服务器传输当前视频帧时单位时间内的数据发送量,第二网络传输速度为服务器在相同的单位时间内所允许发送的最大数据量。因此,通过比较第一网络传输速度和第二网络传输速度就能够知晓网络传输速度是否发生了变化,以及知晓网络传输速度是增大了,还是减小了。如果网速增大,那么就可以适当地增加下一帧视频的播放码率;如果网速减小,那么就可以适当地减小下一帧视频的播放码率,以实现根据网络传输速度调整下一帧视频的码率。

步骤S204,确定与当前视频帧的码率所处的目标码率区间对应的目标预设码率。

在本发明实施例中,终端可以获取当前视频帧的码率,在获取到码率之后,就可以确定该码率所处的目标码率区间。在确定目标码率区间之后,就可以进一步确定出该目标码率区间对应的目标预设码率。

步骤S206,根据目标预设码率、第一网络传输速度和第二网络传输速度调整直播数据的目标视频帧的码率,其中,目标视频帧为当前视频帧的下一视频帧。

通过上述步骤S202中的描述可知,终端在获取到第一网络传输速度和第二网络传输速度之后,就可以通过比较第二网络传输速度和第二网络传输速度的大小来调整目标预设码率,并将调整之后的目标预设码率作为目标视频帧的码率,并按照调整之后的目标预设码率播放目标视频帧。

在本发明实施例中,在获取到第一网络传输速度和第二网络传输速度之后,以及确定与当前视频帧的码率所处的目标码流区间对应的目标预设码率之后,根据获取到的第一网络传输速度、第二网络传输速度和目标预设码率调整当前视频帧的下一视频帧的码率,达到了根据网络传输速度调整视频码率的目的,从而实现了在直播的过程中,提高了直播数据的码率调整精度的技术效果,进而解决了现有技术中对直播数据进行码率调整时,调整精度较低的技术问题。

在本发明的一个可选实施方式中,在确定直播数据的当前视频帧的码率所处的目标码率区间之前,还可以配置多个码率区间与多个预设码率之间的对应关系,其中,每个码率区间对应一个预设码率,多个码率区间包括目标码率区间,多个预设码率包括目标预设码率,码率区间的边界值越大,对应的预设码率越大。

在本发明实施例中,可以预先配置多个码率区间,例如,预先配置多个连续的码率区间,以及为每个码率区间配置预设码率,其中,为每个码率区间配置的预设码率不相同。例如,多个码率区间为:[a,b]、[b,c]和[c,d],那么就可以为上述码率区间[a,b]、[b,c]和[c,d]中的每个码率区间配置一个预设码率,如,为码率区间[a,b]配置的预设码率为A1,为码率区间[b,c]配置的预设码率为A2,为码率区间[c,d]配置的预设码率为A3。

如果上述a<b<c,那么A1<A2<A3。也就是说,当码率区间[a,b]、[b,c]和[c,d]的边界值逐渐增大时,每个码率区间对应的预设码率也逐渐增大,即码率区间的边界值越大,对应的预设码率越大。相反地,如果码率区间的边界值越小,对应的预设码率也就越小。

在配置多个码率区间与多个预设码率之间的对应关系之后,就可以在播放直播数据时,获取第一网络传输速度和第二网络传输速度,以及在预先配置的多个码率区间确定目标码率区间,进而,确定目标码率区间对应的目标预设码率。接下来,就可以根据第一网络传输速度、第二网络传输速度和目标预设码率调整目标视频帧的码率。

在本发明的另一可选实施方式中,根据目标预设码率、第一网络传输速度和第二网络传输速度调整直播数据的目标视频帧的码率,具体为:比较第一网络传输速度与第二网络传输速度的大小;其中,若比较出第一网络传输速度小于第二网络传输速度,则将当前视频帧的码率增大预设码率,得到目标视频帧的码率,若比较出第一网络传输速度大于第二网络传输速度,则将当前视频帧的码率减少预设码率,得到目标视频帧的码率。

在上述步骤S202和步骤S204中获取到目标预设码率、第一网络传输速度和第二网络传输速度之后,则比较第一网络传输速度和第二网路传输的大小,也即,比较服务器在单位时间内的数据发送量和允许的最大数据发送量,其中,单位时间为发送当前视频帧时的单位时间。

如果比较出服务器在单位时间内的数据发送量小于允许的最大数据发送量,那么表明网络的传输速度增大了,此时可以将当前视频帧的码率增大目标预设码率,并将增大之后的当前视频帧的码率作为下一视频帧的码率。例如,当前视频帧的码率为VB,目标预设码率为384,那么将VB+384作为下一视频帧的码率。

如果比较出服务器在单位时间内的数据发送量大于允许的最大数据发送量,那么表明网络的传输速度减小了,此时可以将当前视频帧的码率减小目标预设码率,并将减小之后的当前视频帧的码率作为下一视频帧的码率。例如,当前视频帧的码率为VB,目标预设码率为384,那么将VB-384作为下一视频帧的码率。

在本发明的另一个可选实施方式中,在确定与当前视频帧的码率所处的目标码率区间对应的目标预设码率之后,还可以判断当前视频帧的码率所处的目标码率区间是否为最小码率区间,其中,最小码率区间为预先配置的多个码率区间中边界值最小的码率区间,多个码率区间包括目标码率区间,其中,如果判断出目标码率区间为最小码率区间,则指示服务器停止传输直播数据的视频数据,其中,服务器用于传输直播数据。

通过上述描述可知,如果预先配置的多个码率区间为:[a,b]、[b,c]和[c,d],并且a、b和c满足下述关系:a<b<c,那么即可确定码率区间[a,b]即为预先配置的多个码率区间中的最小码率区间,其中,最小码率区间的边界值在多个码率区间的多个边界值中最小。

如果判断出当前视频帧的码率处于最小码率区间,则表明当前视频帧的传送速度最低。此时,无需再增大当前视频帧的码率或者减小当前视频帧的码率,终端可以向服务器发送指示信息,用于指示服务器停止传输直播数据中的视频数据,但是可以继续传输直播数据中的音频数据。此时,就可以在终端的显示器中显示静态画面,同时播放声音。

假设,多个码率区间为:(-∞,32]、[32,128]、[128,512]、[512,1152]和[1152,+∞],其中,码率区间(-∞,32]即为多个码率区间的最小码率区间;当前视频帧的码率为20kbps。通过确定可知,当前视频帧的码率所处的目标码率区间为码率区间(-∞,32],此时,终端可以向服务器发送指示信息,以指示服务器停止向终端传输直播数据的视频数据,但是继续传输直播数据的音频数据。

在本发明实施例中,获取第一网络传输速度包括:获取服务器发送的用于指示第一网络传输速度的第一指示信息;或者,根据单位时间内从服务器接收到的数据接收量确定第一网络传输速度。获取第二网络传输速度包括:获取服务器发送的用于指示第二网络传输速度的第二指示信息。

具体地,终端可以通过获取服务器发送的第一指示信息来获取第一网络传输速度;终端也可以通过获取发送的第二指示信息来获取第二网络传输速度。进一步地,终端还可以确定单位时间内从服务器接收到的数据量,进而,根据接收到的数据量确定第一网络传输速度。

下面将以具体实施例对本发明提供的码率的调整方法进行说明。

假设,终端在播放直播数据时,当前视频帧的码率为vB1,多个码率区间为(-∞,32]、[32,128]、[128,512]、[512,1152]和[1152,+∞),并且,上述多个码率区间的预设码率分别为:32、64、128和384;当前视频帧的下一视频帧的码率为vB2。第一网络传输速度为Q1,第二网络传输速度为Q2根据以下算法调整码率,其中,第一网络传输速度又可以称为当前网络的发送量,第二网络传输速度又可以称为当前网络的承载量Q2。

如果当前视频帧的码率vB1大于1152kbps,则确定当前视频帧的目标码率区间为[1152,+∞)。此时比较Q2和Q1的大小,其中,当比较出Q2大于Q1时,表明网络传输速度增大,此时,将vB1增加预设码率384,即vB1+384,得到vB2,即vB2=vB1+384,其中,vB2即为需要调整的下一视频帧的码率;当比较出Q2小于Q1时,表明网络传输速度减小,此时,将vB1减小预设码率384,即vB1-384,得到vB2,即vB2=vB1-384,其中,vB2即为需要调整的下一视频帧的码率。

如果当前视频帧的码率vB1大于512kbps且小于1152kbps,则确定当前视频帧的目标码率区间为[512,1152]。此时比较Q2和Q1的大小,其中,当比较出Q2大于Q1时,表明网络传输速度增大,此时,将vB1增加预设码率128,即vB1+128,得到vB2,即vB2=vB1+128,其中,vB2即为需要调整的下一视频帧的码率;当比较出Q2小于Q1时,表明网络传输速度减小,此时,将vB1减小预设码率128,即vB1-128,得到vB2,即vB2=vB1-128,其中,vB2即为需要调整的下一视频帧的码率。

如果当前视频帧的码率vB1大于128kbps且小于512kbps,则确定当前视频帧的目标码率区间为[128,512]。此时比较Q2和Q1的大小,其中,当比较出Q2大于Q1时,表明网络传输速度增大,此时,将vB1增加预设码率64,即vB1+64,得到vB2,即vB2=vB1+64,其中,vB2即为需要调整的下一视频帧的码率;当比较出Q2小于Q1时,表明网络传输速度减小,此时,将vB1减小预设码率64,即vB1-64,得到vB2,即vB2=vB1-64,其中,vB2即为需要调整的下一视频帧的码率。

如果当前视频帧的码率vB1大于32kbps且小于128kbps,则确定当前视频帧的目标码率区间为[32,128]。此时比较Q2和Q1的大小,其中,当比较出Q2大于Q1时,表明网络传输速度增大,此时,将vB1增加预设码率32,即vB1+32,得到vB2,即vB2=vB1+32,其中,vB2即为需要调整的下一视频帧的码率;当比较出Q2小于Q1时,表明网络传输速度减小,此时,将vB1减小预设码率32,即vB1-32,得到vB2,即vB2=vB1-32,其中,vB2即为需要调整的下一视频帧的码率。

如果当前视频帧的码率vB1小于32kbps,则确定当前视频帧的目标码率区间为(-∞,32],此时,则不再传输视频数据,转而只传输音频数据,这时候可以在播放端显示静态画面的同时播放音声。

通过上述描述可知,在本发明实施例中,根据结合获取到的当前视频帧的码率、第一网络传输速度和第二网络传输速度来调整播放的直播数据的分辨率的方法,达到了根据已发送数据得到当前网速反馈,然后,根据网速的不同不断地调整直播中的视频的码率达到了逐步调整码率的目的。其中,若网速整体较快,则调整的码率的粒度相应较大,若网速整体较慢,则调整的码率的粒度相应较小;这就使得视频播放过程中的数据的传输量逼近当前网络的承载量,即不浪费上行带宽,又能收到高码率数据。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述码率的调整方法的码率的调整装置,该码率的调整装置主要用于执行本发明实施例上述内容所提供的码率的调整方法,以下对本发明实施例所提供的码率的调整装置做具体介绍:

图3是根据本发明实施例的码率的调整装置的示意图,如图3所示,该码率的调整装置主要包括获取单元301、确定单元303和调整单元305,其中:

获取单元,用于获取第一网络传输速度和第二网络传输速度,其中,第一网络传输速度为服务器传输直播数据的当前视频帧时单位时间内的数据发送量,第二网络传输速度为服务器在单位时间内所允许的最大数据发送量;

在本发明实施例中,可以通过终端获取第一网络传输速度和第二网络传输速度,其中,该终端为播放直播数据的终端;直播数据可以为通过客户端进行直播的视频,例如,直播的体育赛事,直播的电视剧,以及即时通信软件中的直播数据。

由于上述第一网络传输速度为服务器传输当前视频帧时单位时间内的数据发送量,第二网络传输速度为服务器在相同的单位时间内所允许发送的最大数据量。因此,通过比较第一网络传输速度和第二网络传输速度就能够知晓网络传输速度是否发生了变化,以及知晓网络传输速度是增大了,还是减小了。如果网速增大,那么就可以适当地增加下一帧视频的播放码率;如果网速减小,那么就可以适当地减小下一帧视频的播放码率,以实现根据网络传输速度调整下一帧视频的码率。

确定单元,用于确定与当前视频帧的码率所处的目标码率区间对应的目标预设码率;

在本发明实施例中,终端可以获取当前视频帧的码率,在获取到码率之后,就可以确定该码率所处的目标码率区间。在确定目标码率区间之后,就可以进一步确定出该目标码率区间对应的目标预设码率。

调整单元,用于根据目标预设码率、第一网络传输速度和第二网络传输速度调整直播数据的目标视频帧的码率,其中,目标视频帧为当前视频帧的下一视频帧。

通过上述获取单元中的描述可知,终端在获取到第一网络传输速度和第二网络传输速度之后,就可以通过比较第二网络传输速度和第二网络传输速度的大小来调整目标预设码率,并将调整之后的目标预设码率作为目标视频帧的码率,并按照调整之后的目标预设码率播放目标视频帧。

在本发明实施例中,在获取到第一网络传输速度和第二网络传输速度之后,以及确定与当前视频帧的码率所处的目标码流区间对应的目标预设码率之后,根据获取到的第一网络传输速度、第二网络传输速度和目标预设码率调整当前视频帧的下一视频帧的码率,达到了根据网络传输速度调整视频码率的目的,从而实现了在直播的过程中,提高了直播数据的码率调整精度的技术效果,进而解决了现有技术中对直播数据进行码率调整时,调整精度较低的技术问题。

可选地,装置还包括:配置单元,用于在确定直播数据的当前视频帧的码率所处的目标码率区间之前,配置多个码率区间与多个预设码率之间的对应关系,其中,每个码率区间对应一个预设码率,多个码率区间包括目标码率区间,多个预设码率包括目标预设码率,码率区间的边界值越大,对应的预设码率越大。

在本发明实施例中,可以预先配置多个码率区间,例如,预先配置多个连续的码率区间,以及为每个码率区间配置预设码率,其中,为每个码率区间配置的预设码率不相同。例如,多个码率区间为:[a,b]、[b,c]和[c,d],那么就可以为上述码率区间[a,b]、[b,c]和[c,d]中的每个码率区间配置一个预设码率,如,为码率区间[a,b]配置的预设码率为A1,为码率区间[b,c]配置的预设码率为A2,为码率区间[c,d]配置的预设码率为A3。

如果上述a<b<c,那么A1<A2<A3。也就是说,当码率区间[a,b]、[b,c]和[c,d]的边界值逐渐增大时,每个码率区间对应的预设码率也逐渐增大,即码率区间的边界值越大,对应的预设码率越大。相反地,如果码率区间的边界值越小,对应的预设码率也就越小。

在配置多个码率区间与多个预设码率之间的对应关系之后,就可以在播放直播数据时,获取第一网络传输速度和第二网络传输速度,以及在预先配置的多个码率区间确定目标码率区间,进而,确定目标码率区间对应的目标预设码率。接下来,就可以根据第一网络传输速度、第二网络传输速度和目标预设码率调整目标视频帧的码率。

可选地,调整单元包括:比较模块,用于比较第一网络传输速度与第二网络传输速度的大小;第一调整模块,用于在比较出第一网络传输速度小于第二网络传输速度的情况下,将当前视频帧的码率增大目标预设码率,得到目标视频帧的码率;第二调整模块,用于在比较出第一网络传输速度大于第二网络传输速度的情况下,将当前视频帧的码率减少目标预设码率,得到目标视频帧的码率。

在上述步骤S202和步骤S204中获取到目标预设码率、第一网络传输速度和第二网络传输速度之后,则比较第一网络传输速度和第二网路传输的大小,也即,比较服务器在单位时间内的数据发送量和允许的最大数据发送量,其中,单位时间为发送当前视频帧时的单位时间。

如果比较出服务器在单位时间内的数据发送量小于允许的最大数据发送量,那么表明网络的传输速度增大了,此时可以将当前视频帧的码率增大目标预设码率,并将增大之后的当前视频帧的码率作为下一视频帧的码率。例如,当前视频帧的码率为VB,目标预设码率为384,那么将VB+384作为下一视频帧的码率。

如果比较出服务器在单位时间内的数据发送量大于允许的最大数据发送量,那么表明网络的传输速度减小了,此时可以将当前视频帧的码率减小目标预设码率,并将减小之后的当前视频帧的码率作为下一视频帧的码率。例如,当前视频帧的码率为VB,目标预设码率为384,那么将VB-384作为下一视频帧的码率。

可选地,装置还包括:判断单元,用于在确定与当前视频帧的码率所处的目标码率区间对应的目标预设码率之后,判断当前视频帧的码率所处的目标码率区间是否为最小码率区间,其中,最小码率区间为预先配置的多个码率区间中边界值最小的码率区间,多个码率区间包括目标码率区间;指示模块,用于在判断出目标码率区间为最小码率区间的情况下,指示服务器停止传输直播数据的视频数据,其中,服务器用于传输直播数据。

在本发明的另一个可选实施方式中,在确定与当前视频帧的码率所处的目标码率区间对应的目标预设码率之后,还可以判断当前视频帧的码率所处的目标码率区间是否为最小码率区间,其中,最小码率区间为预先配置的多个码率区间中边界值最小的码率区间,多个码率区间包括目标码率区间,其中,如果判断出目标码率区间为最小码率区间,则指示服务器停止传输直播数据的视频数据,其中,服务器用于传输直播数据。

通过上述描述可知,如果预先配置的多个码率区间为:[a,b]、[b,c]和[c,d],并且a、b和c满足下述关系:a<b<c,那么即可确定码率区间[a,b]即为预先配置的多个码率区间中的最小码率区间,其中,最小码率区间的边界值在多个码率区间的多个边界值中最小。

如果判断出当前视频帧的码率处于最小码率区间,则表明当前视频帧的传送速度最低。此时,无需再增大当前视频帧的码率或者减小当前视频帧的码率,终端可以向服务器发送指示信息,用于指示服务器停止传输直播数据中的视频数据,但是可以继续传输直播数据中的音频数据。此时,就可以在终端的显示器中显示静态画面,同时播放声音。

假设,多个码率区间为:(-∞,32]、[32,128]、[128,512]、[512,1152]和[1152,+∞],其中,码率区间(-∞,32]即为多个码率区间的最小码率区间;当前视频帧的码率为20kbps。通过确定可知,当前视频帧的码率所处的目标码率区间为码率区间(-∞,32],此时,终端可以向服务器发送指示信息,以指示服务器停止向终端传输直播数据的视频数据,但是继续传输直播数据的音频数据。

可选地,获取单元包括:第一获取模块,用于获取服务器发送的用于指示第一网络传输速度的第一指示信息;或者,第二获取模块,用于根据单位时间内从服务器接收到的数据接收量获取第一网络传输速度;获取单元包括:第三获取模块,用于获取服务器发送的用于指示第二网络传输速度的第二指示信息。

具体地,终端可以通过获取服务器发送的第一指示信息来获取第一网络传输速度;终端也可以通过获取发送的第二指示信息来获取第二网络传输速度。进一步地,终端还可以确定单位时间内从服务器接收到的数据量,进而,根据接收到的数据量确定第一网络传输速度。

实施例3

根据本发明实施例,还提供了一种用于实施上述信息的码率的调整方法的终端。

图4是根据本发明实施例的一种终端的结构框图,如图所示,该终端可以包括:一个或多个(图中仅示出一个)处理器401、存储器403、以及传输装置405,如图4所示,该终端还可以包括输入输出设备407。

其中,存储器403可用于存储软件程序以及模块,如本发明实施例中的弹幕的显示方法和装置对应的程序指令/模块,处理器401通过运行存储在存储器403内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的码率的调整方法。存储器403可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器403可进一步包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置405用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置405包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置405为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器403用于存储应用程序。

处理器401可以通过传输装置405调用存储器403存储的应用程序,以执行下述步骤:

获取第一网络传输速度和第二网络传输速度,其中,所述第一网络传输速度为服务器传输直播数据的当前视频帧时单位时间内的数据发送量,所述第二网络传输速度为所述服务器在所述单位时间内所允许的最大数据发送量;确定与所述当前视频帧的码率所处的目标码率区间对应的目标预设码率;根据所述目标预设码率、所述第一网络传输速度和所述第二网络传输速度调整所述直播数据的目标视频帧的码率,其中,所述目标视频帧为所述当前视频帧的下一视频帧。

处理器401还用于执行下述步骤:比较所述第一网络传输速度与所述第二网络传输速度的大小;若比较出所述第一网络传输速度小于所述第二网络传输速度,则将所述当前视频帧的码率增大所述目标预设码率,得到所述目标视频帧的码率;若比较出所述第一网络传输速度大于所述第二网络传输速度,则将所述当前视频帧的码率减少所述目标预设码率,得到所述目标视频帧的码率。

处理器401还用于执行下述步骤:在确定与所述当前视频帧的码率所处的目标码率区间对应的目标预设码率之后,判断所述当前视频帧的码率所处的目标码率区间是否为最小码率区间,其中,所述最小码率区间为预先配置的多个码率区间中边界值最小的码率区间,所述多个码率区间包括所述目标码率区间;如果判断出所述目标码率区间为所述最小码率区间,则指示服务器停止传输所述直播数据的视频数据,其中,所述服务器用于传输所述直播数据。

处理器401还用于执行下述步骤:获取服务器发送的用于指示所述第一网络传输速度的第一指示信息;或者,根据所述单位时间内从所述服务器接收到的数据接收量确定所述第一网络传输速度;获取所述服务器发送的用于指示所述第二网络传输速度的第二指示信息。

处理器401还用于执行下述步骤:在确定所述直播数据的所述当前视频帧的码率所处的目标码率区间之前,配置多个码率区间与多个预设码率之间的对应关系,其中,每个所述码率区间对应一个所述预设码率,所述多个码率区间包括所述目标码率区间,所述多个预设码率包括所述目标预设码率,所述码率区间的边界值越大,对应的所述预设码率越大。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的码率的调整方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

S1,获取第一网络传输速度和第二网络传输速度,其中,所述第一网络传输速度为服务器传输直播数据的当前视频帧时单位时间内的数据发送量,所述第二网络传输速度为所述服务器在所述单位时间内所允许的最大数据发送量;

S2,确定与所述当前视频帧的码率所处的目标码率区间对应的目标预设码率;

S3,根据所述目标预设码率、所述第一网络传输速度和所述第二网络传输速度调整所述直播数据的目标视频帧的码率,其中,所述目标视频帧为所述当前视频帧的下一视频帧。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1