一种流媒体传输优化方法及装置制造方法及图纸

技术编号:15653067 阅读:128 留言:0更新日期:2017-06-17 07:05
本发明专利技术公开了一种流媒体传输优化方法及装置,该方法包括:流媒体服务器开始以RTP报文向终端发送流媒体数据;终端将检测丢失RTP报文,并通过丢包监测窗口聚合一组丢失RTP报文的序号后,通过RTSP信令向媒体服务器发起该组丢失RTP报文的重传请求;流媒体服务器根据重传请求RTSP信令,通过原流媒体数据传输通道向终端重传相应RTP报文;终端将收到重传RTP报文插入到对应位置;实时监测缓存状态,控制流媒体服务器的流媒体数据以及重传RTP报文发流速率。本发明专利技术采用丢包重传技术,并在流量控制技术的支持下,使丢包重传也有简单的拥塞避免机制,不仅提高了流媒体的传输质量,还增加了终端设备的媒体缓存能力,提高IPTV播放质量及流畅性。

【技术实现步骤摘要】
一种流媒体传输优化方法及装置
本专利技术涉及流媒体传输与控制技术,具体涉及一种流媒体传输优化方法及装置。
技术介绍
IPTV业务基于网络层传输协议TCP/UDP进行数据传送。其中,TCP是面向连接的传输,可靠性好,但传输的效率低,在网络质量不好的情况下,实时性差;UDP不是面向连接的传输,可靠性差,会发生数据包丢失,但传输的效率以及实时性较高。目前市场上,各运营商在各地区对于两种流媒体数据传输方式都有应用,但基于对实时性要求和网络负载的考虑,首选方案较多为UDP,因此在UDP传输的应用场景中,经常会出现因为丢包和抖动等异常因素引起的视频卡顿、花屏,影响流媒体播放效果。
技术实现思路
本专利技术所要解决的技术问题是以UDP为数据传输基础的IPTV架构中,在保证IPTV播放实时性的前提下,如何提高传输可靠性、网络适应性以及增强本地缓存能力的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供一种流媒体传输优化方法,包括以下步骤:步骤S10、终端与流媒体服务器之间进行支持丢包重传的初始化后,流媒体服务器开始以RTP报文向终端发送流媒体数据;步骤S20、终端将检测丢失RTP报文,并经丢包监测窗口聚合一组丢失RTP报文的序号后,通过RTSP信令向媒体服务器发起该组丢失RTP报文的重传请求;步骤S30、流媒体服务器根据重传请求RTSP信令,通过原流媒体数据传输通道向终端重传相应RTP报文;步骤S40、终端将收到重传RTP报文插入到对应位置;步骤S50、终端实时监测缓存状态,控制流媒体服务器的流媒体数据以及重传RTP报文发流速率,调整其缓存区。在上述方法中,步骤S10包括以下步骤:步骤S11、终端收到应用发来的基于RTSP协议的流媒体播放任务,向流媒体服务器的RTSP服务器发起描述播放任务请求,并在描述播放任务请求信令中申明丢包重传能力;步骤S12、RTSP服务器回应描述播放任务请求,并表示支持“丢包重传”功能;步骤S13、媒体服务器获取描述播放任务请求信令中携带的终端流媒体接收地址,并以RTP报文方式开始向终端发送流媒体数据。在上述方法中,步骤S20包括以下步骤:步骤S21、终端在接收流媒体数据时,根据RTP报文序号检测RTP报文丢失,将检测到的丢失RTP报文序号记录到丢包监测窗口,丢包数加1;步骤S22、判断丢包监测窗口的丢包数是否为1;如是,转步骤S23;否则,转步骤S24;步骤S23、启动丢包监测计时器,执行步骤S21;步骤S24、判断丢包监测窗口中丢包数是否达到预设值,如是,转步骤S26;否则,转步骤S25;步骤S25、判断丢包监测计时器是否超时,如果超时,转步骤S26;否则,转步骤S21;步骤S26、取消丢包监测计时器,转步骤S27;步骤S27、终端把丢包监测窗口中所有丢包RTP报文记录转移到重传等待队列中,并向流媒体服务器发起丢包重传请求,丢包重传请求信令携带所有丢包监测窗口中丢包RTP报文的序号。在上述方法中,在步骤S27中,在终端把丢包监测窗口中所有丢包RTP报文记录转移到重传等待队列中时,清空丢包监测窗口丢包RTP报文序号记录及记数,准备开始下一轮丢包监测,并针对重传等待队列中的每个丢包RTP报文将记录开启重传等待循环计时器,定时清理丢包重传队列中等待重传、但是对应的重传等待循环计时器超时的丢包RTP报文记录。在上述方法中,步骤S40具体包括以下步骤:步骤S41、当收到新的RTP报文时,判断是否是有效的重传RTP报文,如是,转步骤S42;否则,转步骤S43;步骤S42、将收到的重传RTP报文根据其报文序号插入到终端接收流媒体数据的缓存区的相应位置,并从重传等待队列中删除对应的丢包RTP报文记录,转步骤S44;步骤S43、此报文已过期,丢弃;步骤S44、判断重传等待队列中是否还有丢包RTP报文记录,如果是,转步骤S41;否则,结束程序。在上述方法中,步骤S50包括以下步骤:步骤S51、终端实时监测缓存状态,如超过了缓存上溢或下溢的预警线,则向流媒体服务器发出携带指定的发流速度和需要调整的缓存大小信息的发流速率调整请求指令;步骤S52、流媒体服务器根据终端的请求,基于指定的发流速度和终端需要调整的缓存大小信息确定发流速率调整的时间,进行流媒体数据以及重传RTP报文的发流速率调整。在上述方法中,步骤S51包括以下步骤:步骤S511、终端收到应用发来的基于RTSP协议的流媒体播放任务,向RTSP服务器发起描述请求,并在描述请求信令中申明流量控制功能的支持能力;步骤S512、RTSP服务器回应描述请求,表示支持“流量控制”功能;步骤S513、终端与RTSP服务器之间完成流量控制初始化,发出播放信令,播放信令携带初始发流速度和本地缓存大小的上溢门限;步骤S514、终端接收到流媒体数据以及重传RTP报文,存放到缓冲区;步骤S515、如果终端检测到RTP报文的丢包率明显提升或下降,或者本地缓存出现上溢或下溢,终端通过设置缓存参数信令向服务器请求调整发流速度,发流速度调整方案为:(1)本地缓存下溢:请求增大发流速度;(2)本地缓存上溢:请求减小发送速度;(3)报文丢包率上升:如果当前处于加速发流,应向服务器请求取消加速发流;如当前速率正常,且缓存数据较多,则可向服务器请求以慢速发流。在上述方法中,在步骤S52中,发流速率调整时间=缓存大小的上溢门限/(码率×请求速率);在发流速率调整时间内以码率与请求速率之积作为发流速度,向终端发送流媒体数据以及重传RTP报文。本专利技术还提供了一种流媒体传输优化装置,包括流媒体服务器和终端;所述流媒体服务器包括主控模块、RTSP服务器以及媒体数据发送模块;所述终端包括RTSP客户机、缓存管理模块以及数据接收和处理模块;所述RTSP客户机发送申明支持丢包重传的播放任务请求,所述RTSP服务器回应该请求,完成终端与流媒体服务器之间支持丢包重传的初始化;所述主控模块根据播放任务请求控制所述媒体数据发送模块开始以RTP报文向所述数据接收和处理模块发送流媒体数据;所述数据接收和处理模块检测接收的RTP报文,并经通过丢包监测窗口聚合一组丢失RTP报文的序号后,通过所述RTSP客户机向所述流媒体服务器发起该组丢失RTP报文的重传请求;所述RTSP服务器处理丢失RTP报文的重传请求,并发给所述主控模块;所述主控模块根据重传请求控制所述媒体数据发送模块通过原流媒体数据传输通道向终端重传相应RTP报文;所述数据接收和处理模块将收到重传RTP报文插入到对应位置;所述缓存管理模块,用于管理所述终端本地缓存、监测缓存水平;如果本地缓存发生上溢或下溢,通过所述RTSP客户机向所述流媒体服务器发送流速调整请求。本专利技术采用丢包重传技术,使IPTV终端在网络质量不好的情况下,可以有效地提高流媒体播放质量;并通过采用流速控制技术有效地提高了点播、时移节目开始播放的速度,使非面向连接的传输具有简单的拥塞避免机制,使终端有了本地缓存数据的能力,对于各种网络异常(抖动、瞬断、以及其它不稳定情况)有了不错的容错效果;且丢包重传在流量控制技术的支持下,也有简单的拥塞避免机制,避免丢包重传给正常的流媒体数据传输带来影响,不仅保证流媒体传输实时性,而且提高了流媒体的传输质量,增加了终端设备的媒体缓存能力,使IPTV播放的音画本文档来自技高网...
一种流媒体传输优化方法及装置

