一种流媒体带宽适配系统的制作方法

文档序号:7629792阅读:122来源:国知局
专利名称:一种流媒体带宽适配系统的制作方法
技术领域
本发明涉及一种计算机网络应用系统技术领域,特别涉及一种网络带宽适配系统。
背景技术
移动流媒体业务根据播放方式可以分为以下两类。
(1)在线播放终端播放器实时从流媒体服务器上获取流媒体数据,边下载边播放,流媒体内容不需要存储在用户的终端设备上。如果用户需要多次播放同一内容,每一次都需要从流媒体服务器上重新获取数据。对于在线播放的内容,由于是边下载边播放,播放效果在很大程度上依赖于网络带宽,所以需要根据运营商网络的实际带宽状况,选择合适的压缩参数制作内容。
(2)下载播放用户将流媒体内容下载并存储到本地终端中,然后可以选择在任意时间进行播放。对于下载播放,主要的限制指标是终端的处理能力和存储容量,内容提供商可制作出较高质量的视频内容(高带宽、高帧速率),但需要考虑内容的下载时间及终端的存储空间。
移动流媒体系统结构移动流媒体业务系统的核心功能是通过移动通信网络向移动用户提供流媒体的在线播放和下载播放功能,在线播放同时还支持直播和点播两种服务形式。流媒体是指视频、声音等数据以实时传输协议承载,并以连续的流的形式从源端向目的端传输,在目的端接收到一定缓存数据后就可以播放出来的多媒体应用。移动流媒体技术有三大特点1.能够实时播放音视频和多媒体内容。这样可以大大缩短启动延时,避免了用户必须等待整个文件全部从服务器源上下载完成后才能观看的缺点。
2.播放的流媒体文件不需要在客户端保存,减少了对客户端存储空间的要求,也减少了缓存容量的需求。
3.由于流媒体文件不在客户端保存,从而从一定程度上解决了媒体文件的版权保护问题。
因为媒体传送到播放终端后即可进行播放,所以流媒体业务形象的被称为“边下载边播放”的业务。实际上流方式和下载方式是不同的,下载方式需要将媒体完全下载到播放终端本地,才能进行播放,需要用户等待较长时间,相比而言,流方式给用户的感受更及时,用户不需要长时间等待。
在流服务器将媒体内容以流方式发送到移动设备终端过程中,理想的情况是传输带宽保持恒定,传输的媒体内容编码带宽比传输带宽略小。这样播放终端将能很好的播放流媒体内容。但实际情况则并非如此。网络环境经常会发生变化,当网络传输带宽低于媒体编码带宽时,拥塞、丢包和传输延迟将会发生,播放终端将会出现中断播放或者马赛克现象,影响用户的媒体播放感受。
在无线网络下,由于移动设备终端的移动,无线传输信号的衰减以及无线带宽随时被语音或者其他优先级更高的业务占用,使得移动设备终端使用的无线链路带宽波动大,传输误码率高。为移动流媒体业务的开展增加了难度,如何能充分利用空中带宽,为用户提供优质流畅的流媒体感受,是本发明系统要解决的问题。

