专利名称:一种流媒体播放方法及装置的制作方法
技术领域:
本发明属于多媒体技术领域,具体的说,涉及一种流媒体播放方法及装置。
背景技术:
随着网络技术和多媒体技术的发展, 一种新的媒体技术应运而生,这就是流媒体技术。流媒体是指在网络中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。利用流媒体技术,可以给用户提供持续不断的音视频流,满足用户在线观看动态影音的需求。
网络数字视频播放是流媒体技术的重要应用之一。正是因为网络技术的逐步完善,使远程实时视频播放、录像下载等多媒体业务得到越来越广泛的应用。然而,由于这些业务对网络条件的依赖,网络环境的好坏对远程视频播放质量具有显而易见的影响,网络拥塞等恶劣的网络环境往往会使媒体数据包在传输的过程中出现延时、乱序,进而造成网络视频图像停顿、卡的情况。
为了应对网络环境中出现的拥塞、延时等问题,常见的方法是使用Q0S(Quality of Service,服务质量)技术。Q0S是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的 一种技术。具体到网络流媒体传输方面,解决网络拥塞引起的播放问题时,通常会在播放器中加入QOS模块,即开辟固定大小的緩冲区。网络延时、包间隔大、发包不规则的情况,可以通过緩冲来改善。当网络数据包传输出现延时、乱序等情况时,播放器仍可正常播放緩冲区内的数据。但此种固定緩冲区大小的处理方法只能解决网络延时相对较为固定的网络拥塞情况,当网络拥塞情况出现大的波动时,则无法避免图像卡的情况出现。另一方面,若当前网络状况较好,未出现较大的延时,保持相对较大的緩冲长度,会造成图像延时增大,影响用户体验。
发明内容
有鉴于此,本发明提供了一种流媒体播放方法及装置,能够有效緩解网络延时,尽可能的减小播放延时,更大程度地提升用户体验。
为了解决上述技术问题,本发明采用了如下技术方案一种流媒体播放方法,包括如下步骤客户端动态检测流媒体传输质量;
客户端根据当前的流媒体传输质量,按预设原则调整当前的流媒体播放速度和緩冲区时长。
上述的流々某体播放方法,客户端通过检测当前的緩沖区填充率来确定当前的流媒体传输质量。
上述的流々某体播放方法,客户端按预设原则调整当前的流媒体播放速度以如下方式进行
设置緩冲区时长,并以当前设置的緩冲区时长为调整执行周期,在每一调整执行周期进行如下调整
当前的緩冲区填充率小于1/4,将当前流媒体播放速度减慢至慢速倍率,保持当前緩沖区时长不变;
当前的緩沖区填充率在1/4到1/2区间,将当前流媒体播放速度减慢至慢速倍率,将緩冲区时长增大为大倍率时长;
当前的緩冲区填充率在1/2到3/4区间,不调整流媒体播放速度,保持当前设置的緩冲区时长不变;
当前的緩沖区填充率大于3/4,将流媒体播放速度加快至快速倍率,将緩冲区时长减小为小倍率时长。
上述的流i某体播;改方法,所迷慢速倍率为正常倍率的0. 8倍,所述快速倍率为正常倍数的1. 2倍,所述大倍率时长为当前緩冲区时长的5/4,所述小倍率时长为当前緩沖区时长的3/4;或者,所述慢速倍率为当前播放速率的(l-当前的緩冲区填充率)倍。
上述的流4某体播放方法,所述的緩沖区填充率为一个调整执行周期内的多次采样计算的平均值。
上述的流々某体播;故方法,在首次填充緩冲区时,首先设置緩冲区初始时长,在填充緩冲区同时统计緩沖区内各组帧间隔,如果最大帧间隔超过当前的缓冲区初始时长,则将该最大帧间隔作为新的緩冲区初始时长,直至首次填充完成,以填充完成时的緩沖区时长为緩冲区原始时长。
上述的流媒体播放方法,在首次填充援冲区过程中,采用慢速倍率播放流媒体。
本发明还公开了 一种流媒体播放装置,包括流媒体传输质量检测模块
及流媒体播放模块,其中
流媒体传输质量检测模块,用于动态检测流媒体传输质量;
流媒体播放模块,用于根据当前的流媒体传输质量,按预设原则调整当前的流媒体播放速度。
与现有技术相比,本发明的有益效果在于通过冲企测流媒体传输质量,并根据流媒体传输质量对流媒体的播放速度和緩冲区时长进行调整,这样,如果网络状况较好,可以适当的加快播放速度,减小緩冲区时长,从而减少播放延时,如果网络状况较差,则可适当的减慢播放速度,增大緩沖区时长,从而降低緩沖区中的緩冲数据的消耗速度,緩解网络延时的影响,因而可以带给用户更好的流媒体播放体验。
图1示例性的描迷了本发明的原理结构;
图2示例性的描述了本发明的流媒体播放调整流程。
具体实施例方式
下面结合附图对本发明的具体实施方式
做详细说明。
在流媒体播放中,网络数字视频播放对于网络质量的依赖性是相对较大的,因而,在后文中,将以网络数字视频4番放为例,对本发明进行示例性的描述。当然,可以理解,本发明将可以适用在各种流媒体播放中。
本发明的主要发明构思是使用动态Q0S緩冲区对网络数字视频进行播放,通过在播放器中添加一个动态QOS模块,根据当前网络状况对视频播放速率进行调整,动态调节视频緩沖区的大小,以达到在尽量减小视频播放延时的条件下对网络延时进行优化,因而在有效緩解网络延时的同时,可以尽可能的減小播放延时,更大程度地提升用户体验。如图1所示,图1示例性的描述了本发明的原理结构。可以看到,来 自网络的视频流被传输到客户端播放器,在客户端播放器,上文提及的动
态QOS模块主要包括两个部分,即緩沖输出部分和调节控制部分。其中
緩冲输出部分,持续的监视播放器的帧存(緩沖区的下一个环节,视 为解码器的緩存,图中未示出,解码器的緩存是解码器的一个部分,可以 理解为解码器的入口,其只緩存一帧数据,不是独立的部分)中,当前是 否有数据可以送到解码器,并维持帧存不为空,当帧存中没有数据时,緩 冲输出部分应该马上从緩冲区输出 一帧数据到达帧存。
调节控制部分,才艮据当前的网络状况实时对^番》文速率进行调整,以达 到动态调整緩冲区大小的目的。对播放速率的调整具体是通过改变帧存将 每一帧数据送至解码器的时间间隔完成的。
在本发明中,由于根据网络状况对播放速率进行了调整,因而将涉及 到不同的播放速率,因此,可以理解的是,以客户端播放器的本地当前播 放速率计算出的緩沖数据播放时长和以正常播放速率(该速率可能与当前 播放速率不同)计算出的緩冲数据播放时长将可能是不一致的。在本文中, 称以正常播放速率计算出的时间为绝对时间,下文中,以緩冲区时长来表 示緩冲区大小,该緩沖区时长基于绝对时间计算,即,如果緩沖区时长为 100毫秒,即其可以緩沖以正常播放速率播放100亳秒的数据。
如图2所示,图2示例性的描述了本发明的播放调整流程。该播放调 整流程是通过客户端播放器动态检测流媒体传输质量,并根据当前的流媒 体传输质量,按预设原则调整当前的流媒体播放速度实现。
流々某体传输质量,即网络质量状况,是通过检测緩沖区的填充率来确 定的,緩沖区的填充率,是緩冲区中的实际緩沖数据时长与緩沖区的可缓 冲数据时长的比率。例如,緩冲区可以緩沖400毫秒的数据,而当前实际 填充的緩冲数据的时长是200毫秒,则当前的緩沖区的填充率为1/2。
在緩冲区的首次填充过程中,即准备播放时,第一次对緩冲区进行填 充。首先需要设置緩沖区时长的初始值,称该初始值为緩沖区初始时长, 在填充緩冲区的同时统计緩冲区内各组帧间隔(帧间隔指上一帧完成到当 前帧完成的绝对时间差值),如果最大帧间隔(开始播放前的各组帧间隔最 大的一个)超过緩冲区初始时长,则将緩冲区初始时长设为该最大帧间隔, 继续緩冲,直至緩冲区的首次填充完成。特别的,称填充完成时的緩沖区初始时长为緩冲区原始时长。
在本发明的示例中,播放速率调整是一个多次进行的执行过程。我们 以每一次的调整执行为一个调整执行周期。该调整执行周期基于当前的緩 沖区时长,例如,设定当前的緩冲区时长(当前的緩冲区可緩冲数据时长) 为tl,则调整执-f亍周期为tl,需要注意的是,在每一次的緩冲区时长调整 后,调整执行周期也随之动态变化。
如上所述,播放速率调整基于緩沖区的填充率进行,为使緩冲区填充 率计算更加准确,本例中采用了多次采样,求取平均的方式,即在一个调 整执行周期内多次采样緩沖区的当前填充时长(当前的緩冲区实际緩冲数 据时长),设定采样周期为t (t<tl),对多次(一般的,采样次数大于或 等于tl/t次,若t恰好等于帧间隔,则采样次数等于tl/t)采样得到的
各个填充时长取平均,设定该平均填充时长为t2,则t2/tl为一个调整执 行周期内的緩冲区填充率。例如,在某个调整执行周期内,11=400ms , t=l Oms (帧间隔约为40ms左右),40次釆样的平均填充时长t2=100ms,则该调整 执行周期的緩冲区填充率为t2/tl=l/4。
在计算得到一个调整执行周期的緩冲区填充率后,如图2,根据如下 的预设原则对播放速率进行调整
当前的緩冲区填充率小于1/4,表明网络状况出现大的延时,将当前 流媒体播放速度减慢至慢速倍率,保持当前緩冲区时长不变;
当前的緩冲区填充率在l/4到1/2区间,表明网络状况较差,将当前 流媒体播放速度减慢至慢速倍率,将緩沖区时长增大为大倍率时长;
当前的緩冲区填充率在1/2到3/4区间,表明当前緩冲区的大小较为 适应当前的网络状况,不调整流媒体播放速度,保持当前设置的緩沖区时 长不变;
当前的緩冲区填充率大于3/4,表明网络状况较好,将流媒体播放速 度加快至快速倍率,将緩沖区时长减小为小倍率时长。
在本例中,所述慢速倍率为正常倍率的0. 8倍,所述快速倍率为正常 倍数的1.2倍,所述大倍率时长为当前緩冲区时长的5/4,所述小倍率时 长为当前緩冲区时长的3/4。
通常情况下,视频播放速率在正常速率的0. 8倍至1. 2倍之间微调时,人眼较为不容易察觉,所以本例主要釆用这两个数值进行播放速率的调整。 当然,播放速率的调整系数也可以更为灵活的方式进行计算,例如减慢播 放速度时,可以将所述慢速倍率为当前播放速率的(1-当前的緩沖区填充 率)倍。当然,也可根据实际应用情况选择更加符合要求的播放速度调整 策略。
为进一步提高实用性和精确度,在首次填充緩沖区的过程中,也可采
用较慢的播放速度(如0. 8倍速)播放的方式对緩冲区进行填充,直至达 到緩冲区原始时长。即采用0. 8倍速立刻开始插i文,多余的20°/。的緩沖数
据填充至緩沖区,这样可立刻展示画面,而不必为了填满緩冲区增大第一
帧画面的展J见延时。
本发明的流媒体播放装置,包括流媒体传输质量检测模块及流媒体播 放模块,流媒体传输质量检测模块及流媒体播放模块设置在客户端播放器
中,其中
流媒体传输质量检测模块,用于动态检测流媒体传输质量;其可以通 过检测当前的緩冲区填充率来确定当前的流媒体传输质量。
流媒体播放模块,用于根据当前的流媒体传输质量,按预设原则调整 当前的流媒体播放速度。调整当前的流媒体播放速度以如下方式进行
设置緩冲区时长,并以当前设置的緩冲区时长为调整执行周期,在每 一调整执行周期进行如下调整
当前的緩沖区填充率小于1/4,将当前流4某体播放速度减慢至慢速倍 率,保持当前緩冲区时长不变;
当前的緩冲区填充率在1/4到1/2区间,将当前流媒体播放速度减慢 至慢速倍率,将緩冲区时长增大为大倍率时长;
当前的緩冲区填充率在1/2到3/4区间,不调整流i某体播放速度,保 持当前设置的緩冲区时长不变;
当前的緩沖区填充率大于3/4,将流媒体播放速度加快至快速倍率, 将緩冲区时长减小为小倍率时长。
流媒体播放装置的工作方式,类似于前述的流媒体播放方法,不再赘述。
本发明可以根据网络质量状况,动态调整视频播放緩冲区的大小,有效緩解网络延时,并尽可能减少播放延时,达到网络延时扰动和视频播放 延时的平衡,从而带给用户更好的流媒体播放体验。
本发明在判断网络质量状况时,采用统计緩冲区在一段时间内的填充 率的方式,由于在客户端进行,所以稳定性更好,误操作也较少,观看效 果更佳。
当网络质量状况较好时,易发生发送速率大于解码速率而造成緩冲区 上溢的情况,本发明在緩冲区还没有上溢的时候加快播放速度,减小緩冲 区设定值。这种调整在客户端完成,不用流媒体服务器协助。
本发明在每个调整执行周期都根据本时间段内緩冲区的填充率对緩沖
区的大小进行重新设定,使之适应当前的网络状况,Q0S的动态调整贯穿 整个视频播放过程的始终,因而具有良好的调整效果。
明,但这只是为便于理解而举的实例,不应认为本发明的具体实施只局限 于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本 发明构思的前提下,可以做出各种可能的等同改变或替换,这些改变或替 换都应属于本发明的保护范围。
权利要求
1.一种流媒体播放方法,其特征在于,包括如下步骤客户端动态检测流媒体传输质量;客户端根据当前的流媒体传输质量,按预设原则调整当前的流媒体播放速度和缓冲区时长。
2. 如权利要求l所述的流媒体播放方法,其特征在于,客户端通过检测当 前的緩沖区填充率来确定当前的流媒体传输质量。
3. 如权利要求l所述的流媒体播放方法,其特征在于,客户端按预设原则 调整当前的流媒体播放速度和緩冲区时长以如下方式进行 设置緩冲区时长,并以当前设置的緩沖区时长为调整执行周期,在每一 调整执行周期进行如下调整当前的緩冲区填充率小于1/4,将当前流媒体播放速度减慢至慢速倍率, 保持当前緩冲区时长不变;当前的緩冲区填充率在1/4到1/2区间,将当前流媒体播放速度减慢至 慢速倍率,将緩冲区时长增大为大倍率时长;当前的緩冲区填充率在1/2到3/4区间,不调整流々某体播放速度,保持 当前设置的緩沖区时长不变;当前的緩冲区填充率大于3/4,将流媒体播放速度加快至快速倍率,将 緩沖区时长减小为小倍率时长。
4. 如权利要求3所述的流媒体播放方法,其特征在于,所述慢速倍率为正 常倍率的0. 8倍,所述快速倍率为正常倍数的1. 2倍,所述大倍率时长 为当前緩冲区时长的5/4,所述小倍率时长为当前緩冲区时长的3/4; 或者,所述慢速倍率为当前播放速率的(l-当前的緩冲区填充率)倍。
5. 如权利要求l至4任一所述的流i某体播放方法,其特征在于,所述的緩 冲区填充率为一个调整执行周期内的多次采样计算的平均值。
6. 如权利要求5所述的流々某体播放方法,其特征在于,在首次填充緩冲区 时,首先设置緩冲区初始时长,在填充缓冲区同时统计緩冲区内各組帧 间隔,如果最大帧间隔超过当前的緩冲区初始时长,则将该最大帧间隔 作为新的緩沖区初始时长,直至首次填充完成,以填充完成时的緩沖区 时长为緩冲区原始时长。
7. 如权利要求5所述的流媒体播放方法,其特征在于,在首次填充緩冲区 过程中,采用慢速倍率播放流媒体。
8. —种流媒体播放装置,其特征在于,包括流媒体传输质量检测模块及流 媒体播放模块,其中流媒体传输质量检测模块,用于动态检测流媒体传输质量; 流媒体播放模块,用于根据当前的流媒体传输质量,按预设原则调整当 前的流媒体播放速度和緩冲区时长。
9. 如权利要求8所述的流媒体播放装置,其特征在于,流媒体传输质量检 测模块通过检测当前的緩冲区填充率来确定当前的流々某体传输质量。
10. 如权利要求8或9所述的流媒体播放装置,其特征在于,流媒体播 放模块按预设原则调整当前的流媒体播放速度以如下方式进行 设置緩冲区时长,并以当前设置的緩冲区时长为调整执行周期,在每一 调整执行周期进行如下调整当前的緩冲区填充率小于1/4 ,将当前流媒体播放速度减慢至慢速倍率, 保持当前緩沖区时长不变;当前的緩冲区填充率在1/4到1/2区间,将当前流々某体播;^文速度减慢至 慢速倍率,将緩冲区时长增大为大倍率时长;当前的緩冲区填充率在l/2到3/4区间,不调整流媒体播放速度,保持 当前设置的緩冲区时长不变;当前的緩沖区填充率大于3/4,将流媒体播;改速度加快至快速倍率,将 緩冲区时长减小为小倍率时长。
全文摘要
本发明公开了一种流媒体播放方法及装置,所述播放方法包括如下步骤客户端动态检测流媒体传输质量;客户端根据当前的流媒体传输质量,按预设原则调整当前的流媒体播放速度和缓冲区时长。所述播放装置,包括流媒体传输质量检测模块及流媒体播放模块,其中流媒体传输质量检测模块,用于动态检测流媒体传输质量;流媒体播放模块,用于根据当前的流媒体传输质量,按预设原则调整当前的流媒体播放速度和缓冲区时长。本发明可以缓解网络延时的影响,因而可以带给用户更好的流媒体播放体验。
文档编号H04N7/24GK101583025SQ20091010793
公开日2009年11月18日 申请日期2009年6月11日 优先权日2009年6月11日
发明者崔志伟 申请人:中兴通讯股份有限公司