一种流媒体数据丢包率的计算方法及系统技术方案

技术编号:18662433 阅读:53 留言:0更新日期:2018-08-11 16:21
一种流媒体数据丢包率的计算方法及系统,涉及流媒体领域,包括检测模块、数据处理模块和计算模块,检测模块检测客户端收到的网络数据包中是否含有PCR码,数据处理模块对含有PCR码的数据包进行解析,从而获得PCR码的相关数据,通过[丢失的字节数/(实际收到的字节数+丢失的字节数)]×100%计算,结果即为丢包率。本发明专利技术根据获取到的PCR码的相关数据,可以在IPTV系统中,流媒体数据中没有携带RTP包头进行数据传输的情况下,计算数据的丢包率。

A method and system for calculating packet loss rate of streaming media data

A method and system for calculating packet loss rate of streaming media data relates to the field of streaming media, including detection module, data processing module and calculation module. The detection module detects whether the network packet received by the client contains PCR code, and the data processing module parses the packet containing PCR code to obtain the phase of the PCR code. Closed data is calculated by [the number of bytes lost /(the number of bytes actually received + the number of bytes lost)] *100%, and the result is the packet loss rate. According to the acquired data of the PCR code, the method can calculate the packet loss rate of the data in the IPTV system without carrying the RTP packet header for data transmission in the streaming media data.

【技术实现步骤摘要】
一种流媒体数据丢包率的计算方法及系统
本专利技术涉及流媒体领域,具体来讲涉及一种流媒体数据丢包率的计算方法及系统。
技术介绍
在互联网高速发展的今天,互联网传输的研究受到了广泛关注,其中,作为成衡量网络传输性能指标的丢包率是研究的热点之一,尤其是在互联网多媒体的应用方面,丢包率关系到了音视频播放,更是被当作衡量播放性能的重要指标。在多媒体应用中,都是把媒体流进行TS(TransportStream,传输流)包封装,然后使用UDP(UserDatagramProtocol,用户数据包协议)或者RTP(Real-timeTransprotProtocol,实时传输协议)进行封装之后再发送出去。由于UDP和RTP都不是可靠传输模式,网络传输过程中不可避免的会存在数据包丢失等情况。所谓的丢包率(LossTolerance或PacketLossRate)就是指所丢失数据包数量占所发送数据组的比率。计算方法是:“[丢失的数据包数量/(收到的数据包数量+丢失的数据包数量)]×100%”。丢包率与数据包长度以及包发送频率相关,正常传输时网络丢包率应该控制在一定范围内。在IPTV(InteractivePersonalityTV,交互式网络电视)系统中,如果流媒体数据采用带有RTP包头的方式进行数据传输,则终端可以通过获取RTP包头部中一个序列号字段,进行统计丢失的网络数据包和收到的网络数据包,通过丢失的网络数据包和收到的网络数据包来计算网络中数据的丢包率,进而判断IPTV的网络状况。但是在IPTV系统中,如果流媒体数据中没有携带RTP包头进行数据传输,则此方法不可用。因此针对流媒体数据中没有携带RTP包头的情况,无法计算出网络中数据的丢包率。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种流媒体数据丢包率的计算方法及系统,可以在IPTV系统中,流媒体数据中没有携带RTP包头进行数据传输的情况下,计算数据的丢包率。为达到以上目的,本专利技术采取一种流媒体数据丢包率的计算方法,包括:客户端通过当前收到的PCR码、前一次收到的PCR码和第一次收到的PCR码三者的时间和字节数,计算出当前丢失的字节数;通过[丢失的字节数/(实际收到的字节数+丢失的字节数)]×100%计算,结果即为丢包率。在上述技术方案的基础上,客户端对网络的数据包解析,记录第一个PCR码的时间值和解析到该PCR码的当前系统时间。在上述技术方案的基础上,当客户端解析当前收到的PCR码时,根据该PCR码的时间值,计算与前一次收到PCR码的时间值的时间差T1,以及时间差T1内实际收到的字节数L1,通过所述字节数L1除以所述时间差T1,计算出当前实时码率。在上述技术方案的基础上,客户端解析当前收到的PCR码,根据收到该PCR码的当前系统时间,计算该PCR码与所述第一次收到的PCR码的系统时间差T2,以及系统时间差T2内收到的字节数L2,L2即时间差T2内累计收到数据包的字节数。在上述技术方案的基础上,通过所述当前收到的PCR码与第一次收到的PCR码的系统时间差T2乘以当前实时码率,得到当前理论上收到的字节数,再减去系统时间差T2内实际收到的字节数,得到所述时间差T2内丢失的字节数。在上述技术方案的基础上,客户端与服务器端建立连接,接收所述服务器端下发的数据包,并将数据包解包成TS分包,所述PCR码存在于部分TS分包中。本专利技术还提供一种流媒体数据丢包率的计算系统,包括:检测模块,其用于检测客户端收到的网络数据包中是否含有PCR码;数据处理模块,其用于对含有PCR码的数据包进行解析,从而获得PCR码的相关数据并记录;计算模块,其用于根据获取到的PCR码的相关数据,计算丢包率。在上述技术方案的基础上,所述数据处理模块包括解析单元和记录单元;解析单元用于解析含有PCR码的数据包;记录单元用于记录解析单元解析出的PCR码的相关数据。在上述技术方案的基础上,所述PCR码的相关数据包括PCR码值、收到PCR码的当前系统时间和收到PCR码时累计收到的数据包字节数。在上述技术方案的基础上,所述计算模块包括时间差计算单元和字节计算单元;时间差计算单元,其用于计算当前PCR码的时间值与前一次收到PCR码的时间值的时间差T1,还用于计算当前PCR码与所述第一次收到PCR码的系统时间差T2;字节计算单元,其用于计算时间差T1内实际收到的字节数L1,还用于计算所述时间差T2内实际收到的字节数L2,L2即时间差T2内累计收到数据包的字节数。在上述技术方案的基础上,所述计算模块通过所述字节数L1除以所述时间差T1,计算出当前实时码率。在上述技术方案的基础上,所述计算模块通过该PCR码与所述第一次收到的PCR码的系统时间差T2乘以当前实时码率,得到当前理论上收到的字节数;再减去时间差T2内实际收到的字节数L2,得到时间差T2内丢失的字节数。本专利技术的有益效果在于:由于在流媒体数据丢包率的计算中,丢失的网络数据包数量等于丢失的字节数除以数据包大小,收到的网络数据包数量等于实际收到的字节数除以数据包大小,因此在通过[丢失的数据包数量/(收到的数据包数量+丢失的数据包数量)]×100%来计算丢包率的时候,分子和分母的数据包大小相互抵消,即[丢失的字节数/(实际收到的字节数+丢失的字节数)]×100%,可以完全使用数据包的字节数来计算丢包率。本专利技术可以在不修改网络传输协议的基础上,当传输流中不带RTP包头时,在客户端仅通过收到数据包的字节数就能计算出网络当前时间的丢包率,从而提供IPTV播放质量的衡量指标,能够实时反映IPTV机顶盒端的网络状况。附图说明图1为本专利技术第二实施例流媒体数据丢包率的计算方法流程图;图2为本专利技术第三实施例流媒体数据丢包率的计算方法流程图;图3为本专利技术第四实施例流媒体数据丢包率的计算系统示意图;图4为本专利技术第五实施例流媒体数据丢包率的计算系统示意图;图5为本专利技术第六实施例流媒体数据丢包率的计算系统示意图;附图标记:检测模块1,数据处理模块2,解析单元21,记录单元22,计算模块3,时间差计算单元31,字节计算单元32。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。本专利技术流媒体数据丢包率的计算方法,客户端通过当前收到的PCR(ProgramClockReference,节目时钟参考)码、前一次收到的PCR码和第一次收到的PCR码三者的时间和字节数,计算出当前丢失的字节数;通过[丢失的字节数/(实际收到的字节数+丢失的字节数)]×100%,计算出丢包率。第一实施例:本专利技术流媒体数据丢包率的计算方法,用于IPTV系统中,可以在流媒体数据中没有携带RTP包头的情况下使用。首先,客户端与服务器端建立连接,服务器端开始下发数据包。客户端在接收到服务器端下发的数据包时,将网络的数据包解包成多个TS分包。客户端首次收到带有PCR码的TS分包时,对该TS分包进行解析,记录第一个PCR码的相关数据,相关数据包括该PCR码值、收到该PCR码的当前系统时间和收到该PCR码时累计收到的数据包字节数。PCR码为服务器端在打包数据流时注入到TS分包中的服务器当前时间,作为服务器端发流时间的参考。由于不是每个数据包都有PCR码,PCR规范的间隔是不大于100ms,100ms过程中,会有本文档来自技高网
...

