CN101778294B - 一种mpeg视频文件的丢包检测方法 - Google Patents

一种mpeg视频文件的丢包检测方法 Download PDF

Info

Publication number
CN101778294B
CN101778294B CN 201010106903 CN201010106903A CN101778294B CN 101778294 B CN101778294 B CN 101778294B CN 201010106903 CN201010106903 CN 201010106903 CN 201010106903 A CN201010106903 A CN 201010106903A CN 101778294 B CN101778294 B CN 101778294B
Authority
CN
China
Prior art keywords
frame
information
packet
self
video file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 201010106903
Other languages
English (en)
Other versions
CN101778294A (zh
Inventor
张大陆
朱小庆
胡治国
周华磊
张俊生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongji University
Original Assignee
Tongji University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongji University filed Critical Tongji University
Priority to CN 201010106903 priority Critical patent/CN101778294B/zh
Publication of CN101778294A publication Critical patent/CN101778294A/zh
Application granted granted Critical
Publication of CN101778294B publication Critical patent/CN101778294B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种MPEG视频文件的丢包检测方法,该方法包括以下步骤:步骤A,在源MPEG4视频中用户数据域内加入测量信息。步骤B,客户端打开测量工具并点播视频,服务器将所述视频文件打成数据包开始网络传输;步骤C,客户端测量工具找到第一个MPEG视频数据包并获取数据包的最大载荷量max、提取数据包的五元组信息;步骤D,根据五元组过滤数据包进而统计收到的视频数据包总数Y;步骤E,通过帧的大小和max计算应收数据包的总数X,丢包率为
Figure 201010106903.X_AB_0
本发明将测量有效信息写入用户数据域中,能准确检测出MPEG视频的丢包情况。

Description

一种MPEG视频文件的丢包检测方法
技术领域
本发明属于网络通信领域,涉及一种MPEG视频文件的丢包检测方法。
背景技术
在视频传输过程中,一旦发生丢包将降低用户对视频的满意程度,丢包决定了用户对视频的体验质量,因此准确地测量在网络传输过程中发生的丢包具有重要的研究和现实意义。这里的丢包测量指的是测量视频包在网络传输过程中丢失的情况。
现有的丢包测量工具主要有Ping、Zing、Badabing等。众所周知,Windows自带的Ping工具使用ICMP,统计发往指定地点反馈数据包的丢失数量来确定丢包率的。但是发送过程中,一旦遇到防火墙屏蔽ICMP,或者ICMP包在返回途中丢失,均会被误认为丢包。
华为公司提出的使用定界包测量的方法通过在接收端统计收到的包总数,并与发送端发送定界包对比来确定丢包数量。虽然定界包的方法可以克服ICMP包的一些缺陷,但是测试流的丢包率与链路的丢包存在一定误差。
Badabing分析各种链路丢包测量方法后,提出包列的方式发送探测流,并依概率发送,经理论及实验证明该方法对于测量链路丢包效果较好。
现有的测量工具主要基于以下假设:测量流的丢包情况反映的是链路的丢包情况。然而链路的丢包情况却不一定反映具体某个应用的丢包情况;因此,不能使用链路丢包测量方法来测量具体视频应用丢包。此外,由于IP链路丢包的测量采用的是主动测量,会给实际网络带来较大入侵度,造成网络拥塞。
发明内容
本发明所要解决的技术问题是:提供一种MPEG视频文件的丢包检测方法。
为解决上述技术问题,本发明采用如下技术方案。
一种MPEG视频文件的丢包检测方法包括以下步骤:
步骤A,获取MPEG视频文件,所述MPEG视频文件由若干个视频序列构成,每个所述视频序列均包含有若干个I、P、B帧;在第一个视频序列头中加入标识本次测量的特殊标记,在每个所述I、P、B帧尾的用户数据域加入I、P、B帧的自身帧信息和I、P、B帧的冗余信息;
步骤B,客户端打开测量工具并点播视频,服务器将所述视频文件打成数据包开始网络传输;
步骤C,客户端测量工具找到第一个Mpeg视频数据包并获取数据包的最大载荷量max、提取数据包的五元组信息;
步骤D,根据五元组信息过滤数据包进而统计收到的视频数据包总数Y;
步骤E,通过帧的大小和max计算应收数据包的总数X,丢包率为
Figure GSB00000469394200021
作为本发明的一种优选方案,所述I、P、B帧的自身帧信息分别为I帧的自身帧信息,P帧的自身帧信息,B帧的自身帧信息;所述I帧的自身帧信息包括I帧的数量,I帧的大小;所述P帧的自身帧信息包括P帧的数量,P帧的大小;所述B帧的自身帧信息包括B帧的数量,B帧的大小。
作为本发明的另一种优选方案,所述I、P、B帧的冗余信息分别为I帧的冗余信息,P帧的冗余信息,B帧的冗余信息;所述I帧的冗余信息包括除I帧的自身帧信息之外的帧信息;所述P帧的冗余信息包括除P帧的自身帧信息之外的帧信息;所述B帧的冗余信息包括除B帧的自身帧信息之外的帧信息。
作为本发明的再一种优选方案,所述数据包的最大载荷量max的获取方法为:从数据包的第一个0x000001位置到所述数据包的最后位置的字节长度即为数据包的最大载荷量max。
作为本发明的再一种优选方案,所述应收数据包的总数X的获得方法为:所有视频序列中I帧数据包数为
Figure GSB00000469394200022
i=1,2,…n,P帧数据包数为
Figure GSB00000469394200023
B帧数据包数为
Figure GSB00000469394200024
则传输总数据包数为
Figure GSB00000469394200025
其中Iij为第i个序列中第j个I帧的大小,Pij为第i个序列中第j个P帧的大小,Bij为第i个序列中第j个B帧的大小,k(i),l(i),m(i)分别为第i个序列中I、P、B帧的个数,n为视频序列的个数。
作为本发明的再一种优选方案,所述丢包率为
Figure GSB00000469394200031
作为本发明的再一种优选方案,所述五元组信息包括源IP地址,目的IP地址,源端口,目的端口,协议类型。
作为本发明的再一种优选方案,当所述MPEG视频文件通过网络传输协议传输时,所述数据包的最大载荷量max的获取方法为:用网络传输的MTU大小减去应用层的传输协议头大小,所得结果即为数据包的最大载荷量max。
作为本发明的再一种优选方案,所述I、P、B帧的自身帧信息分别为I帧的自身帧信息,P帧的自身帧信息,B帧的自身帧信息;所述I帧的自身帧信息包括传输I帧所用的数据包数;所述P帧的自身帧信息包括传输P帧所用的数据包数;所述B帧的自身帧信息包括传输B帧所用的数据包数。
本发明的有益效果在于:本发明所述方法将测量有效信息写入user data域中,在较少的附加信息情况下准确检测出MPEG视频的丢包情况;本发明所述方法不受应用层传输协议限制,适用于各种传输层协议;更因嵌入在视频内部的冗余数据保证了检测值的准确性。
附图说明
图1为实施例二的用户数据位置示意图;
图2为网络拓扑示意图;
图3为丢包率检测结果对比图;
图4为本发明所述方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步详细说明。
实施例一
本实施例所述的MPEG视频文件的丢包检测方法的具体实现步骤为:
步骤A,获取MPEG视频文件,所述MPEG视频文件由若干个视频序列构成,每个所述视频序列均包含有若干个I、P、B帧;在第一个视频序列头中加入标识本次测量的特殊标记,在每个所述I、P、B帧尾的用户数据域加入I、P、B帧的自身帧信息和I、P、B帧的冗余信息;
步骤B,客户端打开测量工具并点播视频,服务器将所述视频文件打成数据包开始网络传输;
步骤C,客户端测量工具找到第一个Mpeg视频数据包并获取数据包的最大载荷量max、提取数据包的五元组信息;
步骤D,根据五元组过滤数据包进而统计收到的视频数据包总数Y;
步骤E,通过帧的大小和max计算应收数据包的总数X,丢包率为
所述I、P、B帧的自身帧信息分别为I帧的自身帧信息,P帧的自身帧信息,B帧的自身帧信息;所述I帧的自身帧信息包括I帧的数量,I帧的大小;所述P帧的自身帧信息包括P帧的数量,P帧的大小;所述B帧的自身帧信息包括B帧的数量,B帧的大小。所述I、P、B帧的冗余信息分别为I帧的冗余信息,P帧的冗余信息,B帧的冗余信息;所述I帧的冗余信息包括除I帧的自身帧信息之外的帧信息;所述P帧的冗余信息包括除P帧的自身帧信息之外的帧信息;所述B帧的冗余信息包括除B帧的自身帧信息之外的帧信息。所述数据包的最大载荷量max的获取方法为:从数据包的第一个0x000001位置到所述数据包的最后位置的字节长度即为数据包的最大载荷量max。
所述应收数据包的总数X的获得方法为:所有视频序列中I帧数据包数为
Figure GSB00000469394200042
i=1,2,…n,P帧数据包数为
Figure GSB00000469394200043
B帧数据包数为则传输总数据包数为
Figure GSB00000469394200045
其中Iij为第i个序列中第j个I帧的大小,Pij为第i个序列中第j个P帧的大小,Bij为第i个序列中第j个B帧的大小,k(i),l(i),m(i)分别为第i个序列中I、P、B帧的个数,n为视频序列的个数。所述丢包率为
Figure GSB00000469394200051
所述五元组信息包括源IP地址,目的IP地址,源端口,目的端口,协议类型。
当所述MPEG视频文件通过网络传输协议传输时,所述数据包的最大载荷量max的获取方法为:用网络传输的MTU大小减去应用层的传输协议头大小,所得结果即为数据包的最大载荷量max。所述I、P、B帧的自身帧信息分别为I帧的自身帧信息,P帧的自身帧信息,B帧的自身帧信息;所述I帧的自身帧信息包括传输I帧所用的数据包数;所述P帧的自身帧信息包括传输P帧所用的数据包数;所述B帧的自身帧信息包括传输B帧所用的数据包数。
实施例二
本实例提供了一种MPEG4视频文件的丢包检测方法,该方法主要包括以下步骤:
步骤A,获取MPEG视频文件,所述MPEG视频文件由若干个视频序列构成,每个所述视频序列均包含有若干个I、P、B帧;在第一个视频序列头中加入标识本次测量的特殊标记,在每个所述I、P、B帧尾的用户数据域加入I、P、B帧的自身帧信息和I、P、B帧的冗余信息;
步骤B,客户端打开测量工具并点播视频,服务器将所述视频文件打成数据包开始网络传输;
步骤C,客户端测量工具找到第一个Mpeg视频数据包并获取数据包的最大载荷量max、提取数据包的五元组信息;
步骤D,根据五元组过滤数据包进而统计收到的视频数据包总数Y;
步骤E,通过帧的大小和max计算应收数据包的总数X,丢包率为
Figure GSB00000469394200052
本实施例所述方法首先在视频服务器端的源MPEG4视频文件中加入用于标识测量的特殊标记,如图1所示,之后客户端通过网络访问加入特殊标记的视频文件,并开始实时分析检测。视频文件序列化后形成视频序列,视频序列打包成数据包后经网络开始传输。在检测过程中首先寻找接收到的含有用户数据(user data)的起始标记0x000001B200ff的数据包,其中0x000001B2为用户数据固定的起始标记,0x00ff为测量流标记,所述测量流标记可替换为其他不与特殊码流标识重复的代码。MPEG4码流标识如表1所示,MPEG4帧标记如表2所示,表3为举例说明。
表1
  序列起始代码   0x000001B0
  对象起始代码   0x000001B5
  对象层起始代码   0x00000120
  图片组起始代码   0x000001B3
  图片起始代码   0x000001B6
  用户数据起始代码   0x000001B2
表2
Figure GSB00000469394200061
表3
Figure GSB00000469394200062
在用户数据(user data)的起始标记之后存放的是视频序列的帧序号(即表示第几个视频序列)及每个帧的大小,帧序号占2个字节,I帧的数量占1个字节,每个I帧的大小占4个字节,P帧的数量占1个字节,每个P帧的大小占4个字节,B帧的数量占1个字节,每个B帧的大小占4个字节。这样一组数据就标识了一个视频序列里所有帧的大小。
在user data内冗余写入另外两个视频序列的信息,以防用户数据的数据丢失;即在I帧序列的user data内写入P帧和B帧的序列信息,在P帧序列的user data内写入I帧和B帧的序列信息,在B帧序列的user data内写入P帧和I帧的序列信息。此方法可以防止因丢失包含帧信息的数据包而导致的丢包检测结果错误。
每个数据包的IP报头中均包含五元组信息,所述五元组信息为源IP地址,目的IP地址,源端口,目的端口,协议类型。根据数据包中的五元组信息可以唯一识别每一次传输,这样就可以避免繁琐的流识别,同时也可以统计出客户端所收到的数据包数Y。最后分析这个含有用户数据的起始标记的数据包,此含有用户数据的起始标记的数据包的第一个用户数据位置(0x000001)到最后一个用户数据位置所占用的字节长度即为一个IP数据包所能传输的最多视频字节数max。如此一来就可以获知每个帧序列会被分成多少个数据包进行传输。
统计传输所有视频序列所用的数据包数X的方法为:
所有视频序列中I帧数据包数为
Figure GSB00000469394200071
i=1,2,…n,P帧数据包数为
Figure GSB00000469394200072
B帧数据包数为
Figure GSB00000469394200073
则传输总数据包数为
Figure GSB00000469394200074
其中Iij为第i个序列中第j个I帧的大小,Pij为第i个序列中第j个P帧的大小,Bij为第i个序列中第j个B帧的大小,k(i),l(i),m(i)分别为第i个序列中I、P、B帧的个数。
将统计出的传输所有视频序列所用的数据包数X与通过五元组过滤后收到的数据包数Y比对,得出两者之差X-Y,该差值即为丢包数,
Figure GSB00000469394200075
即为丢包率。
图3为丢包率检测结果对比图,其中有三种测量结果,一种是通过本实施例的检测方法获得的;另一种是通过传统的检测方法获得的;最后一种为通过wireshark抓包工具获得的,此结果反映的是实际情况中的丢包率。
从图中可以看出,本发明在测量MPEG视频文件丢包率方面有较高的准确性。
实施例三
本实施例与实施例二的区别在于,实施例二传输MPEG4视频,而本实施例使用RTP(Real-time Transport protocol,实时传输协议)传输MPEG2视频。在知道网络MTU(Maximum Transmission Unit)大小,RTP头大小等信息后,MTU-RTP即为一个IP数据包所能传输的最大载荷量max,各I、P、B帧的大小除以max之和即为传输的数据包数量。MTU是网络上传送的最大数据包,单位是字节。本实施例中,在每个视频序列头中的user data中直接写入的是传输的数据包数量,而不是每个帧的大小,因此接收端不需要用每个帧的大小除以max值来计算应收包总数。这个实例的受限之处在于要知道网络传输的MTU大小。此外,需要知道应用层的传输协议头大小等。本实施例结果与使用实施例二的结果一样。MPEG2码流标识如表4所示,MPEG2帧标记如表5所示,表6为举例说明。
表4
  序列起始代码   0x000001B3
  对象组起始代码   0x000001B8
  图片起始代码   0x00000100
  用户数据起始代码   0x000001B2
表5
Figure GSB00000469394200081
表6
Figure GSB00000469394200092
总之,通过在user data记录相关数据用于测量丢包数量的方法均在本发明的权利要求范围之内。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其他形式、结构、布置、比例,以及用其他元件、材料和部件来实现。

Claims (6)

1.一种MPEG视频文件的丢包检测方法,其特征在于,包括以下步骤:
步骤A,获取MPEG视频文件,所述MPEG视频文件由若干个视频序列构成,每个所述视频序列均包含有若干个I、P、B帧;在第一个视频序列头中加入标识本次测量的特殊标记,在每个所述I、P、B帧尾的用户数据域加入I、P、B帧的自身帧信息和I、P、B帧的冗余信息;
步骤B,客户端打开测量工具并点播视频,服务器将所述视频文件打成数据包开始网络传输;
步骤C,客户端测量工具找到第一个Mpeg视频数据包并获取数据包的最大载荷量max、提取数据包的五元组信息;所述五元组信息包括源IP地址,目的IP地址,源端口,目的端口,协议类型;
步骤D,根据五元组信息过滤数据包进而统计收到的视频数据包总数Y;
步骤E,通过帧的大小和max计算应收数据包的总数X,丢包率为
Figure FSB00000469394100011
所述应收数据包的总数X的获得方法为:所有视频序列中I帧数据包数为P帧数据包数为
Figure FSB00000469394100013
B帧数据包数为
Figure FSB00000469394100014
则传输总数据包数为
Figure FSB00000469394100015
其中Iij为第i个序列中第j个I帧的大小,Pij为第i个序列中第j个P帧的大小,Bij为第i个序列中第j个B帧的大小,k(i),l(i),m(i)分别为第i个序列中I、P、B帧的个数。
2.根据权利要求1所述的MPEG视频文件的丢包检测方法,其特征在于:所述I、P、B帧的自身帧信息分别为I帧的自身帧信息,P帧的自身帧信息,B帧的自身帧信息;所述I帧的自身帧信息包括I帧的数量,I帧的大小;所述P帧的自身帧信息包括P帧的数量,P帧的大小;所述B帧的自身帧信息包括B帧的数量,B帧的大小。
3.根据权利要求2所述的MPEG视频文件的丢包检测方法,其特征在于:所述I、P、B帧的冗余信息分别为I帧的冗余信息,P帧的冗余信息,B帧的冗余信息;所述I帧的冗余信息包括除I帧的自身帧信息之外的帧信息;所述P帧的冗余信息包括除P帧的自身帧信息之外的帧信息;所述B帧的冗余信息包括除B帧的自身帧信息之外的帧信息。
4.根据权利要求1所述的MPEG视频文件的丢包检测方法,其特征在于,所述数据包的最大载荷量max的获取方法为:从数据包的第一个0x000001位置到所述数据包的最后位置的字节长度即为数据包的最大载荷量max。
5.根据权利要求1所述的MPEG视频文件的丢包检测方法,其特征在于,当所述MPEG视频文件通过网络传输协议传输时,所述数据包的最大载荷量max的获取方法为:用网络传输的MTU大小减去应用层的传输协议头大小,所得结果即为数据包的最大载荷量max。
6.根据权利要求1所述的MPEG视频文件的丢包检测方法,其特征在于:所述I、P、B帧的自身帧信息分别为I帧的自身帧信息,P帧的自身帧信息,B帧的自身帧信息;所述I帧的自身帧信息包括传输I帧所用的数据包数;所述P帧的自身帧信息包括传输P帧所用的数据包数;所述B帧的自身帧信息包括传输B帧所用的数据包数。
CN 201010106903 2010-02-08 2010-02-08 一种mpeg视频文件的丢包检测方法 Expired - Fee Related CN101778294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010106903 CN101778294B (zh) 2010-02-08 2010-02-08 一种mpeg视频文件的丢包检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010106903 CN101778294B (zh) 2010-02-08 2010-02-08 一种mpeg视频文件的丢包检测方法

Publications (2)

Publication Number Publication Date
CN101778294A CN101778294A (zh) 2010-07-14
CN101778294B true CN101778294B (zh) 2011-06-22

Family

ID=42514589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010106903 Expired - Fee Related CN101778294B (zh) 2010-02-08 2010-02-08 一种mpeg视频文件的丢包检测方法

Country Status (1)

Country Link
CN (1) CN101778294B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447976B (zh) * 2011-08-31 2013-09-25 四川长虹电器股份有限公司 多线程ip数据分发与解析方法
CN103067791A (zh) * 2012-12-11 2013-04-24 深圳市梦网科技发展有限公司 一种网络动态适应监控视频传输方法
CN105847825A (zh) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 视频编码码流的编码、索引存储和访问方法及相应装置
CN108900831B (zh) * 2018-05-25 2019-10-11 烽火通信科技股份有限公司 花屏事件检测方法及其检测系统

Also Published As

Publication number Publication date
CN101778294A (zh) 2010-07-14

Similar Documents

Publication Publication Date Title
CN101800671B (zh) 一种h.264视频文件的丢包检测方法
CN103765823B (zh) 用于开放流的控制器激励的oam的方法和系统
US20070064611A1 (en) Method for monitoring packet loss ratio
CN100442730C (zh) 基于逐跳时间戳标签的网络链路带宽的测量方法
US7864695B2 (en) Traffic load density measuring system, traffic load density measuring method, transmitter, receiver, and recording medium
US20080056302A1 (en) Real-time transport protocol stream detection system and method
KR101268781B1 (ko) 단말 미디어 품질 및 전송 망 qos 간 연동 제어 시스템 및 방법
CN101778294B (zh) 一种mpeg视频文件的丢包检测方法
US20160315860A1 (en) Estimation Of Network Path Segment Delays
JP2002531014A (ja) 通信データを収集して分析する装置および方法
US8593947B2 (en) Congestion detection method, congestion detection apparatus, and recording medium storing congestion detection program recorded thereon
CN102611894B (zh) 检测视频传输丢包的方法、装置和系统
US8593974B2 (en) Communication conditions determination method, communication conditions determination system, and determination apparatus
CN108683555A (zh) 一种rtp丢包检测方法
CN111385163A (zh) 流量的分析、检测方法及装置
EP3491784B1 (en) Estimation of losses in a video stream
US7706279B2 (en) Communication performance measurement method
US20130120652A1 (en) Method and apparatus for evaluating time delay of mobile video service
JP5199224B2 (ja) フロー通信品質推定方法と装置およびプログラム
CN109067625A (zh) 一种业务通道性能的检测方法、设备及系统
CN103595593A (zh) 一种基于探针测量mdi的系统及方法
CN102223565B (zh) 一种基于视频内容特征的流媒体视频质量评估方法
CN102752169B (zh) 传输监控方法及装置
CN104253712B (zh) 一种利用深度包检测技术进行p2p网络识别的方法
WO2020259113A1 (zh) 一种网络性能测量装置及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110622

Termination date: 20140208