具有带宽适配功能的流媒体服务器的制作方法

文档序号:7629793阅读:126来源:国知局
专利名称:具有带宽适配功能的流媒体服务器的制作方法
技术领域
本发明涉及一种通讯设备技术领域,特别涉及一种媒体传送服务器。
背景技术
流媒体最先出现在固定互联网络。目前在网络上传输音视频等多媒体信息的方法主要采用下载和流式两种传输方案。对于下载方案而言,由于大文件往往需要大量的存储容量,同时受到网络带宽的限制,下载常常会花数分钟甚至数小时,延迟很大。对于流式传输而言,声音、影像或动画等文件边下载边播放,当声音等时基媒体在客户机上播放时,文件的剩余部分在后台从服务器内继续下载,不仅使启动延时呈十倍、百倍地缩短,而且也不需要太大的缓存容量,避免了用户必须等待整个文件全部从网上下载后才能观看的缺点。
移动流媒体业务系统的核心功能是通过移动通信网络向移动用户提供流媒体的在线播放和下载播放功能,在线播放同时还支持直播和点播两种服务形式。流媒体是指视频、声音等数据以实时传输协议承载,并以连续的流的形式从源端向目的端传输,在目的端接收到一定缓存数据后就可以播放出来的多媒体应用。移动流媒体技术能够实时播放音视频和多媒体内容。可以大大缩短启动延时,避免了用户必须等待整个文件全部从服务器源上下载完成后才能观看的缺点。播放的流媒体文件不需要在客户端保存,减少了对客户端存储空间的要求,也减少了缓存容量的需求。由于流媒体文件不在客户端保存,从而从一定程度上解决了媒体文件的版权保护问题。
因为媒体传送到播放终端后即可进行播放,所以流媒体业务形象的被称为“边下载边播放”的业务。实际上流方式和下载方式是不同的,下载方式需要将媒体完全下载到播放终端本地,才能进行播放,需要用户等待较长时间,相比而言,流方式给用户的感受更及时,用户不需要长时间等待。
在流媒体服务器将媒体内容以流方式发送到移动设备终端过程中,理想的情况是传输带宽保持恒定,传输的媒体内容编码带宽比传输带宽略小。这样播放终端将能很好的播放流媒体内容。但实际情况则并非如此。网络环境经常会发生变化,当网络传输带宽低于媒体编码带宽时,拥塞、丢包和传输延迟将会发生,播放终端将会出现中断播放或者马赛克现象,影响用户的媒体播放感受。
在无线网络下,由于移动设备终端的移动,无线传输信号的衰减以及无线带宽随时被语音或者其他优先级更高的业务占用,使得移动设备终端使用的无线链路带宽波动大,传输误码率高。为移动流媒体业务的开展增加了难度,如何能充分利用空中带宽,为用户提供优质流畅的流媒体感受,是本发明要解决的问题。

