一种直播视频数据编码比特率的调整方法和装置与流程

文档序号:14197191阅读:515来源:国知局
一种直播视频数据编码比特率的调整方法和装置与流程

本发明涉及网络技术领域,特别是涉及一种直播视频数据编码比特率的调整方法和装置。



背景技术:

随着网络技术的发展,网络直播技术也日渐成熟,网络直播可以同一时间透过网络系统在不同的交流平台观看视频,一个网络直播通常面对线上数万人、几十万人甚至上百万人,并且实时与线上观众交流互动。

网络直播技术的成熟,衍生出了秀场直播,秀场直播由主播进行主持,主播需要进行直播,必须配置高清摄像头、声卡、监听耳机、麦克风等。主播把音频或视频信号经压缩编码后,传送到流媒体服务器上,主播的粉丝通过客户端观看主播的视频,实时与主播交流互动。

但是由于网络存在不稳定的因素,例如运营商的上行带宽分配不合理,带宽使用高峰期等因素,导致主播在直播过程中,有可能遇到网络拥堵的情况,在主播端,把音频和视频数据压缩编码后,传送到流媒体服务器过程中会出现延迟、甚至丢包的情况,主播的粉丝在客户端观看时,相应的出现画面停滞,甚至跳跃的情况,无法正常流畅的观看主播的直播视频,以及与主播的实时交互,降低了用户的体验。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种直播视频数据编码比特率的调整方法和装置。

为了解决上述问题,本发明实施例公开了一种直播视频数据编码比特率的调整方法,包括:

在直播视频数据的直播过程中,按照预设周期获取直播视频数据的编码平均比特率和发送平均比特率;

根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值;

根据所述网络带宽分值,调整所述直播视频数据的编码比特率。

优选地,所述根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值的步骤包括:

获取当前时间和已记录的上一次调整时间;

采用所述上一次调整时间和预设调整时间计算出调整时间段;

判断所述当前时间是否在所述调整时间段内;

若否,则根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值。

优选地,所述根据所述网络带宽分值,调整所述直播视频数据的编码比特率的步骤包括:

判断所述网络带宽分值是否大于预设数值;

若是,则提升所述直播视频数据的编码比特率;

若否,则降低所述直播视频数据的编码比特率。

优选地,所述提升所述直播视频数据的编码比特率的步骤包括:

获取预设时长内的多个网络带宽分值;

当所述多个网络带宽分值都大于预设数值时,提升所述直播视频数据的编码比特率。

优选地,所述降低所述直播视频数据的编码比特率的步骤包括:

按照预置规则统计出连续的多个网络带宽分值;

计算所述连续的多个网络带宽分值的和值;

当所述和值的绝对值大于预设阈值时,降低所述直播视频数据的编码比特率。

优选地,在所述根据所述网络带宽分值,调整所述直播视频数据的编码比特率的步骤之后,还包括:

统计调整所述直播视频数据的编码比特率的次数;

当所述次数达到预设次数时,停止调整所述直播视频数据的编码比特率。

优选地,所述统计调整所述直播视频数据的编码比特率的次数的步骤为:

统计交替提升和降低所述直播视频数据的编码比特率的次数。

优选地,在所述根据网络带宽分值,调整所述直播视频数据的编码比特率的步骤之后,还包括:

记录调整所述直播视频数据的编码比特率的调整时间。

本发明实施例还公开了一种直播视频数据编码比特率的调整装置,包括:

平均比特率获取模块,用于在直播视频数据的直播过程中,按照预设周期获取直播视频数据的编码平均比特率和发送平均比特率;

网络带宽分值计算模块,用于根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值;

编码比特率调整模块,用于根据所述网络带宽分值,调整所述直播视频数据的编码比特率。

优选地,所述网络带宽分值计算模块包括:

时间获取子模块,用于获取当前时间和已记录的上一次调整时间;

调整时间段计算模块,用于采用所述上一次调整时间和预设调整时间计算出调整时间段;

