一种流媒体码率的控制方法、系统及流媒体服务器的制造方法

文档序号:9582124阅读:555来源:国知局
一种流媒体码率的控制方法、系统及流媒体服务器的制造方法
【技术领域】
[0001] 本发明涉及流媒体播放技术领域,尤其涉及一种流媒体码率的控制方法、系统及 流媒体服务器。
【背景技术】
[0002] 流媒体技术也称流式媒体技术,把连续的影像和声音信息经过压缩处理后放上网 站服务器,让用户一边下载一边观看、收听,先在使用者端的计算机上创建一个缓冲区,在 播放前预先下一段数据作为缓冲。IPTV利用宽带网,集互联网、多媒体、通讯等技术于一体, 向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术,能够很好地适应当今网 络飞速发展的趋势,充分有效地利用网络资源。随着流媒体技术的发展,视频质量越来越 高,如何保证传输流TS流在IP网络上平滑传输一直是IPTV业务的重要研究领域。现有的 IPTVVBR(Vari油IeBitrate,可变比特率)传输流控通常通过机顶盒终端PLAY指令上报 的需要调整的缓存数据量(X-BurstSize)来进行,当缓存数据量超过上限或低于下限时, 要求服务器在当前发流速率的基础上减少或增加数据量,难W保证视频传输的质量,极大 地降低了用户的体验度。

【发明内容】