发明内容
本发明所要解决的技术问题在于提供了一种具有带宽适配功能的流媒体服务器。本发明流媒体服务器可以根据移动设备终端用户和网络系统的实际使用状况,提供带宽适配的功能。用户在播放流媒体内容时,流媒体服务器能够探测用户当前的实际带宽和终端解码情况,然后把以接近实际带宽速率压缩的内容发送给用户,保障用户能够在不同的带宽情况下都能看到无中断的播放。
为解决上述技术问题,本发明提供了一种具有带宽适配功能的流媒体服务器,包括服务器流协议模块、带宽分析模块、带宽选择模块、文件解析模块和媒体发送模块,其中服务器流协议模块,用于处理流媒体服务器与移动设备终端的通讯,将从移动设备终端接收到的带宽状况和媒体接收状况发送给带宽分析模块,并将从媒体发送模块返回的媒体内容返回给移动设备终端;带宽分析模块,用于根据服务器流协议模块发送的带宽状况和媒体接收状况分析发送媒体带宽和发送速度,并且将分析的媒体带宽结果发送给带宽选择模块,将分析的发送速度结果发送给媒体发送模块;
带宽选择模块,用于向文件解析模块请求媒体内容,根据带宽分析模块发送的媒体带宽结果将文件解析模块返回的媒体内容进行带宽切换,并将切换后的媒体内容返回媒体发送模块;文件解析模块,流媒体服务器与媒体提供服务器的接口,用于从媒体提供服务器中获取相应的媒体内容,并向带宽选择模块返回获得的媒体内容;媒体发送模块,根据带宽分析模块返回的发送速度和带宽选择模块返回的媒体内容,将媒体内容返回到服务器流协议模块。
所述流媒体服务器中,带宽分析模块可以通过服务器流协议模块定时接收移动设备终端上报的带宽状况和媒体接收状况。
所述流媒体服务器中,服务器流协议模块在接收到带宽状况和媒体接收状况后,传送到带宽分析模块,带宽分析模块可以依据带宽状况和媒体接收状况确定传送的媒体带宽以及发送速度;如果需要调整媒体带宽,则可以由带宽选择模块进行同一媒体内容的不同带宽切换,并由媒体发送模块进行发送。
所述流媒体服务器中,带宽检测模块从移动设备终端获取的媒体接收状况可以包括移动设备终端的解码前缓冲区的平均空闲比例、解码后缓冲区的平均空闲比例和空闲缓冲区减少速度。
所述流媒体服务器中,带宽分析模块将当前带宽与前两次带宽的平均值做比较,如果前两次带宽的平均值与当前带宽之差在设定误差范围内,则不需要进行带宽改变;如果超过设定的误差范围,则可以将分析结果发送带宽选择模块进行带宽切换。
所述流媒体服务器中,如果带宽检测模块上报移动设备终端缓冲区平均空闲比例大于一个设定值,而且传输带宽高于媒体带宽,带宽分析模块可以在保证发送带宽小于传输带宽的前提下提高发送速度。
所述流媒体服务器中,如果带宽分析模块上报移动设备终端空闲缓冲区减小速度达到或超过数据发送速度的一个设定比例,则带宽选择模块可以调整媒体带宽,并将调整结果发送带宽选择模块进行同一媒体内容的带宽切换。
所述流媒体服务器中,带宽检测模块从移动设备终端获取的网络带宽状况可以包括网络的可确保带宽,最大带宽以及最大网络延时。
本发明具有带宽适配功能的流媒体服务器可以根据网络状况和媒体接收状况自动调整媒体文件发送速度和编码带宽,保证了媒体文件在移动设备终端的播放效果。