发明内容
本发明所要解决的技术问题在于提供了一种流媒体带宽适配系统。使用本发明系统,可以使流服务器根据移动设备终端用户和网络系统的实际使用状况,提供带宽适配的功能。当用户在播放流媒体内容时,流媒体业务平台能够探测用户当前的实际带宽和终端解码情况,然后把以接近实际带宽速率压缩的内容发送给用户,保障用户能够在不同的带宽情况下都能看到无中断的播放。
为解决上述技术问题,本发明提供了一种流媒体带宽适配系统,包括流服务器、媒体提供服务器、移动设备终端,所述流服务器包括服务器流协议模块、带宽分析模块、带宽选择模块、文件解析模块、媒体发送模块;所述移动设备终端包括终端流协议模块、无线模块、带宽检测模块、缓冲区模块和播放模块,其中服务器流协议模块,用于处理流服务器与移动设备终端的通讯,将从终端流协议模块接收到的带宽状况和媒体接收状况发送给带宽分析模块,并将从媒体发送模块返回的媒体内容返回给终端流协议模块;带宽分析模块,用于根据服务器流协议模块发送的带宽状况和媒体接收状况分析发送媒体带宽和发送速度,并且将分析的媒体带宽结果发送给带宽选择模块,将分析的发送速度结果发送给媒体发送模块;带宽选择模块,用于向文件解析模块请求媒体内容,根据带宽分析模块发送的媒体带宽结果将文件解析模块返回的媒体内容进行带宽切换,并将切换后的媒体内容返回媒体发送模块;文件解析模块,流服务器与媒体提供服务器的接口,用于从媒体提供服务器中获取相应的媒体内容,并向带宽选择模块返回获得的媒体内容;媒体发送模块,根据带宽分析模块返回的发送速度和带宽选择模块返回的媒体内容,将媒体内容返回到服务器流协议模块;终端流协议模块,用于处理移动设备终端与流服务器的通讯,将从带宽检测模块接收到的带宽状况和媒体接收状况发送给服务器流协议模块,并将服务器流协议模块返回的媒体内容返回缓冲区模块;无线模块,用于无线网络与有线网络上的流服务器进行数据通讯,并将获得的带宽状况发送给带宽检测模块;带宽检测模块,用于向无线模块获取带宽状况,向缓冲区模块获取媒体接收状况,并将带宽状况和媒体接收状况发送到终端流协议模块;缓冲区模块,用于根据移动设备终端缓冲区大小向带宽检测模块发送媒体接收状况,并将接收自终端流协议模块的媒体内容存入缓冲区,在播放时序到达的时候发送给播放模块;播放模块,用于从缓冲区模块获取媒体内容,进行媒体播放。
使用本发明系统,流媒体系统可以根据网络状况和媒体接收状况自动调整媒体文件发送速度和编码带宽,保证了媒体文件在移动设备终端的播放效果。