【技术保护点】
一种流媒体传输优化方法,其特征在于,包括以下步骤:步骤S10、终端与流媒体服务器之间进行支持丢包重传的初始化后,流媒体服务器开始以RTP报文向终端发送流媒体数据;步骤S20、终端将检测丢失RTP报文,并经丢包监测窗口聚合一组丢失RTP报文的序号后,通过RTSP信令向媒体服务器发起该组丢失RTP报文的重传请求;步骤S30、流媒体服务器根据重传请求RTSP信令,通过原流媒体数据传输通道向终端重传相应RTP报文;步骤S40、终端将收到重传RTP报文插入到对应位置;步骤S50、终端实时监测缓存状态,控制流媒体服务器的流媒体数据以及重传RTP报文发流速率,调整其缓存区。

【技术特征摘要】
1.一种流媒体传输优化方法,其特征在于,包括以下步骤:步骤S10、终端与流媒体服务器之间进行支持丢包重传的初始化后,流媒体服务器开始以RTP报文向终端发送流媒体数据;步骤S20、终端将检测丢失RTP报文,并经丢包监测窗口聚合一组丢失RTP报文的序号后,通过RTSP信令向媒体服务器发起该组丢失RTP报文的重传请求;步骤S30、流媒体服务器根据重传请求RTSP信令,通过原流媒体数据传输通道向终端重传相应RTP报文;步骤S40、终端将收到重传RTP报文插入到对应位置;步骤S50、终端实时监测缓存状态,控制流媒体服务器的流媒体数据以及重传RTP报文发流速率,调整其缓存区。2.如权利要求1所述的方法,其特征在于,步骤S10包括以下步骤:步骤S11、终端收到应用发来的基于RTSP协议的流媒体播放任务,向流媒体服务器的RTSP服务器发起描述播放任务请求,并在描述播放任务请求信令中申明丢包重传能力;步骤S12、RTSP服务器回应描述播放任务请求,并表示支持“丢包重传”功能;步骤S13、媒体服务器获取描述播放任务请求信令中携带的终端流媒体接收地址,并以RTP报文方式开始向终端发送流媒体数据。3.如权利要求2所述的方法,其特征在于,步骤S20包括以下步骤:步骤S21、终端在接收流媒体数据时,根据RTP报文序号检测RTP报文丢失,将检测到的丢失RTP报文序号记录到丢包监测窗口,丢包数加1;步骤S22、判断丢包监测窗口的丢包数是否为1;如是,转步骤S23;否则,转步骤S24;步骤S23、启动丢包监测计时器,执行步骤S21;步骤S24、判断丢包监测窗口中丢包数是否达到预设值,如是,转步骤S26;否则,转步骤S25;步骤S25、判断丢包监测计时器是否超时,如果超时,转步骤S26;否则,转步骤S21;步骤S26、取消丢包监测计时器,转步骤S27;步骤S27、终端把丢包监测窗口中所有丢包RTP报文记录转移到重传等待队列中,并向流媒体服务器发起丢包重传请求,丢包重传请求信令携带所有丢包监测窗口中丢包RTP报文的序号。4.如权利要求3所述的方法,其特征在于,在步骤S27中,在终端把丢包监测窗口中所有丢包RTP报文记录转移到重传等待队列中时,清空丢包监测窗口丢包RTP报文序号记录及记数,准备开始下一轮丢包监测,并针对重传等待队列中的每个丢包RTP报文将记录开启重传等待循环计时器,定时清理丢包重传队列中等待重传、但是对应的重传等待循环计时器超时的丢包RTP报文记录。5.如权利要求3所述的方法,其特征在于,步骤S40具体包括以下步骤:步骤S41、当收到新的RTP报文时,判断是否是有效的重传RTP报文,如是,转步骤S42;否则,转步骤S43;步骤S42、将收到的重传RTP报文根据其报文序号插入到终端接收流媒体数据的缓存区的相应位置,并从重传等待队列中删除对应的丢包RTP报文记录,转步骤S44;步骤S43、此报文已过期,丢弃;步骤S44、判断重传等待队列...

【专利技术属性】
技术研发人员:徐佳蓉姚静
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北,42

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

1