调整流媒体码率的方法和装置制造方法及图纸

技术编号:4275029 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种调整流媒体码率的方法和装置,涉及通信领域,为解决现有技术实时调整流媒体码率的过程时效性差的问题而发明专利技术。本发明专利技术实施例提供的方法,包括如下步骤:周期性查询发送缓冲区的数据量;根据发送缓冲区的数据量变化切换视频轨的码率,从而改变向缓存区写入数据的速率,提高网络传输的质量,提升音视频体验效果。本发明专利技术适用于通信系统。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种调整流媒体码率的方法和装置
技术介绍
现的音视频流媒体业务传输时采用多码率技术为,将同一业务内容设置在不同码率的音视频轨上,由流媒体服务器根据用户实时带宽,动态选择不同码率的音视频轨传输流媒体。当用户的可用带宽过低,就选择低码率流媒体传输,避免传输丢包,保证用户能流畅播放;当用户的可用带宽升高,就选择高码率流媒体传输,提高用户的音视频体验。而现有如何能够根据带宽的实际情况实时调整流媒体码率至少有两种第一种由用户端统计一段时间内流媒体服务器与用户端传输过程中的丢包数,定时上报给流媒体服务器;流媒体服务器通过用户端最近的丢包数,间接地获得网络传输质量,动态调整流媒体码率;当用户端连续丢包时,选择低码率传输,当用户端连续没有丢包时,选择高码率传输。第二种解决方式由流媒体服务器测量并计算自身与用户端之间的带宽状况,根据计算结果,再选择适合的码率传输数据,然后根据网络传输质量,动态调整传输码率。 在实现上述实时调整流媒体码率的过程中,专利技术人发现现有技术中需要用户端返回丢包数或需要依靠大量、复杂、长时间的运算,从而导致时效性差。
技术实现思路
本专利技术的实施例提供一种调整流媒体码率的方法和装置,能够高时效地根据带宽 的实际情况实时调整流媒体码率。 为达到上述目的,本专利技术的实施例采用如下技术方案 —种调整流媒体码率的方法,包括 周期性查询发送缓冲区的数据量; 根据发送缓冲区的数据量变化切换视频轨的码率。—种调整流媒体码率的装置,包括 查询模块用于周期性查询发送缓冲区的数据量; 码率选择模块用于根据发送缓冲区的数据量变化切换视频轨的码率。 本专利技术实施例提供的调整流媒体码率的方法、装置,通过监控服务器发送缓冲区的数据量的变化情况,间接判断网络带宽状况,调整流媒体码率,无需等待用户端返回丢包数,也无需大量计算,能够保证调整流媒体码率的时效性。附图说明 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。 图1为本专利技术调整流媒体码率方法的一个实施例的流程图; 图2为本专利技术调整流媒体码率方法的另一个实施例的流程图; 图3为本专利技术调整流媒体码率方法的又一个方法实施例的流程图; 图4为本专利技术调整流媒体码率方法的再一个方法实施例的流程图; 图5为本专利技术装置实施例的一种实现方式结构图; 图6为本专利技术装置实施例的另一种实现方式结构图; 图7为本专利技术装置实施例的又一种实现方式结构图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。 下面结合附图对本专利技术实施例调整流媒体码率的方法、装置进行详细描述。 本专利技术调整流媒体码率方法的一个实施例如图1所示,包括 S101、周期性查询发送缓冲区的数据量。 当客户端和服务器建立连接后,开始传送数据。具体的,服务器先将要发送的数据 写入网络层的发送缓冲区,然后按照TCP传输协议由服务器向客户端传输。服务器以固定 速率向发送缓冲区写入数据,然后服务器周期性查询发送缓冲区内还没来得及发送的数据 量。所述查询操作可以通过UNIX操作系统本身提供的接口函数进行查询;也可以考虑修改 服务器端的TCP协议栈,增加一个查询协议栈缓存区的接口 ,应用程序通过该接口就能够 向指定的TCP协议栈发出缓存区的查询指令,TCP协议栈收到应用程序发出的查询指令后, 返回发送缓存区的数据量。 S102、根据发送缓冲区的数据量变化趋势,切换视频轨的码率,改变向发送缓存区 写入数据的速率。 发送缓冲区的数据量是写入数据(服务器发送给发送缓冲区的数据)减读出数据 (发送缓冲区向客户端发送数据)之差。由于发送缓冲区的写入数据的速率是固定的,如果 发送缓冲区的数据量增大,说明发送缓冲区的读出数据速率下降了,也就是说网络侧与客 户端之间的网络通信不畅,这时就要调低发送数据的码率,以适应较低的通信带宽;如果发 送缓冲区的数据量减小,说明发送缓冲区的读出数据速率上升了,也就是说服务器与客户 端之间的网络通信顺畅,这时就要调高发送数据的码率,以充分利用较高的通信带宽。 发送缓存区的数据量,一定程度上反映了当前网络传输带宽大小,服务器通过监 控发送缓存区的数据量,就可以判断网络传输的可用带宽,进一步判断当前播放文件码率 和网络带宽的匹配情况,如果有必要,可以马上调整文件的码率。这种调整具有很好的实时 性,服务器可以在发送端缓存区在发生上溢或者下溢之前,提前调整,避免发送缓存区的溢 出丢包。 本专利技术调整流媒体码率方法的另一个实施例如图2所示,与第一个实施例的区别 主要在于,将发送缓冲区按照数据量大小明确划分成三个区危险区、中间区和安全区。危 险区代表发送缓冲区中数据量较多,有上溢(发送缓冲区中数据量超过发送缓冲区的最大容量造成数据丢失)的危险;安全区代表发送缓冲区中数据量较少,有下溢(发送缓冲区中 数据量枯竭,造成数据传输中断)的问题。中间区介于危险区和安全区之间,代表发送缓冲 区中数据量处于适宜水平。 本实施例包括 S201 、流媒体服务器以恒定速率向发送缓冲区写入数据。 客户端和流媒体服务器建立TCP连接成功后,流媒体服务器开始不断地从磁盘上 读取媒体文件,或者接收直播的组播流数据。流媒体服务器将读取的数据按照一定的格式 进行打包,并按照恒定的速率写入到发送缓存区。 S202、发送缓冲区在TCP协议的拥塞控制机制下向网络发送数据。 通过TCP协议的拥塞控制机制,服务器协议栈控制发送缓冲区向客户端发送数据的速率。TCP传输协议具有滑动窗口的特性,发送方(服务器)根据传输的丢包事件,探测传输路径上的拥塞,从而动态的调整数据的发送速率,实现TCP拥塞控制的功能。通过流量控制机制,服务器协议栈获得客户端的空闲缓存区的大小,决定向网络发送数据的数据量。所谓流量控制机制是指接收方(客户端)通过应答ACK消息的wingdow size字段,报告当前接收缓存区的大小,发送方根据接收方缓存区的大小和自身发送缓存区的大小,动态调整发送数据量,实现TCP流量控制的功能。因此服务器的协议栈控制了数据发送的速率和数量,以符合当前网络传输的带宽。 S203、周期性查询发送缓冲区的数据量。 由于发送缓存区的写入速率由当前播放文件的码率决定,而读出速率由当前网络 带宽决定,因此缓存区里的数据量实时在变化,变化的情况也反映了当前网络的带宽。 S204、如果发送缓冲区的数据量增大到危险区,向下切换视频轨的码率,降低向所 述发送缓冲区写入数据的速率。 S205、如果发送缓冲区的数据量减少到安全区,向上切换视频轨的码率,提高向所 述发送缓冲区写入数据的速率。 本专利技术调整流媒体码率方法的又一个实施例如图3所示,本实施例为将发送缓 冲区按数据量从大到小分为五个档次高危区、中高区、正常区、中低区、低本文档来自技高网...

