一种获取流媒体缓存参数的方法及装置的制作方法

文档序号:7867300阅读:204来源:国知局
专利名称:一种获取流媒体缓存参数的方法及装置的制作方法
技术领域
本发明实施例涉及通信领域,尤其涉及一种获取流媒体缓存参数的方法及装置。
背景技术
流媒体(Streaming Media)是在网络上按流式技术传输和播放的连续音频/视频数据流。流式技术指的是服务器将整个多媒体文件经过特定的压缩方式解析成多个压缩包后通过IP向用户顺序或实时传送,客户端则开辟出一块缓冲区来接收压缩包。流媒体系统指的是能够通过流式技术向终端用户提供流媒体业务的系统。流媒体系统的基本构架包含三个层面流媒体制作与服务器层通过制作播放系统的设备提供流媒体直播/录播/点播内容的采集、编码和播放;通过Web服务器提供节目;通过后台管理系统提供内容管理、系 统管理和统计分析;网络层流媒体系统的服务质量保证层,以为终端用户提供最佳质量的服务为目的;客户端层用户终端接入网络,完成视频音频的分用、解码、同步等,然后进行播放。流媒体系统的最终目的是向用户提供流媒体业务,也就是向用户提供能够使其满意的感知质量。用户质量感知指标QoE能够较准确地反映终端用户对流媒体业务的满意程度,如分辨率、播放流畅度等。获取较为准确的QoE指标,首先必须获取较为准确的QoE关联参数。缓存参数会影响HTTP流媒体的用户体验。在同样的网络情况下如果缓存较大,能提供较平稳的播放,不易出现停顿或中断,但是启动时延和重存时延会增加。时延是用户体验的重要评估指标,时延超出阈值用户可能放弃观看。如果缓存较小,则抑制波动的能力较差,即当网络带宽波动且播放速度大于下载速度时,缓存内容被播完后,会造成较频繁的停顿甚至中断。综上所述,客户端缓存参数会影响QoE关联指标的播放等待时长、停顿次数、停顿时长、播放中断率四个指标。因此,必须获取较为准确的客户端缓存参数。现有技术中,为了获取客户端缓存参数,采用客户端反馈缓存设置参数的形式进行反馈。具体来说,就是在用户终端安装代理(Terminal Agent),由其周期性地向QoE平台上报用户的TCP/IP层面的QoE和视频质量相关的量度参数。但是,现有技术无法实现难度较大,且不能获取较为精确的缓存参数。

发明内容
有鉴于此,本发明实施例提供了一种获取流媒体缓存参数的方法及装置,解决了获取流媒体缓存参数难度大的问题,提高了获取流媒体缓存参数的精度。第一方面,本发明实施例提供了一种获取流媒体缓存参数的方法,包括获取媒体流的视频包,计算所述传输过程中视频包的吞吐量;根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数。在第一方面的第一种可能的实现方式中,所述当所述视频包的包头中包括时间戳时,所述根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数之前,还包括解析出所述视频包的包头中的时间戳记录的时间差,并获取传输控制协议TCP确认包中的时间戳记录的时间差,所述时间差分别表示不同时间戳上所述视频包从第一个到最后一个对应的时间差值。结合在第一方面或第一方面的第一种可能的实现方式,所述解析出所述视频包的时间戳,并获取传输控制协议TCP确认包中的时间戳之后,还包括当所述TCP确认包中记录的时间差大于所述视频包头中记录的时间差,判断播放器播放发生停顿。第二方面,本发明实施例提供获取流媒体缓存参数的装置,包括获取单元,用于获取媒体流的视频包;计算单元,用于计算所述传输过程中视频包的吞吐量,并根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数。在第二方面的第一种可能的实现方式中,当所述视频包的包头中包括时间戳时,所述装置还包括解析单元,用于解析出所述视频包的包头中的时间戳记录的时间差,并获取传输控制协议TCP确认包中的时间戳记录的时间差,所述时间差分别表示不同时间戳上所述视频包从第一个到最后一个对应的时间差值。结合在第二方面或第二方面的第一种可能的实现方式,所述装置还包括判断单元,用于当所述TCP确认包中记录的时间差大于所述视频包头中记录的时间差,判断播放器播放发生停顿。本发明实施例所提供的方法及装置,获取媒体流的视频包,计算所述传输过程中视频包的吞吐量,根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数,解决了获取流媒体缓存参数难度大的问题,提高了获取流媒体缓存参数的精度。