时间判断子模块,用于判断所述当前时间是否在所述调整时间段内;

网络带宽分值计算子模块,用于根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值。

优选地,所述编码比特率调整模块包括:

网络带宽分值判断子模块,用于判断所述网络带宽分值是否大于预设数值;

编码比特率提升子模块,用于提升所述直播视频数据的编码比特率;

编码比特率降低子模块,用于降低所述直播视频数据的编码比特率。

优选地,所述编码比特率提升子模块包括:

网络带宽分值获取单元,用于获取预设时长内的多个网络带宽分值;

编码比特率提升单元,用于当所述多个网络带宽分值都大于预设数值时,提升所述直播视频数据的编码。

优选地,所述编码比特率降低子模块包括:

网络带宽分值统计单元,用于按照预置规则统计出连续的多个网络带宽分值;

和值计算单元,用于计算所述连续的多个网络带宽分值的和值;

编码比特率降低单元,用于当所述和值的绝对值大于预设阈值时,降低所述直播视频数据的编码比特率。

优选地,所述装置还包括:

调整次数统计模块,用于统计调整所述直播视频数据的编码比特率的次数;

停止调整模块,用于当所述次数达到预设次数时,停止调整所述直播视频数据的编码比特率。

优选地,所述调整次数统计模块包括:

调整次数统计子模块,用于统计交替提升和降低所述直播视频数据的编码比特率的次数。

优选地,所述装置还包括:

调整时间记录模块,用于记录调整所述直播视频数据的编码比特率的调整时间。

本发明实施例包括以下优点:

本发明实施例中,通过在直播视频数据的直播过程中,按照预设周期获取直播视频数据的编码平均比特率和发送平均比特率,根据编码平均比特率和发送平均比特率,计算得到网络带宽分值,然后根据网络带宽分值,调整直播视频数据的编码比特率,应用本发明实施例,可以根据网络带宽分值,获悉网络带宽环境,进而能够根据网络带宽环境,实时调整直播视频数据的编码比特率,保证了主播的直播视频数据能够流畅的发送到流媒体服务器,同时使得主播能够和粉丝实时交互,提高了用户体验。

进一步地,先将网络带宽分值与预设数值比较,可以获悉网络环境的情况,进而获取多个连续的网络带宽分值,以确定网络变化趋势是否稳定,从而能够更准确获悉网络带宽环境,可以在网络带宽环境较差时降低直播视频数据的编码比特率,保证主播的直播视频数据能够流畅的发送到流媒体服务器,使得主播能够和粉丝实时交互,而在网络带宽环境良好时,提升直播视频数据的编码比特率,从而提高直播视频的质量,充分利用网络带宽,提供给粉丝高质量的直播视频,提升了用户体验。

更进一步地,通过统计编码器交替提升和降低直播视频数据的编码比特率的次数,可以判断主播在直播时,网络是否稳定,当统计的次数大于预设次数时,可以确定主播所使用的网络环境不稳定,可以在降低直播视频数据的编码比特率后,停止调整编码比特率,能够有效的保证了直播的流畅度。

附图说明

图1是本发明实施例一的一种直播视频数据编码比特率的调整方法实施例的步骤流程图;

图2是本发明实施例二的一种直播视频数据编码比特率的调整方法实施例的步骤流程图;

图3是本发明实施例二的一种直播视频数据编码比特率的调整示意图;

图4是本发明实施例三的一种直播视频数据编码比特率的调整装置实施例的结构框图之一;

图5是本发明实施例三的一种直播视频数据编码比特率的调整装置实施例的结构框图之二。

具体实施方式

为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

参照图1,示出了本发明实施例一的一种直播视频数据编码比特率的调整方法的步骤流程图,具体可以包括如下步骤:

步骤101,在直播视频数据的直播过程中,按照预设周期获取直播视频数据的编码平均比特率和发送平均比特率。