图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所示,本发明一实施例为一种流媒体带宽适配系统的系统结构图,图中各部分分别为媒体提供服务器101、流服务器102、移动设备终端103。
流服务器102包括服务器流协议模块,用于处理流服务器与移动设备终端的通讯,将从终端流协议模块接收到的带宽状况和媒体接收状况发送给带宽分析模块,并将从媒体发送模块返回的媒体内容返回给终端流协议模块;带宽分析模块,用于根据服务器流协议模块发送的带宽状况和媒体接收状况分析发送媒体带宽和发送速度,并且将分析的媒体带宽结果发送给带宽选择模块,将分析的发送速度结果发送给媒体发送模块;带宽选择模块,用于向文件解析模块请求媒体内容,根据带宽分析模块发送的媒体带宽结果将文件解析模块返回的媒体内容进行带宽切换,并将切换后的媒体内容返回媒体发送模块;文件解析模块,流服务器与媒体提供服务器的接口,用于从媒体提供服务器中获取相应的媒体内容,并向带宽选择模块返回获得的媒体内容;媒体发送模块,根据带宽分析模块返回的发送速度和带宽选择模块返回的媒体内容,将媒体内容返回到服务器流协议模块;移动设备终端103包括终端流协议模块,用于处理移动设备终端与流服务器的通讯,将从带宽检测模块接收到的带宽状况和媒体接收状况发送给服务器流协议模块,并将服务器流协议模块返回的媒体内容返回缓冲区模块;无线模块,用于无线网络与有线网络上的流服务器进行数据通讯,并将获得的带宽状况发送给带宽检测模块;带宽检测模块,用于向无线模块获取带宽状况,向缓冲区模块获取媒体接收状况,并将带宽状况和媒体接收状况发送到终端流协议模块;缓冲区模块,用于根据移动设备终端缓冲区大小向带宽检测模块发送媒体接收状况,并将接收自终端流协议模块的媒体内容存入缓冲区,在播放时序到达的时候发送给播放模块;播放模块,用于从缓冲区模块获取媒体内容,进行媒体播放。
如图2所示,为本发明实施例一种流媒体带宽适配系统的模块工作流程图。本发明实施例系统工作的具体流程步骤为1、移动设备终端的带宽检测模块通过无线模块获得当前的带宽状况,带宽状况包括可确保的带宽,最大的带宽,最大的时延。这些信息将在RTSP请求消息的3GPP-LINK-CHAR中携带给流服务器。流服务器的流协议处理模块接收这些信息。
2、移动设备终端的带宽检测模块在需要的时候向缓冲区模块获取缓冲区空闲大小,播放延时,待解码的媒体包对应的下一个RTP包的序列号,待解码的媒体包在RTP包中的序号信息。
3、带宽检测模块将带宽相关信息发送到流协议模块。
4、流协议模块在RTSP协议的SETUP、PLAY、OPTION,SET_PARAMETER方法的3GPP-LINK-CHAR字段向流服务器报告当前带宽情况。对于移动设备终端实时的缓冲区信息(步骤2得到的内容),流协议模块采用RTCP协议向流媒体服务器传送。移动设备终端还采用SETUP,SET_PARAMETER消息的3GPP-ADAPTATION字段将自己的缓冲区大小及期望的缓冲时间传送给流服务器。流服务器在响应消息中返回同样的3GPP-ADAPTATION字段信息表示确认。
5、流媒体服务器的流协议模块将收到的带宽相关信息发送到带宽分析模块,6、带宽分析模块依据一定的规则,决定媒体带宽值,发送给带宽选择模块。
7、依据缓冲区状态,如果需要调整发送速度,带宽分析模块将发送速度信息发送到媒体发送模块。
8、带宽选择模块向文件解析模块请求媒体内容,可以是同一媒体内容的带宽切换,也可是同一媒体内容的同样带宽内容。
9、文件解析模块向带宽分析模块返回媒体内容。
10、带宽分析模块将返回的媒体内容转发给媒体发送模块。
11、媒体发送模块依据发送速度计算发送时间,发送时间到,将媒体媒体内容发送到流协议模块。
12、流协议模块将媒体内容发送到移动设备终端的流协议模块。
13、流协议模块将媒体信息发送缓冲区中。
14、移动设备终端的缓冲区分成解码前缓冲区,解码后缓冲区,同时有两个定时器,一个解码定时器,一个播放定时器。移动设备终端缓冲区接收到媒体流信息后放到解码前缓冲区,当解码定时器到,进行解码,并将内容放置解码后缓冲区,在播放定时器到后,从解码后缓冲区中取出内容,在播放模块中进行播放。媒体信息送到媒体播放模块,进行媒体播放。
如图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.根据权利要求4所述系统,其特征在于,带宽检测模块从缓冲区模块获取的媒体接收状况包括移动设备终端的解码前缓冲区的平均空闲比例、解码后缓冲区的平均空闲比例和空闲缓冲区减少速度。
6.根据权利要求1所述系统,其特征在于,带宽分析模块将当前带宽与前两次带宽的平均值做比较,如果前两次带宽的平均值与当前带宽之差在设定误差范围内,则不需要进行带宽改变;如果超过设定的误差范围,则将分析结果发送带宽选择模块进行带宽切换。
7.根据权利要求1所述系统,其特征在于,如果带宽检测模块上报移动设备终端缓冲区平均空闲比例大于一个设定值,而且传输带宽高于媒体带宽,带宽分析模块在保证发送带宽小于传输带宽的前提下提高发送速度。
8.根据权利要求1所述系统,其特征在于,如果带宽分析模块上报移动设备终端空闲缓冲区减小速度达到或超过数据发送速度的一个设定比例,则带宽选择模块调整媒体带宽,并将调整结果发送带宽选择模块进行同一媒体内容的带宽切换。
9.根据权利要求1所述系统,其特征在于,带宽检测模块从无线模块获取的网络带宽状况包括网络的可确保带宽,最大带宽以及最大网络延时。
全文摘要
本发明提供了一种流媒体带宽适配系统,包括流服务器、媒体提供服务器、移动设备终端。其中,流服务器包括服务器流协议模块、带宽分析模块、带宽选择模块、文件解析模块、媒体发送模块;移动设备终端包括终端流协议模块、无线模块、带宽检测模块、缓冲区模块和播放模块。移动设备终端通过无线模块和带宽检测模块定时向服务器流协议模块上报接收到带宽状况和媒体接收状况,服务器流协议模块将这些信息传送到带宽分析模块确定传送的媒体带宽以及发送速度,并由媒体发送模块进行发送。使用本系统传送流媒体,可以根据网络状况和媒体接收状况自动调整媒体文件发送速度和编码带宽,保证了媒体文件在移动设备终端的播放效果。
文档编号H04L29/00GK1992891SQ20051013545
公开日2007年7月4日 申请日期2005年12月28日 优先权日2005年12月28日
发明者李凤军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1