图1为本发明实施例应用环境的架构图;图2为本发明实施例1的流程图;图3为本发明实施例2中的流程图;图4为本发明实施例2中的时间差判断示意图;图5为本发明实施例2中的TCP接收缓冲区与播放器缓冲区示意图;图6为本发明实施例3中的装置组成图;图7为本发明实施例3中的装置硬件架构图。
具体实施例方式图1给出了一个基本的流媒体业务系统。一般来说,QoE评估体系会部署于网络接口,如Iu-PS 口(RNC与SGSN之间)、Gn 口(SGSN与GGSN之间)等;而缓存参数是用户终端的设置。上述本发明实施例揭示的方法可以中央处理器中,或者说由中央处理器以实现。中央处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过中央处理器中的硬件的集成逻辑电路或者软件形式的指令完成。用于执行本发明实施例揭示的方法,上述的中央处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,中央处理器读取存储器中的信息,结合其硬件 完成上述方法的步骤。实施例一如图2所示,本发明实施例中对获取流媒体缓存参数的流程如下S101、获取媒体流的视频包,计算所述传输过程中视频包的吞吐量;本实施例中,执行主体为位于IP网络侧的网络质量评估平台。S102、根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数。当所述视频包的包头中包括时间戳时,需要解析出所述视频包的包头中的时间戳记录的时间差,并获取传输控制协议TCP确认包中的时间戳记录的时间差,所述时间差分别表示不同时间戳上所述视频包从第一个到最后一个对应的时间差值。当所述TCP确认包中记录的时间差大于所述视频包头中记录的时间差,判断播放器播放发生停顿。具体计算流媒体缓存参数的方法如下根据所述吞吐量和平均播放速率,计算所述启动时延;根据所述启动时延计算所述启动时延对应的吞吐率;所述流媒体缓存参数即为所述吞吐率与所述启动时延的乘积。或者,若所述视频包的包头中不包括时间戳,且当所述TCP缓存区的可用量等于预设的阈值时,判断所述播放器播放发生停顿。具体计算流媒体缓存参数的方法如下根据所述吞吐量和平均播放速率,计算所述启动时延;根据所述启动时延计算所述启动时延对应的吞吐率;所述流媒体缓存参数即为所述吞吐率与所述启动时延的乘积。本发明实施例所提供的方法,获取媒体流的视频包,计算所述传输过程中视频包的吞吐量,根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数,解决了获取流媒体缓存参数难度大的问题,提高了获取流媒体缓存参数的精度。实施例二 图3是本发明实施例的流程图,如图3所示,本发明实施例流程如下S201、获取流媒体包;网络质量评估平台通过与流媒体服务器进行通信,获取到该服务器发送的流媒体包。S202、判断能否解析出时间戳;网络质量评估平台对接收到的流媒体包进行解析,并判断能否解析出时间戳。如果视频协议包头有视频的播放时间戳,或者为了音画同步,在音频内容设置的时间戳。利用这些时间点,对每个包的内容打上一个相对的时间点。比如第一个包到达的时间为Tl,第n个包到达的时间为Tn。
由于是流媒体包是通过TCP协议传输,故网络质量评估平台从接收到的TCP确认ACK包的时间戳中,可以得到在终端接收该TCP包的时间。比如第一个ACK包接收到的时间为D1,第n个ACK包的时间是Dn。如图4所示,视频轨时间戳和TCP ACK包时间戳在时间差上具有对应性,也就是说,对于视频时刻N,假设这一时刻对应的帧为Fr ame N,对于这一帧来说,视频轨的时间戳为Tn,而该帧到达的TCP ACK包时间戳为Dn,如果没有发生停顿,视频轨时间差和TCP ACK包时间差是相等的,即Dn-Dl = = Tn-Tl ;如果到达时间晚于连续播放要求的时间,则停顿发生,即当Dn-Dl > Tn-Tl时,停顿发生。有些视频协议没有播放时间的要求,或者由于内容加密,视频包的时间戳无法获得。在这种情况下,可根据ACK包的接收窗口(Receive Window)来判断停顿的发生。当ACK包的Receive Window不再呈现周期性的涨落,而超过接收缓存的预设值时,判断停顿发生。如图5所示,其原理为在正常播放过程中,TCPACK包的接收窗口大小 (Receive Window Size)反映了接收缓冲区的可用量,TCP的慢启动机制、拥塞控制机制和快速恢复重传机制使得吞吐率呈一定的周期性涨落,即使得接收窗口的大小呈周期性涨落。客户端的TCP接收缓冲区的可用量反映在ACK包的Receive Window中。当停顿发生后,播放器缓冲区为空。播放器等待并随时将TCP接收缓冲区的数据送到播放器缓存区中。此时,客户端的TCP接收缓冲区的可用量会接近最大值。因此,网络质量评估平台设置一个预设值,该预设值可以设置成接近最大值的一个值,当超过该值后,判断停顿发生。S203、计算流媒体缓存参数。在计算流媒体缓存参数钱,需要获取计算所必须的参数,包括TCP吞吐量、TCP平均下载速率、TCP ACK包的接收窗口大小和ACK包时间戳Dn。其中,TCP ACK包时间戳可以直接通过数据解析得到;而TCP吞吐量和TCP平均下载速率则通过建立TCP吞吐量模型,将数据解析得到的TCP RTT、TCP重传率、接收窗口等参数输入吞吐量模型得到关于时间t的函数TCP吞吐量V (t)和TCP平均下载速率R (t)。缓存参数又分为播放停顿场景下和非停顿两种场景的计算,下面分别论述不同场景下的缓存参数计算。播放停顿情景下的缓存参数计算设播放停顿的起始时间为F,则F定义为从开始播放到停顿发生的时长。F时刻的TCP累计吞吐量为V (F)。推出有效播放时间G :G = V (F) /K推出启动时延1:I = F-G (单位秒)推出播放端缓存B :B = R(I) X I (单位Bytes)没有发生播放停顿的场景当播放过程中没有发生停顿时,停顿次数=0,停顿时延=0,则启动时延1:1-TCP时长-总TCP吞吐量V/平均播放速率K如果能从视频包头解析出视频时长,则
I = TCP时长-视频时长则播放端缓存B = R(I) X I (单位Bytes)发明实施例所提供的方法,获取媒体流的视频包,计算所述传输过程中视频包的吞吐量,根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数,解决了获取流媒体缓存参数难度大的问题,提高了获取流媒体缓存参数的精度。实施例三图6是CSFB服务器的组成结构图,如图6所示,包括
获取单元301,用于获取媒体流的视频包;本实施例中,执行主体为位于IP网络侧的网络质量评估平台。计算单元302,用于计算所述传输过程中视频包的吞吐量,并根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数。当所述视频包的包头中包括时间戳时,计算单元302需要解析出所述视频包的包头中的时间戳记录的时间差,并获取传输控制协议TCP确认包中的时间戳记录的时间差,所述时间差分别表示不同时间戳上所述视频包从第一个到最后一个对应的时间差值。当所述TCP确认包中记录的时间差大于所述视频包头中记录的时间差,判断播放器播放发生停顿。计算单元302具体计算流媒体缓存参数的方法如下根据所述吞吐量和平均播放速率,计算所述启动时延;根据所述启动时延计算所述启动时延对应的吞吐率;所述流媒体缓存参数即为所述吞吐率与所述启动时延的乘积。或者,若所述视频包的包头中不包括时间戳,且当所述TCP缓存区的可用量等于预设的阈值时,判断所述播放器播放发生停顿。具体计算流媒体缓存参数的方法如下根据所述吞吐量和平均播放速率,计算所述启动时延;根据所述启动时延计算所述启动时延对应的吞吐率;所述流媒体缓存参数即为所述吞吐率与所述启动时延的乘积。本发明实施例所提供的装置,获取单元获取媒体流的视频包,计算单元计算所述传输过程中视频包的吞吐量,根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数,解决了获取流媒体缓存参数难度大的问题,提高了获取流媒体缓存参数的精度。图7描述了本发明另一个实施例提供网络质量评估平台的硬件架构图,包括至少一个处理器401 (例如CPU),至少一个网络接口 402或者其他通信接口,存储器403,至少一个通信总线404,用于实现这些装置之间的连接通信,以及探针405,用于采集数据。处理器401用于执行存储器403中存储的可执行模块,例如计算机程序。存储器403可能包含高速随机存取存储器(RAM :Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口 402 (可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。在一些实施方式中,存储器403存储了程序指令,程序指令可以被处理器401执行,其中,程序指令包括获取单元301和计算单元302,其中,各单元的具体实现参见图5所揭示的相应单元,这里不再累述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(⑶)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的 复制数据。上面的组合也应当包括在计算机可读介质的保护层级之内。总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护层级。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护层级之内。
权利要求
1.一种获取流媒体缓存参数的方法,其特征在于,包括获取媒体流的视频包,计算所述传输过程中视频包的吞吐量;根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数。
2.根据权利要求1所述的方法,其特征在于,当所述视频包的包头中包括时间戳时,所述根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数之前,还包括解析出所述视频包的包头中的时间戳记录的时间差,并获取传输控制协议TCP确认包中的时间戳记录的时间差,所述时间差分别表示不同时间戳上所述视频包从第一个到最后一个对应的时间差值。
3.根据权利要求2所述的方法,其特征在于,所述解析出所述视频包的时间戳,并获取传输控制协议TCP确认包中的时间戳之后,还包括当所述TCP确认包中记录的时间差大于所述视频包头中记录的时间差,判断播放器播放发生停顿。
4.根据权利要求1所述的方法,其特征在于,当所述视频包的包头中不包括时间戳时, 所述根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数之前,还包括当所述TCP缓存区的可用量等于预设的阈值时,判断所述播放器播放发生停顿。
5.根据权利要求2和4所述的方法,其特征在于,所述根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数,包括 根据所述吞吐量和平均播放速率,计算所述启动时延;根据所述启动时延计算所述启动时延对应的吞吐率;所述流媒体缓存参数即为所述吞吐率与所述启动时延的乘积。
6.一种获取流媒体缓存参数的装置,其特征在于,包括获取单元,用于获取媒体流的视频包;计算单元,用于计算所述传输过程中视频包的吞吐量,并根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数。
7.根据权利要求6所述的装置,其特征在于,当所述视频包的包头中包括时间戳时,所述装置还包括解析单元,用于解析出所述视频包的包头中的时间戳记录的时间差,并获取传输控制协议TCP确认包中的时间戳记录的时间差,所述时间差分别表示不同时间戳上所述视频包从第一个到最后一个对应的时间差值。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括判断单元,用于当所述TCP确认包中记录的时间差大于所述视频包头中记录的时间差,判断播放器播放发生停顿。
9.根据权利要求6所述的装置,其特征在于,当所述视频包的包头中不包括时间戳时, 所述装置还包括判断单元,用于当所述TCP缓存区的可用量等于预设的阈值时,判断所述播放器播放发生停顿。
全文摘要
本发明涉及一种获取流媒体缓存参数的方法,包括获取媒体流的视频包,计算所述传输过程中视频包的吞吐量;根据所述吞吐量的大小和获取到的视频时长,计算流媒体缓存参数。相应地,本发明提供网络质量评估平台,解决了获取流媒体缓存参数难度大的问题,提高了获取流媒体缓存参数的精度。
文档编号H04L29/06GK103001961SQ201210509110
公开日2013年3月27日 申请日期2012年12月3日 优先权日2012年12月3日
发明者蒋华, 仝清坡 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1