在直播中,可以利用直播平台软件的摄像头或者麦克风api(applicationprogramminginterface,应用程序编程接口)采集主播直播现场的视频信号和音频信号,以数据包的形式发送给编码器,编码器对接收到的数据包进行编码后,发送至网络上的流媒体服务器,具体的,可以通过编码器对接收到的视频数据包和音频数据包,编码成指定格式,例如可以编码成h264的数据格式,通过软件ffmpeg(fastforwardmpeg,多媒体处理工具)的api发送到网络上的流媒体服务器。

在上述过程中,编码器接收一帧视频数据后编码出一帧视频数据,将编码后的这一帧视频数据发送到流媒体服务器,可以将这一帧视频数据包的大小分别计为编码数据包大小和发送数据包大小。为了获取网络带宽环境,可以预设周期,获取该周期内编码器处理的数据包和发送数据包的大小,就可以得到该预设周期内编码平均比特率和发送平均比特率,比特率是指每秒传送或者处理数据的比特数,比特率越高,传送或者处理数据速度越快。

步骤102,根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值。

本发明实施例中,可以将编码平均比特率和发送平均比特率进行对比,计算得到网络的带宽分值,网络带宽分值反映的是网络发送编码视频数据包的情况,例如当发送平均比特率小于编码平均比特率时,可以记录网络带宽分值为负值,反之记为正值;其中可以按发送平均比特率与编码平均比特率的差值的大小建立不同的等级,例如发送平均比特率与编码平均比特率的差值为小于0大于-50时网络带宽分值为-1,差值小于-50大于-100时网络带宽分值为-2,差值为小于+50大于0时网络带宽分值为1,差值为小于+100大于+50时网络带宽分值为+2,以此类推,以上数值仅仅是进行示例说明,也可以是其它能够反映网络带宽分值的计算方法或者表达方式,本发明实施例对此不做限制。

步骤103,根据所述网络带宽分值,调整所述直播视频数据的编码比特率。

在本发明实施例中,可以根据网络带宽分值,调整直播视频数据的编码比特率,具体的,可以根据网络带宽分值,得到编码平均比特率与发送平均比特率的对应的差值,根据差值调整直播视频数据的编码比特率,使得编码平均比特率小于或等于发送平均比特率,以保证直播视频数据能够流畅的发送到流媒体服务器上。

通过本发明实施例,根据编码器的编码平均比特率和发送平均比特率,计算出网络带宽分值,实时获悉网络环境的情况,从而可以根据网络环境的情况实时调整直播视频数据的编码比特率,因此,可以根据网络带宽分值,获悉网络带宽环境,进而能够根据网络带宽环境,实时调整直播视频数据的编码比特率,保证了主播的直播视频数据能够流畅的发送到流媒体服务器,同时使得主播能够和粉丝实时交互,提高了用户体验。

实施例二

参照图2,示出了本发明实施例二的一种直播视频数据编码比特率的调整方法的步骤流程图,具体可以包括如下步骤:

步骤201,在直播视频数据的直播过程中,按照预设周期获取直播视频数据的编码平均比特率和发送平均比特率。

本发明实施例中,可以在编码器发送直播视频数据的过程中,预设周期获取该预设周期内编码数据包的大小和发送数据包的大小,进而得到该预设周期内的编码平均比特率和发送平均比特率,比特率是指每秒传送或者处理数据的比特数,比特率越高,传送或者处理数据速度越快。

步骤202,根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值。

本发明实施例中,编码器每次调整编码比特率需要一定的时间,例如调整需要15秒的时间,因此,为了避免计算调整时间内的网络带宽分值,在本发明的一种优选实施例中,所述根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值可以包括以下子步骤:

子步骤s11,获取当前时间和已记录的上一次调整时间;

子步骤s12,采用所述上一次调整时间和预设调整时间计算出调整时间段;

子步骤s13,判断所述当前时间是否在所述调整时间段内;若否,执行子步骤s14;