[0003] 有鉴于此,本发明要解决的一个技术问题是提供一种流媒体码率的控制方法,通 过实时测算终端的空闲缓存W及码流波动前后相关性确定码率。
[0004] -种流媒体码率的控制方法,包括:接收终端发送的缓存状态信息,根据所述缓存 状态信息和媒体流的初始码率实时测算所述终端的空闲缓存;根据所述终端的空闲缓存W 及媒体流码率波动的相关性确定媒体流的码率。
[0005] 根据本发明的一个实施例,进一步的,接收所述终端发送的首个播放PLAY命令, 其中,所述PLAY命令中携带的缓存下溢信息;启动媒体流的播放,设置媒体流的初始码率R 初始;其中,R械S=y*R源;为经验值,R源为源媒体流文件的基础码率。
[0006] 根据本发明的一个实施例,进一步的,接收所述终端发送的PLAY命令,所述 PLAY命令中携带所述终端发送的第一个上溢信息X-BurstSize;计算所述终端的缓存 BuffSize。;其中,BuffSize。=巧传输一R源)*t播放时间;t播放时间为所述终端播放媒体流到发起 束x-BurstSize的时间间隔;R传输为t播放时间内媒体流的码率平均值,R初始=R传输。
[0007] 根据本发明的一个实施例,进一步的,将媒体流分为多个关联顿组,每个关联顿组 都包括N个顿,关联顿组的传输速率为町;根据所述终端的当前空闲缓存BuffSizet计算当 前媒体流的码率R;其中
N为关 联顿组的顿数,为顿速率,tw为所述终端发起上一个X-BurstSize到当前的时间间隔; 为tw时间内传输的关联顿组的町的传输速率平均值。
[0008] 根据本发明的一个实施例,进一步的,计算当前传输的关联顿组的传输速率Rw;其 中,町=町1+a(R-町I);町I为前一个关联顿组的平均传输速率,R为当前媒体流的码率R,a为调整系数。
[0009] 根据本发明的一个实施例,进一步的,U为1. 2,a为0. 2。
[0010] 本发明要解决的一个技术问题是提供一种流媒体码率的控制方法,通过实时测算 终端的空闲缓存W及码流波动前后相关性确定码率。
[0011] 一种流媒体服务器,包括:消息接收单元,用于接收终端发送的缓存状态信息;缓 存计算单元,用于根据所述缓存状态信息和媒体流的初始码率实时测算所述终端的空闲缓 存;码率计算单元,用于根据所述终端的空闲缓存W及媒体流码率波动的相关性确定媒体 流的码率。
[0012] 根据本发明的一个实施例,进一步的,所述消息接收单元还用于接收所述终端发 送的首个播放PLAY命令,所述PLAY命令中携带的缓存下溢信息;所述码率计算单元还用于 启动媒体流的播放,设置媒体流的初始码率自;其中,自=U*Rai;y为经验值,R源为 源媒体流文件的基础码率。
[0013] 根据本发明的一个实施例,进一步的,所述消息接收单元还用于接收所述终端发 送的PLAY命令,所述PLAY命令中携带所述终端发送的第一个上溢信息X-BurstSize;所述 缓存计算单元还用于计算所述终端的缓存BuffSize。;其中,BuffSize。=巧传输一R源)*t播 放时间间为所述终端播放媒体流到发起第一个X-BurstSize的时间间隔;R传输为t播刺悄 内媒体流的码率平均值,RtMJ=
[0014] 根据本发明的一个实施例,进一步的,所述码率计算单元还用于将媒体流分为多 个关联顿组,其中每个关联顿组都包括N个顿,关联顿组的传输速率为Rw;所述缓存计算单 元还用于计算所述终端的当前空闲缓存BuffSizet;其中BuffSize=Buffsize厂巧传输一R 源)*tw;所述码率计算单元还用于根据所述当前空闲缓存BuffSizet计算当前媒体流的码率 R;其中,
N为关联顿组的顿数,Rff。。。 为顿速率,tw为所述终端发起上一个X-BurstSize到当前的时间间隔;R传输为tw时间内传 输的关联顿组的町的平均值。
[0015] 根据本发明的一个实施例,进一步的,所述码率计算单元还用于计算当前传输的 关联顿组的传输速率町;其中,町=町i+a巧-町1);町1为前一个关联顿组的平均传输速 率,R为当前媒体流的码率R,a为调整系数。
[0016] 一种流媒体码率的控制系统,包括如上所述的流媒体服务器。
[0017] 本发明的流媒体码率的控制方法、系统及流媒体服务器,通过实时测算终端的空 闲缓存W及码流波动前后相关性确定码率,能够避免终端出现码流缓存溢出的同时有效提 升缓存利用率,并对码流进行了平滑处理,有效降低瞬间峰值码率对传输网络和服务器带 宽的压力,保证了视频传输质量,提升用户体验。
【附图说明】
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还 可W根据送些附图获得其他的附图。
[0019] 图1为根据本发明的流媒体码率的控制方法的一个实施例的流程图;
[0020] 图2为根据本发明的流媒体码率的控制方法的另一个实施例的消息交互图;
[0021] 图3为关联顿组的结构示意图;
[0022] 图4为根据本发明的流媒体服务器的一个实施例的示意图。
【具体实施方式】
[0023] 下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下 面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显 然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实 施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属 于本发明保护的范围。下面结合各个图和实施例对本发明的技术方案进行多方面的描述。
[0024] 图1为根据本发明的流媒体码率的控制方法的一个实施例的流程图,如图1所 示:
[0025]步骤101,接收终端发送的缓存状态信息,根据缓存状态信息和媒体流的初始码率 实时测算终端的空闲缓存。
[0026] 步骤102,根据终端的空闲缓存W及媒体流码率波动的相关性确定媒体流的码率。
[0027] 上述的流媒体码率的控制方法,能够根据初始码流传输速率和终端的缓存状态反 馈,实时测算终端的空闲缓存大小,并考虑码率波动的前后相关性,推算出最佳传输码率, 能够避免终端出现码流缓存溢出的同时有效提升缓存利用率。
[0028] 服务器与终端之间采用RTSP协议的命令或消息进行流媒体的播放协商。 RTSP巧ealTimeStreamingProtocol;实时流传输协议)定义了一对多应用程序如何有效 地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或 RTP完成数据传输。RTSP用来控制声音或影像的多媒体串流协议,并允许同时多个串流需 求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可W自行选择使用 TCP或UDP来传送串流内容。
[0029] 在一个实施例中,接收终端发送的首个RTSP的播放PLAY命令,PLAY命令中携带 的缓存下溢信息。启动媒体流的播放,设置媒体流的初始码率RtMS,自=W 为经 验值,Rjg为源媒体流文件的基础码率。
[0030] 终端的缓存都不会太大,缓存的数据太大,会造成等待数据处理延时太高.达不 到实时的要求。如果指数据发送太快,硬件处理不过来,缓存已经装不下郝么多数据,开 始丢弃送些数据,放弃处理,就是指上溢。如果数据发送太慢,缓冲区的数据都处理空了, 输入数据还没过来,硬件还在等待缓冲区有足够数据可W处理,输出接口就在要求发送处 理好的数据出去,就是指下溢。
[0031] 在一个实施例中,接收终端发送的PLAY命令,PLAY命令中携带终端发送的第一个 上溢信息x-BurstSize。计算终端的缓存BuffSize。;其中,BuffSize。=巧传输一R源)*t播 放时间;t播放时间为终吉而播放媒体流到发起束l^x-BurstSize的时间间隔;R传输为t播放时间内媒 体流的码率平均值,。由于1?&^大于源媒体流文件的基础码率,即终端播放的媒 体流的速率小于服务器发送的速率,终端的缓存必定会被充满,即可计算出终端的缓存。
[0032] 在一个实施例中,将媒体流分为多个关联顿组,每个关联顿组都包括N个顿,关联 顿组的传输速率为町。
[0033] 根据终端的当前空闲缓存BuffSizet计算当前媒体流的码率R;其中,
N为关联顿组的顿数,Rff^。为顿 速率,tw为终端发起上一个X-BurstSize到当前的时间间隔;R传输为tw时间内传输的关联 顿组的町的传输速率平均值。
[0034] 在一个实施例中,计算当前传输的关联顿组的传输速率Rn,Rn=Rn1+a(R-Rn1); 町1为前一个关联顿组的平均传输速率,R为当前媒体流的码率R,a为调整系数。
[0035] 在上述的流媒体码率的控制方法中,通过获取的缓存终端,在此次或之后对此终 端进行的视频播放中实时测算终端的空闲缓存大小,并考虑码率波动的前后相关性,推算 出最佳传输码率,能够避免终端出现码流缓存溢出的同时有效提升缓存利用率。
[0036] 考虑了码流波动前后相关性,并对码流进行了平滑处理,有效降低瞬间峰值码率 对传输网络和服务器带宽的压力,并能够有效提升平滑流控效率,保证视频传输质量,提升 用户体验。
[0037] 图2为根据本发明的流媒体码率的控制方法的一个实施例的流程图
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1