专利名称:实时流媒体传输方法及系统的利记博彩app
技术领域:
本发明涉及流媒体播放领域,更具体地说,涉及一种实时流媒体传输方法及系统。
背景技术:
流技术是指把连续的影像和声音信息经过压缩处理后放到网站服务器上,供播放终端一边下载一边观看、收听,而不需要将整个压缩文件下载到终端后才播放的网络传输技术。而流媒体是指应用流技术在网络上传输的多媒体文件。
如图1所示,通常,在播放终端13播放网络上的媒体文件过程中,来自媒体服务器12的流媒体被缓存到播放终端13的缓冲区。在播放终端13的缓冲区的数据量达到设定的水平后,播放终端13启动解码以在电视机11播放流媒体文件。在启动解码后,播放终端13开始一边缓存一边解码,即在接收并缓存来自媒体服务器12的流媒体数据的同时,播放终端13顺序解码缓存区中已下载的流媒体数据,并在电视机11上播放。一般情况下,播放终端13进行缓存的速度与进行解码的速度相等,从而使缓冲区的数据量保持相对恒定(即维持在正常数据量)。
由于在现有的播放系统中,正常情况下缓冲的速度与解码的速度相等,但如果网络出现抖动或时延,就会出现缓冲的速度小于解码的速度,从而导致缓冲区的数据量下降。由此可能出现缓冲区下溢(缓冲区中没有媒体数据或数据量低于下限值),播放终端就会暂停解码及播放,等待缓冲区的数据量恢复正常,然后恢复播放。因此,现有的播放系统在网络不稳定(例如出现阻塞、抖动或时延)时播放画面会出现停顿,导致播放不流畅,严重影响终端的播放效果。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述网络不稳定时流媒体播放系统播放质量下降的缺陷,提供一种实时流媒体传输方法及系统。
本发明解决其技术问题所采用的技术方案是构造一种实时流媒体传输方法,包括以下步骤(a)媒体服务器在播放终端缓冲区数据量异常时改变向播放终端发送数据的速率;(b)所述媒体服务器在播放终端缓冲区数据量恢复到正常数据量时恢复正常发送速率。
在本发明所述的实时流媒体传输方法中,还包括播放终端在缓冲区数据量大于或等于第一阈值时开始解码缓冲区中的数据,以及在播放终端缓冲区数据量小于第一阈值时停止解码缓冲区中的数据,所述第一阈值小于缓冲区正常数据量。
在本发明所述的实时流媒体传输方法中,在步骤(a)中,所述媒体服务器在所述播放终端缓冲区数据量小于第二阈值时以高于正常速率的第二速率发送数据,所述第二阈值小于缓冲区正常数据量。
在本发明所述的实时流媒体传输方法中,在步骤(a)中,在步骤(a)中,所述媒体服务器在所述播放终端缓冲区数据量大于第三阈值时以低于正常速率的第三速率发送数据的步骤,所述第三阈值大于缓冲区正常数据量。
在本发明所述的实时流媒体传输方法中,还包括以下步骤媒体服务器在播放终端开始解码缓冲区中数据前以高于正常速率的第一速率发送数据,播放终端将接收的数据缓存到其缓冲区上;播放终端在其缓冲区数据量达到第一阈值时解码缓冲区中数据,同时以高于正常速率且低于第一速率的第四速率发送数据到播放终端;媒体服务器在播放终端的缓冲区数据量达到正常数据量时以正常速率发送数据到播放终端。
在本发明所述的实时流媒体传输方法中,在步骤(a)和(b)中,媒体服务器通过播放终端的RTSP请求中的速率参数改变发送数据的速率。
在本发明所述的实时流媒体传输方法中,在步骤(a)和(b)中,媒体服务器根据播放终端定时报告的状态判断播放终端缓冲区中的数据量并决定数据发送速率。
本发明还提供一种实时流媒体传输系统,包括相互连接的播放终端以及媒体服务器,所述播放终端具有一个缓存来自媒体服务器数据的缓冲区,所述媒体服务器中包括有调整媒体服务器发送数据速率的速率调整模块,所述速率调整模块在播放终端缓冲区数据量异常时改变向所述播放终端发送数据的速率、并在播放终端缓冲区数据量恢复到正常数据量时以正常速率发送数据。
在本发明所述的实时流媒体传输系统中,所述速率调整模块在播放终端缓冲区数据量小于第二阈值时以高于正常速率的第二速率发送数据、并在播放终端缓冲区数据量恢复到正常数据量时以正常速率发送数据,所述第二阈值小于缓冲区正常数据量。
在本发明所述的实时流媒体传输系统中,所述速率调整模块在播放终端缓冲区数据量大于第三阈值时以低于正常速率的第三速率发送数据、并在播放终端缓冲区数据量恢复到正常数据量时以正常速率发送数据,所述第三阈值大于缓冲区正常数据量。
在本发明所述的实时流媒体传输系统中,所述速率调整模块通过播放终端的RTSP请求中的速率参数改变发送数据的速率。
在本发明所述的实时流媒体传输系统中,所述速率调整模块根据播放终端定时报告的状态判断播放终端缓冲区中的数据量并决定数据发送速率。
本发明的实时流媒体传输方法及系统,根据缓冲区的数据量改变媒体服务器端的数据发送速率,保证在网络不稳定时的播放质量。本发明还通过缓存机制实现播放启动过程中的流量控制,实现快速启动,减少缓冲时用户等待的时间。
下面将结合附图及实施例对本发明作进一步说明,附图中
图1是现有的播放终端缓冲及解码的示意图;图2是本发明实时流媒体传输系统的媒体服务器与播放终端的连接图;图3是本发明实时流媒体传输方法中缓冲数据量与时间的关系图;图4是本发明实时流媒体传输方法中快速启动时的缓冲数据量与时间的关系图;图5是本发明实时流媒体传输方法的第一实施例的流程图;图6是本发明实时流媒体传输方法的第二实施例的流程图。
具体实施例方式
如图2所示,是本发明实时流媒体传输系统的媒体服务器与播放终端的连接图。在进行流媒体播放过程中,播放终端13与媒体服务器12通过RTSP(RealTime Streaming Protocol,实时流媒体传输协议)相互通信。播放终端13向媒体服务器12发送RTSP请求。在本实施例中,该RTSP请求中包括请求媒体服务器12发包的速率。媒体服务器12向播放终端13返回RTSP应答后,以播放终端13请求的速率向播放终端13发送媒体数据。
此外,也可通过媒体服务器12根据从播放终端13定时发送的状态报告(RTCP)来判断是否需要调整数据流量。
在本实施例中,媒体服务器12通过一个速率调整模块(图中未示出)来调整媒体服务器12发送数据的速率,该速率调整模块在播放终端13缓冲区数据量异常时改变向播放终端13发送数据的速率、并在播放终端13缓冲区数据量恢复到正常数据量时以正常速率发送数据。
在本实施例中,速率调整模块在播放终端13缓冲区数据量小于第二阈值时以高于正常速率的第二速率发送数据,其中第二阈值小于缓冲区正常数据量;速率调整模块在播放终端13缓冲区数据量大于第三阈值时以低于正常速率的第三速率发送数据,其中第三阈值大于缓冲区正常数据量。
该速率调整模块通过播放终端的RTSP请求中的速率参数改变发送数据的速率,或者根据播放终端定时报告的状态判断播放终端缓冲区中的数据量以决定数据发送速率。
如图3所示,是本发明实时流媒体传输方法中缓冲数据量与时间的关系图。在该图中,横轴表示时间,纵轴表示缓存区的数据量。
同时结合图5的本发明的第一实施例的流程图,在正常情况下,播放终端13的解码速率和缓冲速率相等,如图3所示的0-T1和T3以后的时间段,而播放终端13的缓冲区中的数据量处于正常水平(即Lnormal),此时媒体服务器12发送数据的速率为正常速率(步骤S51)。
在T1时间点,网络出现异常(抖动或时延),导致从播放终端13从网络接收数据的速率降低,从而播放终端13缓冲的速率小于解码的速率,因此缓冲区的数据量逐渐降低。
当播放终端13的缓冲区中的数据量小于第二阈值(即图中的Lwarning)时,即在T2时间点(步骤S52),播放终端13向媒体服务器12发送RTSP请求,请求媒体服务器12将发送速率提高到第二速率,该第二速率大于正常速率,从而使播放终端13的接收速率增大。媒体服务器12响应播放终端13的请求,以第二速率发送媒体数据。此时播放终端13缓存的速率大于播放终端13的解码速率,从而缓存区的数据量逐渐上升(步骤S53)。
当缓冲区的数据量恢复正常时,即在T3时间点(步骤S54),播放终端13向媒体服务器12发送的RTSP请求,请求媒体服务器12的发送速率恢复为正常速率。此时媒体服务器12响应播放终端13的请求,以正常速率发送媒体数据。
若由于网络中断等原因造成缓冲区数据量持续下降,并下降到第一阈值(如图所示的Lmin)以下,则播放终端13停止解码,直到缓冲区数据量达到第一阈值重新启动解码。
类似地,当在某一时间点上(图中未示出),缓冲区数据量达到第三阈值(即Lmax)时,播放终端13向媒体服务器12发送RTSP请求,请求媒体服务器12将发送速率变换到第三速率,该第三速率小于正常速率,从而使播放终端13的接收速率减小。此时播放终端13缓存的速率小于播放终端13的解码速率,从而缓存区的数据量逐渐下降。当缓冲区的数据量恢复正常时,播放终端13向媒体服务器12发送的RTSP请求,请求媒体服务器12的发送速率恢复为正常速率。
上述的第一阈值(Lmin)、第二阈值(Lwarning)、第三阈值(Lmax)可在正常数据量(Lnormal)基础上进行设定。假设缓冲量的波动小于20%,而播放终端的缓冲区为10M,则Lmax=10M×(1-20%)=8M;Lnormal=Lmax×(1-20%)=6.4M;Lwarning=Lnormal×(1-20%)=5.12M;Lmin为保证允许解码所需要的最少缓冲量,该值与具体的媒体格式有关,但一般很小,例如小于1%,即Lmin=10M×1%=0.1M。
上述的实时流媒体传输方法还可应用于流媒体播放的启动阶段,实现流媒体播放的快速启动。如图4所示,是本发明实时流媒体传输方法中快速启动时的缓冲数据量与时间的关系图。在该图中,横轴表示时间,纵轴表示缓存区的数据量。
同时结合图6的本发明的第二实施例的流程图,在开始点(即0时刻),播放终端13请求媒体服务器12以第一速率向播放终端13发送数据,该第一速率大于缓冲平衡时媒体服务器12发送数据的速率。此时播放终端开始缓冲数据,但不解码(步骤S61)。0~T1时间段缓存区数据量快速增加,直到缓冲区中的数据达到第一阈值(即Lmin)。
在T1时间点,当判断缓冲区中的数据达到第一阈值(步骤S62),播放终端13开始依次解码缓冲区中的数据,向显示设备输出音频和视频;同时,播放终端13向媒体服务器12发送RTSP请求,请求媒体服务器以大于正常速率且小于上述第一速率的第四速率发送数据,直到缓存区中的数据量达到正常数据量(Lnormal)。媒体服务器12响应播放终端13的请求,以第四速率向播放终端13发送媒体数据(步骤S63)。
当判断播放终端13的缓冲区数据量达到正常水平(Lnormal)(步骤S64),播放终端13通过RTSP请求使媒体服务器12以正常速率发送数据,使缓冲数据与解码数据的速率相同,从而使缓存区中的数据量维持正常数据量(Lnormal)(步骤S65)。
快速启动后,在网络正常情况下,播放终端13的缓存区数据量在正常数据量(Lnormal)附近波动。
在上述的第一实施例和第二实施例中,媒体服务器12发送数据速率的改变可由播放终端13发送带有请求速率的RTSP请求实现,也可通过媒体服务器12从播放终端13定时发送的状态报告(RTCP)来判断是否需要调整数据流量。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种实时流媒体传输方法,其特征在于,包括以下步骤(a)媒体服务器在播放终端缓冲区数据量异常时改变向播放终端发送数据的速率;(b)所述媒体服务器在播放终端缓冲区数据量恢复到正常数据量时恢复正常发送速率。
2.根据权利要求1所述的实时流媒体传输方法,其特征在于,还包括播放终端在缓冲区数据量大于或等于第一阈值时开始解码缓冲区中的数据,以及在播放终端缓冲区数据量小于第一阈值时停止解码缓冲区中的数据,所述第一阈值小于缓冲区正常数据量。
3.根据权利要求1所述的实时流媒体传输方法,其特征在于,在步骤(a)中,所述媒体服务器在所述播放终端缓冲区数据量小于第二阈值时以高于正常速率的第二速率发送数据,所述第二阈值小于缓冲区正常数据量。
4.根据权利要求1所述的实时流媒体传输方法,其特征在于,在步骤(a)中,所述媒体服务器在所述播放终端缓冲区数据量大于第三阈值时以低于正常速率的第三速率发送数据的步骤,所述第三阈值大于缓冲区正常数据量。
5.根据权利要求1所述的实时流媒体传输方法,其特征在于,还包括以下步骤媒体服务器在播放终端开始解码缓冲区中数据前以高于正常速率的第一速率发送数据,播放终端将接收的数据缓存到其缓冲区上;播放终端在其缓冲区数据量达到第一阈值时解码缓冲区中数据,同时以高于正常速率且低于第一速率的第四速率发送数据到播放终端;媒体服务器在播放终端的缓冲区数据量达到正常数据量时以正常速率发送数据到播放终端。
6.根据权利要求1所述的实时流媒体传输方法,其特征在于,在步骤(a)和(b)中,媒体服务器通过播放终端的RTSP请求中的速率参数改变发送数据的速率。
7.根据权利要求1所述的实时流媒体传输方法,其特征在于,在步骤(a)和(b)中,媒体服务器根据播放终端定时报告的状态判断播放终端缓冲区中的数据量并决定数据发送速率。
8.一种实时流媒体传输系统,包括相互连接的播放终端以及媒体服务器,所述播放终端具有一个缓存来自媒体服务器数据的缓冲区,其特征在于,所述媒体服务器中包括有调整媒体服务器发送数据速率的速率调整模块,所述速率调整模块在播放终端缓冲区数据量异常时改变向所述播放终端发送数据的速率、并在播放终端缓冲区数据量恢复到正常数据量时以正常速率发送数据。
9.根据权利要求8所述的实时流媒体传输系统,其特征在于,所述速率调整模块在播放终端缓冲区数据量小于第二阈值时以高于正常速率的第二速率发送数据、并在播放终端缓冲区数据量恢复到正常数据量时以正常速率发送数据,所述第二阈值小于缓冲区正常数据量。
10.根据权利要求8所述的实时流媒体传输系统,其特征在于,所述速率调整模块在播放终端缓冲区数据量大于第三阈值时以低于正常速率的第三速率发送数据、并在播放终端缓冲区数据量恢复到正常数据量时以正常速率发送数据,所述第三阈值大于缓冲区正常数据量。
11.根据权利要求8所述的实时流媒体传输系统,其特征在于,所述速率调整模块通过播放终端的RTSP请求中的速率参数改变发送数据的速率。
12.根据权利要求8所述的实时流媒体传输系统,其特征在于,所述速率调整模块根据播放终端定时报告的状态判断播放终端缓冲区中的数据量并决定数据发送速率。
全文摘要
本发明涉及一种实时流媒体传输方法,包括以下步骤(a)媒体服务器在播放终端缓冲区数据量异常时改变向播放终端发送数据的速率;(b)所述媒体服务器在播放终端缓冲区数据量恢复到正常数据量时恢复正常发送速率。本发明还提供一种对应的实时流媒体传输系统。本发明根据缓冲区的数据量改变媒体服务器端的数据发送速率,保证在网络不稳定时的流媒体播放质量。
文档编号H04L12/56GK1852229SQ200510100648
公开日2006年10月25日 申请日期2005年10月20日 优先权日2005年10月20日
发明者李绍军 申请人:华为技术有限公司