子步骤s14,根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值。

在具体实际应用中,编码器每次调整编码比特率后,记录有调整时间adaptivetimemills,为了避免编码器在调整未完成时再次接收到调整指令,可以预设调整时间,即在记录的调整时间adaptivetimemills后多长时间不再进行调整,例如在记录的调整时间adaptivetimemills后加上预设调整时间15秒,调整时间adaptivetimemills后加上预设调整时间15秒即为调整时间段,在获得预设周期内的编码平均比特率和发送平均比特率后,先获取当前时间和上一次记录的调整时间,判断当前时间是否在上一次记录的调整时间adaptivetimemills后加上预设调整时间15秒的时间段内,若是,则不计算网络带宽分值,若否,则计算网络带宽分值。

网络带宽分值是反映编码平均比特率和发送平均比特率的参数,即反映编码器对直播视频数据包的编码速度和网络发送直播视频数据包的速度之间的差距,当编码平均比特率大于发送平均比特率时,可以说明网络发送速度慢,有可能造成直播视频数据包滞留,进而造成直播延时等。以下对计算网络带宽分值进行示例说明:

将发送平均比特率sendavgbitrate和编码平均比特率compressedavgbitrate进行比较,按照以下伪代码计算网络带宽分值

为使本领域技术人员更好地理解上述伪代码,以下通过一个具体的示例说明上述伪代码:

可以设置warnningscore默认值是0,某一次的编码平均比特率compressedavgbitrate是580,通过上述伪代码,可以得出以下网络带宽分值:

sendavgbitrate是529,那么就给warnningscore减去1;

sendavgbitrate是470,那么就给warnningscore减去2;

sendavgbitrate是415,那么就给warnningscore减去3;

sendavgbitrate是570,那么warnningscore为0;

sendavgbitrate是635,那么就给warnningscore加上1;

sendavgbitrate是690,那么就给warnningscore加上2;

sendavgbitrate是745,那么就给warnningscore加上3。

即编码平均比特率是580的时候,当发送平均比特率比编码平均比特率小,分别为529、470、415时,网络带宽分值分别为-1、-2、-3;而当发送平均比特率比编码平均比特率大,分别为635、690、745时,网络带宽分值分别为1、2、3,由上述示例可知,当网络带宽分值为负数时,说明发送平均比特率比编码平均比特率小,此时网络带宽分值的绝对值越大,说明网络情况越差,而当网络带宽分值为正数时,说明发送平均比特率比编码平均比特率大,此时网络带宽分值越大,说明网络情况越好。

上述计算网络带宽分值的方法及其中的数值只用作示例,本领域技术人员根据实际情况采用任一种计算网络带宽分值的方法均是可行的,本发明实施例对此无需加以限制。

步骤203,判断所述网络带宽分值是否大于预设数值,若是,则执行步骤204,若否执行步骤205。

本发明实施例中,为了获取网络带宽情况的好坏,可以获取一个预设周期的网络带宽分值后,可以先判断该网络带宽分值与预设数值的大小,例如预设数值大小是0,该网络带宽分值为-3,说明网络情况变差,编码平均比特率大于发送平均比特率;如果网络带宽分值是5,说明网络情况变好,编码平均比特率小于发送平均比特率;因此可以先判断网络带宽分值是否大于预设数值,若是,执行步骤204,若否,执行步骤205。

步骤204,提升所述直播视频数据的编码比特率。

在本发明的一种优选实施例中,所述提升所述直播视频数据的编码比特率可以包括以下子步骤:

子步骤s21,获取预设时长内的多个网络带宽分值。

在实际应用中,网络存在抖动,即在当前预设周期内的网络带宽分值大于预设数值,下一预设周期内的网络带宽分值有可能小于预设数值,因此需要获取一定时长内的多个网络带宽分值,例如为了获取5个连续的预设周期的网络带宽分值,可以将预设时长设置为5个预设周期的时间,例如预设周期是3秒钟,可以将预设时长设置为15秒钟,就可以获取到15秒钟时间内的5个连续的网络带宽分值。