【技术保护点】
1.一种流媒体数据丢包率的计算方法,其特征在于,包括:客户端通过当前收到的PCR码、前一次收到的PCR码和第一次收到的PCR码三者的时间和字节数,计算出当前丢失的字节数;通过[丢失的字节数/(实际收到的字节数+丢失的字节数)]×100%计算,结果即为丢包率。

【技术特征摘要】
1.一种流媒体数据丢包率的计算方法,其特征在于,包括:客户端通过当前收到的PCR码、前一次收到的PCR码和第一次收到的PCR码三者的时间和字节数,计算出当前丢失的字节数;通过[丢失的字节数/(实际收到的字节数+丢失的字节数)]×100%计算,结果即为丢包率。2.如权利要求1所述的流媒体数据丢包率的计算方法,其特征在于:客户端对网络的数据包解析,记录第一个PCR码的时间值和解析到该PCR码的当前系统时间。3.如权利要求2所述的流媒体数据丢包率的计算方法,其特征在于:当客户端解析当前收到的PCR码时,根据该PCR码的时间值,计算与前一次收到PCR码的时间值的时间差T1,以及时间差T1内实际收到的字节数L1,通过所述字节数L1除以所述时间差T1,计算出当前实时码率。4.如权利要求3所述的流媒体数据丢包率的计算方法,其特征在于:客户端解析当前收到的PCR码,根据收到该PCR码的当前系统时间,计算该PCR码与所述第一次收到的PCR码的系统时间差T2,以及系统时间差T2内实际收到的字节数L2,L2即时间差T2内累计收到数据包的字节数。5.如权利要求4所述的流媒体数据丢包率的计算方法,其特征在于:通过所述当前收到的PCR码与第一次收到的PCR码的系统时间差T2乘以当前实时码率,得到当前理论上收到的字节数,再减去系统时间差T2内实际收到的字节数L2,得到所述时间差T2内丢失的字节数。6.如权利要求1-5任一项所述的流媒体数据丢包率的计算方法,其特征在于:客户端与服务器端建立连接,接收所述服务器端下发的数据包,并将数据包解包成TS分包,所述PCR码存在于部分TS分包中。7.如权利要求1所述的流媒体...

【专利技术属性】
技术研发人员:祝振东刘强曾信
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北,42

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

1