图1为根据本发明实施例所述的具有带宽适配功能的流媒体服务器的模块结构图;图2为根据本发明实施例所述的具有带宽适配功能的流媒体服务器的工作流程图。
图3为根据本发明实施例所述的具有带宽适配功能的流媒体服务器的工作框架流程图。
具体实施例方式
本发明流媒体服务器工作的基本原理是流媒体服务器定时从移动设备终端获取接收缓冲区状况以及解码状态。流媒体服务器在进行快速和慢速发送过程中,依据这些信息,调整发送速度,保证媒体在移动设备终端以最好的效果进行播放。这里的快速发送是指增大发送的媒体编码带宽,或者加大发送数据包的速度。慢速发送是指降低发送的媒体编码带宽。正常的发送速度是指依据媒体带宽确定的媒体发送速度。
依据上述原理,本发明流媒体服务器的工作过程为1、移动设备终端的带宽检测模块通过无线模块获得当前的带宽状况,带宽状况包括可确保的带宽,最大的带宽,最大的时延。这些信息将在RTSP请求消息的3GPP-LINK-CHAR中携带给流媒体服务器。流媒体服务器的流协议处理模块接收这些信息。
2、流媒体服务器告诉移动设备终端服务器具备带宽适配功能以及移动设备所选媒体内容的多种码率信息。在移动设备与流媒体服务器建立流协议会话时,流媒体服务器在discribe的响应消息中携带上述信息。
3、移动设备终端将自己的缓冲区大小及期望的缓冲时间传送给流媒体服务器。可采用SETUP,SET_PARAMETER消息的3GPP-ADAPTATION字段进行发送。流媒体服务器在响应消息中返回同样的3GPP-ADAPTATION字段信息表示确认。
4、在进行媒体流传送过程中,移动设备终端定时给流媒体服务器返回移动设备终端的缓冲区空闲大小,播放延时,待解码的媒体包对应的下一个RTP包的序列号,带解码的媒体包在RTP包中的序号信息。这些信息在RTCP包中作为应用包进行传递。流媒体服务器的流协议处理模块接收这些信息。
5、移动设备终端接收媒体流并播放时采用缓冲区机制,缓冲区分成解码前缓冲区,解码后缓冲区,同时有两个定时器,一个解码定时器,一个播放定时器。移动设备终端缓冲区接收到媒体流信息后放到解码前缓冲区,当解码定时器到,进行解码,并将内容放置解码后缓冲区,在播放定时器到后,从解码后缓冲区中取出内容,在播放模块中进行播放。
6、流媒体服务器上的流协议处理模块收到信息后,传送到带宽分析模块,带宽分析模块依据无线带宽信息,移动设备终端的解码速度,空闲缓冲区大小确定传送的媒体带宽以及发送速度。如果需要调整媒体带宽,则由带宽选择模块进行同一媒体的相同内容的不同带宽切换。媒体发送模块进行发送。
如图1所示,本发明一实施例为一种流媒体服务器的模块结构图,其中流媒体服务器201包括服务器流协议模块101、带宽分析模块102、带宽选择模块103、文件解析模块104、媒体发送模块105。
服务器流协议模块101,用于处理流媒体服务器与移动设备终端的通讯,将从移动设备终端接收到的带宽状况和媒体接收状况发送给带宽分析模块102,并将从媒体发送模块105返回的媒体内容返回给移动设备终端;带宽分析模块102,用于根据服务器流协议模块101发送的带宽状况和媒体接收状况分析发送媒体带宽和发送速度,并且将分析的媒体带宽结果发送给带宽选择模块103,将分析的发送速度结果发送给媒体发送模块105;带宽选择模块103,用于向文件解析模块请求媒体内容,根据带宽分析模块102发送的媒体带宽结果将文件解析模块104返回的媒体内容进行带宽切换,并将切换后的媒体内容返回媒体发送模块105;文件解析模块104,流媒体服务器与媒体提供服务器的接口,用于从媒体提供服务器中获取相应的媒体内容,并向带宽选择模块103返回获得的媒体内容;媒体发送模块105,根据带宽分析模块102返回的发送速度和带宽选择模块103返回的媒体内容,将媒体内容返回到服务器流协议模块;如图2所示,为本发明实施例具有带宽适配功能的流媒体服务器的工作流程图。本发明实施例流媒体服务器工作的具体流程步骤为1、流媒体服务器的流协议模块将收到的带宽相关信息发送到带宽分析模块。
2、带宽分析模块依据一定的规则,决定媒体带宽值,发送给带宽选择模块。
3、依据缓冲区状态,如果需要调整发送速度,带宽分析模块将发送速度信息发送到媒体发送模块。
4、带宽选择模块向文件解析模块请求媒体内容,可以是同一媒体内容的带宽切换,也可是同一媒体内容的同样带宽内容。
5、文件解析模块向带宽分析模块返回媒体内容。
6、带宽分析模块将返回的媒体内容转发给媒体发送模块。
7、媒体发送模块依据发送速度计算发送时间,发送时间到,将媒体内容发送。
如图3所示,为本发明实施例具有带宽适配功能的流媒体服务器的工作框架流程图。
本实施例的工作框架流程图以流媒体协议会话开始为例,在建立流媒体会话,进行媒体流传送的过程中,出现传输带宽变化以及移动设备终端缓冲区变化等,流媒体服务器依据移动设备终端上报的信息,选择合适的媒体内容发送到移动设备终端完成带宽适配。具体流程及步骤如下(步骤301)移动设备终端向流媒体服务器发送DISCRIBE消息,流媒体服务器在SDP文件中返回移动设备终端所选媒体的各种带宽信息。SDP文件格式如3GPP PSS R6 5.3.3节规定。如果流媒体服务器返回的SDP文件不包含3GPP PSS R6 5.3.3节规定的内容,表明不支持动态带宽适配,则不需要后续步骤。
(步骤302)移动设备终端在后续的SETUP消息中,携带3GPP-LINK-CHAR和3GPP-ADAPTATION字段,其中3GPP-LINK-CHAR携带的当前带宽信息是从移动设备终端的无线模块获得,包括最大带宽,可确保带宽,最大延迟。3GPP-ADAPTATION字段携带信息包括现有的缓冲区大小以及期望的缓冲时间。这两个字段的格式符合3GPP PSS R6的5.3.2.1和5.3.2.2标准。
(步骤303)流媒体服务器的带宽分析模块选择移动设备终端提交的可确保带宽为待选择的媒体带宽,带宽选择模块通过文件解析模块从媒体内容中选择合适带宽的媒体内容的信息,由流协议模块在SETUP响应消息中返回给移动设备终端,可选择与此带宽最接近的媒体内容。也就是媒体带宽与可确保带宽之差的绝对值最小的媒体内容。
(步骤304)移动设备终端接收到SETUP响应消息,发送PLAY消息,开始进行媒体播放。在媒体播放过程中,移动设备终端的带宽检测模块定时从无线模块获取当前带宽。
同时,移动设备终端的带宽检测模块在需要发送RTCP包时,向缓冲区模块发送消息获取缓冲区状况以及解码状态,采用RTCP包将这些信息发送到流媒体服务器。并在RTSP消息中定时向流媒体服务器上报带宽信息,移动设备终端的带宽检测模块将带宽信息发送到流媒体服务器。流协议模块采用SET_PARAMETER方法的3GPP-LINK-CHAR字段携带当前带宽信息。
(步骤305)流媒体服务器的流协议模块将3GPP-LINK-CHAR字段的信息发送到带宽分析模块,带宽分析模块取得当前带宽与前两次带宽和的平均值,如果当前带宽的平均值与媒体带宽在设定误差范围内,则不需要进行带宽改变,如果超过设定的误差范围,则需要进行带宽改变。当前值以平均带宽值为准。本实例中仅选择平均值方式,也可采用其他算法。
带宽分析模块将期望的带宽值发送给带宽选择模块,并告知当前播放的时间标记,时间标记采用NPT(正常播放时间)格式。带宽选择模块依据媒体带宽信息以及当前播放时间,向文件解析模块发送消息,获取相应的媒体内容,文件解析模块向带宽选择模块返回媒体内容指针,带宽选择模块将媒体内容指针传送给媒体发送模块,媒体发送模块按照设定的发送速度将媒体内容指针转发给流协议模块,流协议模块将媒体内容发送给移动设备终端。
正常情况下,媒体发送模块依据前后两个媒体包的npt时间间隔为为准,收到要发送的媒体数据包后,设置定时器,定时器长度保证前后发送的两个数据包之间的发送时间之差与两个媒体包的npt时间差相等。
当移动设备终端上报缓冲区空闲空间较大,而且传输带宽高于媒体带宽的情况下,可缩短前后两个媒体包之间的发送间隔,但是保证发送带宽小于传输带宽。可简单的取传输带宽与数据包的大小整除的商值,这样媒体包之间的发送间隔即为商值倒数个秒。按照此时间间隔发送媒体包。
当移动设备终端上报空闲缓冲区大小太小,本实例中以空闲比例占20%为太小,流媒体服务器恢复到正常情况的发送。如果移动设备上报的信息中包含解码延迟增大,并且空闲缓冲区减少速度过快,本实例中以增长速度达到数据发送速度的50%为准。表示是移动设备处理能力太低的原因,则需要调整媒体带宽。
采用较低带宽的媒体内容继续向移动设备终端发送,如果依然发现移动设备终端空闲缓冲区减小速度过快,且解码延迟依然在增大,则进一步降低发送的媒体带宽,直到能保证在正常的发送速度下,移动设备终端空闲缓冲区保持动态平衡。也就是移动设备终端空闲缓冲区大小在一段时间内平均值恒定。
权利要求
1.一种具有带宽适配功能的流媒体服务器,其特征在于,包括服务器流协议模块、带宽分析模块、带宽选择模块、文件解析模块和媒体发送模块,其中服务器流协议模块,用于与移动设备终端的通讯,将从移动设备终端接收到的带宽状况和媒体接收状况发送给带宽分析模块,并将从媒体发送模块返回的媒体内容返回给移动设备终端;带宽分析模块,用于根据服务器流协议模块发送的带宽状况和媒体接收状况分析发送媒体带宽和发送速度,并且将分析的媒体带宽结果发送给带宽选择模块,将分析的发送速度结果发送给媒体发送模块;带宽选择模块,用于向文件解析模块请求媒体内容,根据带宽分析模块发送的媒体带宽结果将文件解析模块返回的媒体内容进行带宽切换,并将切换后的媒体内容返回媒体发送模块;文件解析模块,流媒体服务器与媒体提供服务器的接口,用于从媒体提供服务器中获取相应的媒体内容,并向带宽选择模块返回获得的媒体内容;媒体发送模块,根据带宽分析模块返回的发送速度和带宽选择模块返回的媒体内容,将媒体内容返回到服务器流协议模块。
2.根据权利要求1所述流媒体服务器,其特征在于,带宽分析模块通过服务器流协议模块定时接收移动设备终端上报的带宽状况和媒体接收状况。
3.根据权利要求1所述流媒体服务器,其特征在于,服务器流协议模块接收到带宽状况和媒体接收状况后,传送到带宽分析模块,带宽分析模块依据带宽状况和媒体接收状况确定传送的媒体带宽以及发送速度;如果需要调整媒体带宽,则由带宽选择模块进行同一媒体内容的不同带宽切换,并由媒体发送模块进行发送。
4.根据权利要求1所述流媒体服务器,其特征在于,带宽检测模块从移动设备终端获取的媒体接收状况包括移动设备终端的解码前缓冲区的平均空闲比例、解码后缓冲区的平均空闲比例和空闲缓冲区减少速度。
5.根据权利要求1所述流媒体服务器,其特征在于,带宽分析模块将当前带宽与前两次带宽的平均值做比较,如果前两次带宽的平均值与当前带宽之差在设定误差范围内,则不需要进行带宽改变;如果超过设定的误差范围,则将分析结果发送带宽选择模块进行带宽切换。
6.根据权利要求1所述流媒体服务器,其特征在于,如果带宽检测模块上报移动设备终端缓冲区平均空闲比例大于一个设定值,而且传输带宽高于媒体带宽,带宽分析模块在保证发送带宽小于传输带宽的前提下提高发送速度。
7.根据权利要求1所述流媒体服务器,其特征在于,如果带宽分析模块上报移动设备终端空闲缓冲区减小速度达到或超过数据发送速度的一个设定比例,则带宽选择模块调整媒体带宽,并将调整结果发送带宽选择模块进行同一媒体内容的带宽切换。
8.根据权利要求1所述流媒体服务器,其特征在于,带宽检测模块从移动设备终端获取的网络带宽状况包括网络的可确保带宽,最大带宽以及最大网络延时。
全文摘要
本发明提供了一种具有带宽适配功能的流媒体服务器,包括服务器流协议模块、带宽分析模块、带宽选择模块、文件解析模块、媒体发送模块。移动设备终端定时向服务器流协议模块上报接收到的带宽状况和媒体接收状况,服务器流协议模块将这些信息传送到带宽分析模块确定传送的媒体带宽以及发送速度,并由媒体发送模块进行发送。使用本发明流媒体服务器传送流媒体,可以根据网络状况和媒体接收状况自动调整媒体文件发送速度和编码带宽,保证了媒体文件在移动设备终端的播放效果。
文档编号H04L29/00GK1992886SQ20051013545
公开日2007年7月4日 申请日期2005年12月28日 优先权日2005年12月28日
发明者李凤军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1