当然也可以统计预设周期的次数,例如3个预设周期、5个预设周期等,本发明实施例对此无需加以限制。

子步骤s22,当所述多个网络带宽分值都大于预设数值时,提升所述直播视频数据的编码比特率。

当获取到预设时长内的网络带宽分值都大于预设数值时,说明当前发送平均比特率比编码平均比特率大,且比较稳定,可以提升直播视频数据的编码比特率,例如本发明实施例中预设数值是0时,当获取到5分钟内的所有网络带宽分值都大于0,可以提升编码器的编码速度和增大主播正在直播的视频的帧率,以提高视频的质量,充分利用网络带宽,提高用户良好体验。

在上述优选实施例中,当网络带宽分值大于预设数值时,获取预设时长内的多个连续的网络带宽分值,当多个连续的网络带宽分值都大于预设数值时,说明网络发送直播视频数据的速度大于编码器编码直播视频数据的速度,并且比较稳定,此时,可以提高直播视频数据的编码比特率,也可以提高视频采集装置采集视频数据的帧率,提高视频的质量,以充分利用网络带宽,提供给用户高质量的视频。

步骤205,降低所述直播视频数据的编码比特率。

在本发明的一种优选实施例中,所述降低所述直播视频数据的编码比特率可以包括以下子步骤:

子步骤s31,按照预置规则统计出连续的多个网络带宽分值。

在实际应用中,网络有可能存在抖动,例如编码平均比特率为580,获取的发送平均比特率为529,对应的网络带宽分值为-1,说明网络情况变差,而下一预设周期获取的发送平均比特率有可能变为570,对应的网络带宽分值为0,因此,当获取到一个网络带宽分值小于0时就降低直播视频数据的编码比特率,造成编码器调整的次数增加,而且调整周期很短,对编码器的硬件设备要求较高。因此,当获取到的网络带宽分值小于预设数值时,需要统计连续的多个网络带宽分值,例如获取到预设周期1的网络带宽分值为-1,继续获取下一预设周期2的网络带宽分值为-4,预设周期3的网络带宽分值为-6,可以说明发送平均比特率一直小于编码平均比特率,会造成数据拥堵,主播的直播视频有可能会出现延迟、画面跳跃等。

子步骤s32,计算所述连续的多个网络带宽分值的和值。

子步骤s33,当所述和值的绝对值大于预设阈值时,降低所述直播视频数据的编码比特率。

在直播中,为了让用户有良好的体验,直播视频既要流畅还需要有清晰的画面,如果网络情况稍微变差,就降低直播视频的帧率或者降低画面质量以降低编码比特率,显然是不符合用户体验要求的。因此可以预设阈值,将连续的多个网络带宽分值进行和值计算,例如-1、-4、-6进行相加,和值为-11,当预设阈值为10时,-11的绝对值大于预设阈值10,此时,可以降低直播视频数据的编码比特率,当然,如果获取到一次预设周期的网络带宽分值是-11、-15等,说明发送平均比特率远远小于编码平均比特率,也可以立即降低直播视频数据的编码比特率。获取到的网络带宽分值也有可能会出现-1、-3、+4、+5、-1的情况,及网络存在抖动,这种情况是允许以当前的编码比特率进行编码的,可以不调整编码比特率。

在不同直播平台上有不同的编码器,因此编码器调整编码比特率也不同,例如,在安卓平台可以使用硬件编码器mediacodec,重新构造一个编码器来重新配置编码器的;在ios平台上可以使用videotoolbox编码器通过调用reconfiguration来重新配置编码器;也可以使用软件编码器,例如可以是libx264通过reconfig的调用来重新配置编码器,具体的编码器和实现调整编码比特率的方法,本发明实施例对此无需加以限制。