【技术保护点】
一种调整流媒体码率的方法,其特征在于,包括:周期性查询发送缓冲区的数据量;根据发送缓冲区的数据量变化切换视频轨的码率。

【技术特征摘要】
一种调整流媒体码率的方法,其特征在于,包括周期性查询发送缓冲区的数据量;根据发送缓冲区的数据量变化切换视频轨的码率。2. 根据权利要求1所述的方法,其特征在于,所述根据发送缓冲区的数据量变化切换 视频轨的码率的步骤具体为如果发送缓冲区的数据量增大到危险区,向下切换视频轨的码率; 如果发送缓冲区的数据量减少到安全区,向上切换视频轨的码率。3. 根据权利要求1所述的方法,其特征在于,所述根据发送缓冲区的数据量变化切换 视频轨的码率的步骤具体为将发送缓冲区按数据量从大到小分为五个档次高危区、中高区、正常区、中低区、低危区;如果发送缓冲区的数据量处于高危区,将所选择的视频轨码率向下调整两个档次,降 低向所述发送缓冲区写入数据的速率;如果发送缓冲区的数据量处于中高区,将所选择的视频轨码率向下调整一个档次,降 低向所述发送缓冲区写入数据的速率;如果发送缓冲区的数据量处于正常区,保持所选择的视频轨码率,保持向所述发送缓 冲区写入数据的速率;如果发送缓冲区的数据量处于中低区,将所选择的视频轨码率向上调整一个档次,提 高向所述发送缓冲区写入数据的速率;如果发送缓冲区的数据量处于低危区,将所选择的视频轨码率向上调整两个档次,提 高向所述发送缓冲区写入数据的速率。4. 根据权利要求1所述的方法,其特征在于,所述根据发送缓冲区的数据量变化切换 视频轨的码率的步骤具体为将发送缓冲区按数据量从大到小分为五个档次高危区、中高区、正常区、中低区、低危区;如果发送缓冲区的数据量处于高危区,将所选择的视频轨码率向下调整到最低码率, 降低向所述发送缓冲区写入数据的速率;如果发送缓冲区的数据量处于中高区,将所选择的视频轨码率向下调整一个档次,降 低向所述发送缓冲区写入数据的速率;如果发送缓冲区的数据量处于正常区,保持所选择的视频轨码率,保持向所述发送缓 冲区写入数据的速率;如果发送缓冲区的数据量处于中低区,将所选择的视频轨码率向上调整一个档次,提 高向所述发送缓冲区写入数据的速率;如果发送缓冲区的数据量处于低危区,将所选择的视频轨码率向上调整到最高码率, 降低向所述发送缓冲区写入数据的速率。5. —种调整流媒体码率的装置,其特征在于...

【专利技术属性】
技术研发人员:徐伟军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1