在上述优选实施例中,当网络带宽分值小于预设数值时,按照预置规则统计出连续的多个网络带宽分值,当多个连续的网络带宽分值的和值的绝对值大于预设阈值时,说明网络发送直播视频数据的速度小于编码器编码直播视频数据的速度,此时,可以降低直播视频数据的编码比特率,也可以降低视频采集装置采集视频数据的帧率,降低视频的质量,以降低编码视频数据的大小,使得网络能够流畅的发送直播视频数据。

步骤206,记录调整所述直播视频数据的编码比特率的调整时间。

在实际应用中,为了避免编码器在调整未完成时再次接收到调整指令,可以预设调整时间,在该预设调整时间内不再进行调整,具体的,可以在每次调整开始时,记录调整时间adaptivetimemills,在调整时间adaptivetimemills后加上预设调整时间15秒,可以得到调整时间段。记录了调整时间后,系统就会判断当前时间是否还在调整时间段内,若是,就不会计算网络带宽分值,也就不会进行再次调整。

步骤207,统计调整所述直播视频数据的编码比特率的次数。

在实际的网络传输中,由于网络环境的原因,有可能编码器提升编码比特率完成之后,马上又需要降低编码比特率,然后又需要提升编码比特率,即连续的调整周期接连进行交替提升或降低编码比特率,这可以说明主播所使用的网络环境非常不稳定,在本发明的另一种优选实施例中,所述统计调整所述直播视频数据的编码比特率的次数可以包括:

统计交替提升和降低所述直播视频数据的编码比特率的次数。

本发明实施例中,网络带宽分值是在一次调整完成后才计算得出,而计算网络带宽分值是根据预设周期内的编码平均比特率和发送平均比特率计算得出,因此,交替提升和降低所述直播视频数据的编码比特率可以是指,提升编码比特率后,过了很短时间,例如至少是一个预设周期,马上又需要降低编码比特率,然后又提升编码比特率的过程,具体的可以通过表格统计提升和降低直播视频数据的编码比特率的,也可以通过计数器统计,本发明实施例对此不做限制。

步骤208,当所述次数达到预设次数时,停止调整所述直播视频数据的编码比特率。

当出现提升编码比特率后过了很短时间又降低编码比特率,然后又提升编码比特率,说明网络环境非常不稳定,可以统计该过程重复的次数,当统计到的次数达到预设次数时,可以停止调整直播视频数据的编码比特率,具体的,当降低编码比特率保证直播视频的发送流畅性后,停止调整直播视频数据的编码比特率。

通过本发明实施例,根据编码器的编码平均比特率和发送平均比特率,计算出网络带宽分值,实时获悉网络环境的情况,从而可以根据网络环境的情况实时调整直播视频数据的编码比特率,因此,可以根据网络带宽分值,获悉网络带宽环境,进而能够根据网络带宽环境,实时调整直播视频数据的编码比特率,保证了主播的直播视频数据能够流畅的发送到流媒体服务器,同时使得主播能够和粉丝实时交互,提高了用户体验。

更优地,通过将网络带宽分值与预设数值比较,可以获悉网络环境的情况,进而获取多个连续的网络带宽分值,以确定网络变化趋势是否稳定,从而能够更准确获悉网络环境,可以在网络带宽环境较差时降低直播视频数据的编码比特率,保证主播的直播视频数据能够流畅的发送到流媒体服务器,使得主播能和粉丝实时交互,而在网络带宽环境良好时,提升直播视频数据的编码比特率,从而提高直播视频的质量,充分利用网络带宽,提升了用户体验。

进一步地,统计编码器交替提升和降低直播视频数据的编码比特率的次数,可以获取主播在直播时,网络是否稳定,当统计的次数大于预设次数时,可以确定主播所使用的网络环境不稳定,可以降低直播视频数据的编码比特率后,停止调整直播视频数据的编码比特率,能够有效的保证直播视频数据流畅的发送至流媒体服务器,使得主播的粉丝能够观看流畅的直播视频,以及与主播实时交互。

为了更清楚的说明本发明实施例,以下通过示例进行说明:

如图3所示,为本发明实施例的一种直播视频数据编码比特率的调整示意图,具体可以包括以下步骤:

步骤301,摄像头采集直播视频数据;

步骤302,将获取的直播视频数据进行编码;

步骤303,获得编码后的直播视频数据;

步骤304,将编码后的直播视频数据发送至流媒体服务器;

步骤305,在发送过程中,根据编码平均比特率和发送平均比特率,实时调整直播视频数据的编码比特率。

上述示例中,利用各个平台的摄像头api采集到直播视频数据,直播视频数据可以是yuv格式的图像数据,直播视频数据经过视频编码器按照一定的编码比特率进行编码后,得到h264的数据格式的直播视频数据,将获得的编码后的直播视频数据通过ffmpeg的api发送到流媒体服务器上,在发送的过程中,设置一个模块监测网络出口带宽,获得发送平均比特率,判断发送平均比特率与编码器的编码平均比特率的大小关系,计算出一个合适的编码比特率进行重新配置编码器。

通过上述示例,编码器可以根据网络的状态,实时调整直播视频数据的编码比特率,从而能够流畅的发送直播视频数据,使得用户具有良好的体验。

当然,上述仅仅是本发明的一个示例,在实施本发明实施例时,本领域技术人员可以根据实际情况进行直播视频数据的处理,本发明实施例对此无需加以限制。

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

参照图4,示出了本发明实施例三的一种直播视频数据编码比特率的调整装置实施例的结构框图,具体可以包括如下模块:

平均比特率获取模块401,用于在直播视频数据的直播过程中,按照预设周期获取直播视频数据的编码平均比特率和发送平均比特率;

网络带宽分值计算模块402,用于根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值;

编码比特率调整模块403,用于根据所述网络带宽分值,调整所述直播视频数据的编码比特率。

在本发明的一种优选实施例中,所述网络带宽分值计算模块402包括:

时间获取子模块,用于获取当前时间和已记录的上一次调整时间;

调整时间段计算模块,用于采用所述上一次调整时间和预设调整时间计算出调整时间段;

时间判断子模块,用于判断所述当前时间是否在所述调整时间段内;

网络带宽分值计算子模块,用于根据所述编码平均比特率和发送平均比特率,计算得到网络带宽分值。

在本发明的一种优选实施例中,所述编码比特率调整模块403包括:

网络带宽分值判断子模块,用于判断所述网络带宽分值是否大于预设数值;

编码比特率提升子模块,用于提升所述直播视频数据的编码比特率;

编码比特率降低子模块,用于降低所述直播视频数据的编码比特率。

在本发明的一种优选实施例中,所述编码比特率提升子模块包括:

网络带宽分值获取单元,用于获取预设时长内的多个网络带宽分值;

编码比特率提升单元,用于当所述多个网络带宽分值都大于预设数值时,提升所述直播视频数据的编码比特率。

在本发明的一种优选实施例中,所述编码比特率降低子模块包括:

网络带宽分值统计单元,用于按照预置规则统计出连续的多个网络带宽分值;

和值计算单元,用于计算所述连续的多个网络带宽分值的和值;

编码比特率降低单元,用于当所述和值的绝对值大于预设阈值时,降低所述直播视频数据的编码比特率。

参照图5所示,在本发明的一种优选实施例中,所述装置还包括:

调整时间记录模块404,用于记录调整所述直播视频数据的编码比特率的调整时间。

调整次数统计模块405,用于统计调整所述直播视频数据的编码比特率的次数;

停止调整模块406,用于当所述次数达到预设次数时,停止调整所述直播视频数据的编码比特率。

在本发明的一种优选实施例中,所述调整次数统计模块405还包括:

调整次数统计子模块,用于统计交替提升和降低所述直播视频数据的编码比特率的次数。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种直播视频数据的调整方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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