网络传输质量分析方法、装置、计算机设备和存储介质与流程

文档序号:15650075发布日期:2018-10-12 23:03阅读:272来源:国知局

本申请涉及计算机技术领域,特别涉及一种网络传输质量分析方法、装置、计算机设备和存储介质。



背景技术:

实时视频应用(如视频会议)一般采用rtp公共协议作为媒体流传输协议,互联网环境下,实际用户的网络环境变化对媒体传输的影响经常难以捉摸,在现有的技术中,难于分析用户的网络质量。

申请内容

针对现有技术不足,本申请提出一种网络传输质量分析方法、装置、计算机设备和存储介质,通过rtp数据包中分流得到音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况分析得到网络传输质量,旨在解决现有的实时视频应用,难于分析用户的网络质量的问题。

本申请提出的技术方案是:

一种网络传输质量分析方法,所述方法包括:

获取实时视频应用中包含rtp音视频流的原始网络数据文件;

提取所述原始网络数据文件中的rtp数据包;

根据预设分流规则将所述rtp数据包进行分流处理得到音频流媒体和视频流媒体;

分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析网络传输质量。

进一步地,在所述分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析得到网络传输质量的步骤中,包括:

分析所述音频流媒体和所述视频流媒体在播放过程中是否卡顿、模糊或丢帧;

将所述播放情况的分析结果作为影响所述网络的带宽、丢包、延迟和抖动的参考指标,分析所述网络传输质量。

进一步地,在所述播放所述视频流媒体的步骤中,包括:

若所述视频流媒体为h.264编码,则通过采用nal封包格式对所述视频流媒体进行解析并解码播放。

进一步地,在所述根据预设分流规则将所述rtp数据包进行分流处理得到音频流媒体和视频流媒体的步骤中,包括:

按照同步信源ssrc标识符将所述rtp数据包分流出所述音频媒体流和所述视频媒体流。

进一步地,在所述提取所述原始网络数据文件中的rtp数据包的步骤中,包括:

分析所述原始网络数据文件的文件格式,获得文件头、数据报描述和数据包,所述文件头包括magic码、版本号、时区、数据长度和链路类型,所述数据报描述包括时间戳和数据报长度,所述数据包包括ether包头、ip包头、udp包头、rtp包头和rtp数据;

从所述数据包中提取所述rtp数据包。

进一步地,在所述分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析网络传输质量的步骤之后,所述方法包括:

从所述数据报描述提取所述时间戳;

按照所述时间戳将所述音频流媒体和所述视频流媒体进行传输回放;

获取因传输所产生的异常数据;

通过分析软件处理所述异常数据;

若所述分析软件处理所述异常数据存在的问题,则根据所述问题优化所述网络传输质量。

进一步地,在所述获取实时视频应用中包含rtp音视频流的原始网络数据文件的步骤中,包括:

通过tcpdump或者wireshark网络抓包软件获取实时视频应用中包含rtp音视频流的原始网络数据文件,所述原始网络数据文件的文件格式为tcpdump格式。

本申请还提供一种网络传输质量分析装置,所述装置包括:

获取模块,用于获取实时视频应用中包含rtp音视频流的原始网络数据文件;

提取模块,用于提取所述原始网络数据文件中的rtp数据包;

处理模块,用于根据预设分流规则将所述rtp数据包进行分流处理得到音频流媒体和视频流媒体;

分析模块,用于分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析网络传输质量。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

根据上述的技术方案,本申请有益效果:获取实时视频应用中原始网络数据文件,提取原始网络数据文件中的rtp数据包,通过rtp数据包中分流得到音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况分析得到网络传输质量,完全模拟和重现真实网络环境中的音视频流,帮助分析用户网络质量,旨在解决现有的实时视频应用,难于分析用户的网络质量的问题。

附图说明

图1是应用本申请实施例提供的网络传输质量分析方法的流程图;

图2是应用本申请实施例提供的网络传输质量分析装置的功能模块图;

图3是应用本申请实施例提供的计算机设备的结构示意框图;

图4是应用本申请实施例提供的rtp是传输层上的协议示意图;

图5是应用本申请实施例提供的rtp和udp之间的接口示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,本申请实施例提出一种网络传输质量分析方法,所述方法包括以下步骤:

步骤s101、获取实时视频应用中包含rtp音视频流的原始网络数据文件。

在本实施例中,获取实时视频应用中原始网络数据文件,其中实时视频应用采用rtp公共协议作为媒体流传输协议,原始网络数据文件中包含rtp封装的音视频流,可靠传输协议rtp是reliabletransportprotocol的英文缩写,是用来管理eigrp数据包的发送和接收的协议。“可靠的发送”是指发送是有保障的,这种保障依赖cisco公司私有的算法来实现,这个私有的算法被称为“可靠组播(reliablemulticast)”,发送路由器将更新信息发送到组播ip地址224.0.0.10,每一个接收可靠组播数据包的邻居都会发送一个单播的确认数据包,如果eigrp没有从某个邻居那里得到应答,它将使用单播来重发同样的数据,如果在16次单播尝试后,它仍然没有应答,则此邻居将被宣告消失。

虽然名称中包含“可靠”,但rtp并不仅仅提供可靠传输,它也提供不可靠传输。当使用可靠传输时,rtp要求对方发回ack确认;当使用不可靠传输时,rtp不要求ack。

在本实施例中,在步骤s101中,包括:

通过网络抓包软件获取实时视频应用软件传输的原始网络数据文件,其中原始网络数据文件中包括rtp音视频流。

采用网络抓包软件进行抓包,具体地,通过tcpdump可以将网络中传送的数据包完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息;当然,还可以通过wireshark来进行抓包,wireshark(前称ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。wireshark使用winpcap作为接口,直接与网卡进行数据报文交换,从而获取实时视频应用软件中的原始网络数据文件。

具体地,在步骤s101中,包括:

通过tcpdump或者wireshark网络抓包软件获取实时视频应用中包含rtp音视频流的原始网络数据文件,原始网络数据文件的文件格式为tcpdump格式。

使用tcpdump或者wireshark网络抓包软件获取原始网络数据文件,得到的原始网络数据文件的文件格式为tcpdump格式,原始网络数据文件为tcpdump格式,便于后续对原始网络数据文件进行分析。

在本实施例中,在步骤s101之前,所述方法包括:

筛选出实时视频应用产生的网络数据。

通过先对所有网络数据进行分析,从而筛选出实时视频应用产生的网络数据,再对实时视频应用产生的网络数据进行分析,以获取包含rtp音视频流的原始网络数据文件,然后从原始网络数据文件中获取rtp数据包,将rtp数据包按照ssrc标识符分流出音频媒体流和视频媒体流,再对音频媒体流进行分析处理,音频媒体流通常为独立的rtp包结构,可以直接解码播放,具体地,可以通过adobeaudition应用软件播放分析音频媒体流和视频媒体流,从而分析音频媒体流和视频媒体流的播放情况,分析音频媒体流和视频媒体流的播放是否有卡顿、模糊或丢帧情况,从而分析得到用户网络质量。先对网络数据进行筛选,从而获取实时视频应用产生的网络数据,减少网络数据的处理量,提高运行速度。

步骤s102、提取原始网络数据文件中的rtp数据包。

在本实施例中,通过提取原始网络数据文件中的rtp数据包,使用rtp协议的应用程序运行在rtp之上,而执行rtp的程序运行在udp的上层,目的是为了使用udp的端口号和检查和。如图4所示,rtp可以看成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在rtp信息包中,每个rtp信息包被封装在udp消息段中,然后再封装在ip数据包中。

从应用开发人员的角度来看,可把rtp执行程序看成是应用程序的一部分,因为开发人员必需把rtp集成到应用程序中。在发送端,开发人员必需把执行rtp协议的程序写入到创建rtp信息包的应用程序中,然后应用程序把rtp信息包发送到udp的套接接口(socketinterface),如图5所示;同样,在接收端,rtp信息包通过udp套接接口输入到应用程序,因此开发人员必需把执行rtp协议的程序写入到从rtp信息包中抽出媒体数据的应用程序。

在本实施例中,在步骤s102中,包括:

分析原始网络数据文件的文件格式,获得文件头、数据报描述和数据包,文件头包括magic码、版本号、时区、数据长度和链路类型,数据报描述包括时间戳和数据报长度,数据包包括ether包头、ip包头、udp包头、rtp包头和rtp数据;

从数据包中提取rtp数据包。

在获取原始网络数据文件之后,对原始网络数据文件的文件格式进行分析,在本实施例中,对原始网络数据文件的tcpdump格式进行分析,经分析可获得文件头、数据报描述和数据包,其中文件头包括magic码、版本号、时区、数据长度和链路类型,数据报描述包括时间戳和数据报长度,数据包包括ether包头、ip包头、udp包头、rtp包头和rtp数据。再从数据包中提取rtp数据包,获得rtp数据包。

从应用程序的媒体数据中提取rtp信息包,具体地,原始网络数据文件为tcpdump格式,该文件格式包括文件头、数据报描述符以及rtp数据包,其中,文件头由magic码+版本码+时区+数据长度+链路类型组成,数据报描述符由时间戳+数据报长度组成,rtp数据包由ether包头+ip包头+udp包头+rtp包头+rtp数据组成,rtp是一种提供端对端传输复位的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,rtp可以看成是传输层的子层,由多媒体应用程序生成的声音和视频数据块被封装在rtp信息包中,每个rtp信息包被封装在udp消息段中,然后再封装在ip数据包中,其中ip数据包为tcp/ip协议定义的一个在网络上传输的包。

具体地,首先通过tcpdump网络抓包软件,获取包含rtp音视频流的原始网络数据文件,该原始网络数据文件是tcpdump格式的,通过分析该原始网络数据文件的格式如下:

1.文件头(magic码+版本号+时区+数据长度+链路类型)

2.数据报描述符(时间戳+数据报长度)

3.数据包(ether包头+ip包头+udp包头+rtp包头+rtp数据包)

根据上述格式从原始网络数据文件中获取rtp数据包,然后将rtp数据包按照ssrc标识符分流出音频媒体流和视频媒体流,再对音频媒体流和视频媒体流分别进行分析处理,音频媒体流通常为独立的rtp包结构,可以直接解码播放,而视频媒体流通常为h.264编码,需要按照nal封包格式来解析并解码播放,jffmpeg是一个java的多媒体框架插件,可以用来播放大部分格式的音频和视频格式的文件,分析这些音频媒体流或者视频媒体流的播放是否有卡顿、模糊或丢帧情况,可以作为用户网络的带宽、丢包、延迟和抖动等指标参考,从而分析得到用户网络质量。

另一方面,还可以通过wireshark网络抓包软件获取包含rtp音视频流的原始网络数据文件,该原始网络数据文件是tcpdump格式的,通过分析该原始网络数据文件的格式如下:

1.文件头(magic码+版本号+时区+数据长度+链路类型)

2.数据报描述符(时间戳+数据报长度)

3.数据包(ether包头+ip包头+udp包头+rtp包头+rtp数据包)

从原始网络数据文件中提取出rtp数据包,然后将rtp数据包按照ssrc标识符分流出音频媒体流和视频媒体流,可以按照时间戳标识符将音频媒体流和视频媒体流进行传输回放,以重现实际生产环境中可能由于网络传输原因产生的异常媒体流,分析这些音频媒体流或者视频媒体流的播放是否有卡顿、模糊或丢帧情况,分析软件处理异常数据时可能存在的问题,帮助分析用户网络质量。

在一些实施例中,在步骤s102中,包括:

提取原始网络数据文件中的数据包;

获取数据包中的rtp数据包。

去除原始网络数据文件中的文件头和数据报描述符,最后得到原始网络数据文件中的数据包,该数据包中包含ether包头、ip包头、udp包头、rtp包头以及rtp数据包。

去掉数据包中的ether包头、ip包头、udp包头以及rtp包头,剩下的就是rtp数据包了,去除了无关信息,减少后期的数据处理量。

步骤s103、根据预设分流规则将rtp数据包进行分流处理得到音频流媒体和视频流媒体。

通过预设分流规则将rtp数据包进行分流处理,具体地,可以将rtp数据包按照同步信源(ssrc)标识符分流出音频媒体流和视频媒体流,同步信源(ssrc)标识符:占32位,用于标识同步信源,该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的ssrc,这里的同步信源是指产生媒体流的信源,它通过rtp报头中的一个32位数字ssrc标识符来标识,而不依赖于网络地址,接收者将根据ssrc标识符来区分不同的信源,进行rtp报文的分组,特约信源是指当混合器接收到一个或多个同步信源的rtp报文后,经过混合处理产生一个新的组合rtp报文,并把混合器作为组合rtp报文的ssrc,而将原来所有的ssrc都作为csrc传送给接收者,使接收者知道组成组合报文的各个ssrc,方便后续对视频和音频分别进行分析。

在本实施例中,在步骤s103中,包括:

按照同步信源ssrc标识符将rtp数据包分流出音频媒体流和视频媒体流。

在rtp协议中,定义同步信源(ssrc,synchronizationsource)为rtp包流的源,用rtp报头中32位数值的ssrc标识符进行标识,使其不依赖于网络地址。通常麦克风,音频接口,摄像头,视频接口的变化,都会导致ssrc的变化;同步信源ssrc用于标识同步信源,该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的ssrc,从而能准确将rtp数据包中的音频媒体流和视频媒体流分流出来。

步骤s104、分别播放音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况,分析网络传输质量。

在所述播放视频流媒体的步骤中,包括:

若视频流媒体为h.264编码,则通过采用nal封包格式对视频流媒体进行解析并解码播放。

在本实施例中,分别播放音频流媒体和视频流媒体,对音频媒体流和视频媒体流的播放进行分析,音频媒体流为独立rtp包结构,可以直接进行解码播放;视频媒体流通常为h.264编码,rtp包上下文相关,通过按照nal封包格式来解析并解码播放,h.264是一种视频高压缩技术,同时称为mpeg-4avc,或mpeg-4part10,在相同的重建图像质量下,h.264比其他视频压缩编码具有更高的压缩比、更好的ip和无线网络信道适应性,高压缩率使图像的数据量减少,给存储和传输带来了方便;然后通过分析这些音频媒体流和视频媒体流的播放是否有卡顿、模糊或者丢帧情况,可以作为用户网络的带宽、丢包、延迟以及抖动等指标参考,根据音频媒体流和视频媒体流的播放情况即可分析得到用户的网络质量。

在步骤s104中,包括:

分析音频流媒体和视频流媒体在播放过程中是否卡顿、模糊或丢帧;

将播放情况的分析结果作为影响网络的带宽、丢包、延迟和抖动的参考指标,分析网络传输质量。

分别对音频流媒体和视频流媒体进行分析,分析音频流媒体和视频流媒体在播放过程中是否卡顿、模糊或丢帧,将播放情况的分析结果作为影响网络的带宽、丢包、延迟和抖动的参考指标,用于分析网络传输质量。也就是说,音频流媒体或视频流媒体在播放过程中是否卡顿、模糊或丢帧,将是否卡顿、模糊或丢帧这种播放情况作为影响网络的带宽、丢包、延迟和抖动的参考指标,进而分析网络传输质量。

在步骤s104之后,所述方法包括:

从数据报描述提取时间戳;

按照时间戳将音频流媒体和视频流媒体进行传输回放;

获取因传输所产生的异常数据;

通过分析软件处理异常数据;

若分析软件处理异常数据存在的问题,则根据问题优化网络传输质量。

从数据报描述提取时间戳,按照时间戳将音频流媒体和视频流媒体进行传输回放,以重现和分析实际生产环境中的可能由于网络传输原因产生的异常数据,通过分析软件处理异常数据,若分析软件处理异常数据存在的问题,则根据问题优化网络传输质量,若分析软件处理异常数据不存在的问题,则不需要优化网络传输质量。

在一些实施例中,在步骤s104之后,所述方法包括:

根据网络传输质量判断是否优化软件应用的媒体传输算法。

在本实施例中,分析用户的网络传输质量,针对音频媒体流和视频媒体流的播放是否存在卡顿、模糊或者丢帧的情况来判断是否需要优化软件应用的媒体传输算法,若需要优化软件应用的媒体传输算法,则针对音频媒体流和视频媒体流的播放是否存在卡顿、模糊或者丢帧的情况来优化软件应用的媒体传输算法,能在软件开发和调试过程中,重现和完全模拟真实网络环境中的音视频流,捕获用户的网络环境变化对媒体传输的影响,进而对软件的媒体传输算法进行优化,提高软件的媒体流传输质量,提高用户的体验。

在一些实施例中,在步骤s104之后,所述方法包括:

将音频媒体流和视频媒体流的播放情况以及分析得到的网络传输质量进行分类和存储。

在本实施例中,对音视频流的播放情况以及分析得到的网络传输质量进行分类和存储,具体地,对音频媒体流的播放情况根据卡顿、杂音以及丢帧作为标签进行分类以及存储,也可以通过根据卡顿、模糊或者丢帧作为标签对视频媒体流进行分类和存储,从而清楚、直接地获得音视频流的播放情况,方便后期针对音视频流的播放情况进行网络优化操作;网络优化的内容包括:优化媒体传输算法中的压缩率,从而减少网络传输的数据量,提高网络传输速率,减少卡顿现象;根据参数优化,让接入、切换等参数最优化,减少音频媒体流和视频媒体流播放的卡顿、模糊或者丢帧的情况,当然,还可以通过硬件检测以更换有问题的硬件、修改基站邻集以使切换合理,减少切换掉话来优化网络。

综上所述,获取实时视频应用中原始网络数据文件,提取原始网络数据文件中的rtp数据包,通过rtp数据包中分流得到音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况分析得到网络传输质量,完全模拟和重现真实网络环境中的音视频流,帮助分析用户网络质量,旨在解决现有的实时视频应用,难于分析用户的网络质量的问题。

如图2所示,本申请实施例提出一种网络传输质量分析装置,装置1包括获取模块11、提取模块12、处理模块13和分析模块14。

获取模块11,用于获取实时视频应用中包含rtp音视频流的原始网络数据文件。

在本实施例中,获取实时视频应用中原始网络数据文件,其中实时视频应用采用rtp公共协议作为媒体流传输协议,原始网络数据文件中包含rtp封装的音视频流,可靠传输协议rtp是reliabletransportprotocol的英文缩写,是用来管理eigrp数据包的发送和接收的协议。“可靠的发送”是指发送是有保障的,这种保障依赖cisco公司私有的算法来实现,这个私有的算法被称为“可靠组播(reliablemulticast)”,发送路由器将更新信息发送到组播ip地址224.0.0.10,每一个接收可靠组播数据包的邻居都会发送一个单播的确认数据包,如果eigrp没有从某个邻居那里得到应答,它将使用单播来重发同样的数据,如果在16次单播尝试后,它仍然没有应答,则此邻居将被宣告消失。

虽然名称中包含“可靠”,但rtp并不仅仅提供可靠传输,它也提供不可靠传输。当使用可靠传输时,rtp要求对方发回ack确认;当使用不可靠传输时,rtp不要求ack。

在本实施例中,获取模块11包括:

第一子获取模块,用于通过网络抓包软件获取实时视频应用软件传输的原始网络数据文件,其中原始网络数据文件中包括rtp音视频流。

采用网络抓包软件进行抓包,具体地,通过tcpdump可以将网络中传送的数据包完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息;当然,还可以通过wireshark来进行抓包,wireshark(前称ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。wireshark使用winpcap作为接口,直接与网卡进行数据报文交换,从而获取实时视频应用软件中的原始网络数据文件。

具体地,获取模块11包括:

tcpdump格式文件获取模块,用于通过tcpdump或者wireshark网络抓包软件获取实时视频应用中包含rtp音视频流的原始网络数据文件,原始网络数据文件的文件格式为tcpdump格式。

使用tcpdump或者wireshark网络抓包软件获取原始网络数据文件,得到的原始网络数据文件的文件格式为tcpdump格式,原始网络数据文件为tcpdump格式,便于后续对原始网络数据文件进行分析。

在本实施例中,装置1包括:

筛选模块,用于筛选出实时视频应用产生的网络数据。

通过先对所有网络数据进行分析,从而筛选出实时视频应用产生的网络数据,再对实时视频应用产生的网络数据进行分析,以获取包含rtp音视频流的原始网络数据文件,然后从原始网络数据文件中获取rtp数据包,将rtp数据包按照ssrc标识符分流出音频媒体流和视频媒体流,再对音频媒体流进行分析处理,音频媒体流通常为独立的rtp包结构,可以直接解码播放,具体地,可以通过adobeaudition应用软件播放分析音频媒体流和视频媒体流,从而分析音频媒体流和视频媒体流的播放情况,分析音频媒体流和视频媒体流的播放是否有卡顿、模糊或丢帧情况,从而分析得到用户网络质量。先对网络数据进行筛选,从而获取实时视频应用产生的网络数据,减少网络数据的处理量,提高运行速度。

提取模块12,用于提取原始网络数据文件中的rtp数据包。

在本实施例中,通过提取原始网络数据文件中的rtp数据包,使用rtp协议的应用程序运行在rtp之上,而执行rtp的程序运行在udp的上层,目的是为了使用udp的端口号和检查和。如图4所示,rtp可以看成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在rtp信息包中,每个rtp信息包被封装在udp消息段中,然后再封装在ip数据包中。

从应用开发人员的角度来看,可把rtp执行程序看成是应用程序的一部分,因为开发人员必需把rtp集成到应用程序中。在发送端,开发人员必需把执行rtp协议的程序写入到创建rtp信息包的应用程序中,然后应用程序把rtp信息包发送到udp的套接接口(socketinterface),如图5所示;同样,在接收端,rtp信息包通过udp套接接口输入到应用程序,因此开发人员必需把执行rtp协议的程序写入到从rtp信息包中抽出媒体数据的应用程序。

在本实施例中,提取模块12包括:

文件格式分析模块,用于分析原始网络数据文件的文件格式,获得文件头、数据报描述和数据包,文件头包括magic码、版本号、时区、数据长度和链路类型,数据报描述包括时间戳和数据报长度,数据包包括ether包头、ip包头、udp包头、rtp包头和rtp数据;

rtp数据包提取模块,用于从数据包中提取rtp数据包。

在获取原始网络数据文件之后,对原始网络数据文件的文件格式进行分析,在本实施例中,对原始网络数据文件的tcpdump格式进行分析,经分析可获得文件头、数据报描述和数据包,其中文件头包括magic码、版本号、时区、数据长度和链路类型,数据报描述包括时间戳和数据报长度,数据包包括ether包头、ip包头、udp包头、rtp包头和rtp数据。再从数据包中提取rtp数据包,获得rtp数据包。

从应用程序的媒体数据中提取rtp信息包,具体地,原始网络数据文件为tcpdump格式,该文件格式包括文件头、数据报描述符以及rtp数据包,其中,文件头由magic码+版本码+时区+数据长度+链路类型组成,数据报描述符由时间戳+数据报长度组成,rtp数据包由ether包头+ip包头+udp包头+rtp包头+rtp数据组成,rtp是一种提供端对端传输复位的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,rtp可以看成是传输层的子层,由多媒体应用程序生成的声音和视频数据块被封装在rtp信息包中,每个rtp信息包被封装在udp消息段中,然后再封装在ip数据包中,其中ip数据包为tcp/ip协议定义的一个在网络上传输的包。

具体地,首先通过tcpdump网络抓包软件,获取包含rtp音视频流的原始网络数据文件,该原始网络数据文件是tcpdump格式的,通过分析该原始网络数据文件的格式如下:

1.文件头(magic码+版本号+时区+数据长度+链路类型)

2.数据报描述符(时间戳+数据报长度)

3.数据包(ether包头+ip包头+udp包头+rtp包头+rtp数据包)

根据上述格式从原始网络数据文件中获取rtp数据包,然后将rtp数据包按照ssrc标识符分流出音频媒体流和视频媒体流,再对音频媒体流和视频媒体流分别进行分析处理,音频媒体流通常为独立的rtp包结构,可以直接解码播放,而视频媒体流通常为h.264编码,需要按照nal封包格式来解析并解码播放,jffmpeg是一个java的多媒体框架插件,可以用来播放大部分格式的音频和视频格式的文件,分析这些音频媒体流或者视频媒体流的播放是否有卡顿、模糊或丢帧情况,可以作为用户网络的带宽、丢包、延迟和抖动等指标参考,从而分析得到用户网络质量。

另一方面,还可以通过wireshark网络抓包软件获取包含rtp音视频流的原始网络数据文件,该原始网络数据文件是tcpdump格式的,通过分析该原始网络数据文件的格式如下:

1.文件头(magic码+版本号+时区+数据长度+链路类型)

2.数据报描述符(时间戳+数据报长度)

3.数据包(ether包头+ip包头+udp包头+rtp包头+rtp数据包)

从原始网络数据文件中提取出rtp数据包,然后将rtp数据包按照ssrc标识符分流出音频媒体流和视频媒体流,可以按照时间戳标识符将音频媒体流和视频媒体流进行传输回放,以重现实际生产环境中可能由于网络传输原因产生的异常媒体流,分析这些音频媒体流或者视频媒体流的播放是否有卡顿、模糊或丢帧情况,分析软件处理异常数据时可能存在的问题,帮助分析用户网络质量。

在一些实施例中,提取模块12包括:

第一子提取模块,用于提取原始网络数据文件中的数据包;

第一子rtp数据获取模块,用于获取数据包中的rtp数据包。

去除原始网络数据文件中的文件头和数据报描述符,最后得到原始网络数据文件中的数据包,该数据包中包含ether包头、ip包头、udp包头、rtp包头以及rtp数据包。

去掉数据包中的ether包头、ip包头、udp包头以及rtp包头,剩下的就是rtp数据包了,去除了无关信息,减少后期的数据处理量。

处理模块13,用于根据预设分流规则将rtp数据包进行分流处理得到音频流媒体和视频流媒体。

通过预设分流规则将rtp数据包进行分流处理,具体地,可以将rtp数据包按照同步信源(ssrc)标识符分流出音频媒体流和视频媒体流,同步信源(ssrc)标识符:占32位,用于标识同步信源,该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的ssrc,这里的同步信源是指产生媒体流的信源,它通过rtp报头中的一个32位数字ssrc标识符来标识,而不依赖于网络地址,接收者将根据ssrc标识符来区分不同的信源,进行rtp报文的分组,特约信源是指当混合器接收到一个或多个同步信源的rtp报文后,经过混合处理产生一个新的组合rtp报文,并把混合器作为组合rtp报文的ssrc,而将原来所有的ssrc都作为csrc传送给接收者,使接收者知道组成组合报文的各个ssrc,方便后续对视频和音频分别进行分析。

在本实施例中,处理模块13包括:

第一子处理模块,用于按照同步信源ssrc标识符将rtp数据包分流出音频媒体流和视频媒体流。

在rtp协议中,定义同步信源(ssrc,synchronizationsource)为rtp包流的源,用rtp报头中32位数值的ssrc标识符进行标识,使其不依赖于网络地址。通常麦克风,音频接口,摄像头,视频接口的变化,都会导致ssrc的变化;同步信源ssrc用于标识同步信源,该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的ssrc,从而能准确将rtp数据包中的音频媒体流和视频媒体流分流出来。

分析模块14,用于分别播放音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况,分析网络传输质量。

分析模块14包括:

第一分析模块,用于若视频流媒体为h.264编码,则通过采用nal封包格式对视频流媒体进行解析并解码播放。

在本实施例中,分别播放音频流媒体和视频流媒体,对音频媒体流和视频媒体流的播放进行分析,音频媒体流为独立rtp包结构,可以直接进行解码播放;视频媒体流通常为h.264编码,rtp包上下文相关,通过按照nal封包格式来解析并解码播放,h.264是一种视频高压缩技术,同时称为mpeg-4avc,或mpeg-4part10,在相同的重建图像质量下,h.264比其他视频压缩编码具有更高的压缩比、更好的ip和无线网络信道适应性,高压缩率使图像的数据量减少,给存储和传输带来了方便;然后通过分析这些音频媒体流和视频媒体流的播放是否有卡顿、模糊或者丢帧情况,可以作为用户网络的带宽、丢包、延迟以及抖动等指标参考,根据音频媒体流和视频媒体流的播放情况即可分析得到用户的网络质量。

分析模块14包括:

第二分析模块,用于分析音频流媒体和视频流媒体在播放过程中是否卡顿、模糊或丢帧;

第三分析模块,用于将播放情况的分析结果作为影响网络的带宽、丢包、延迟和抖动的参考指标,分析网络传输质量。

分别对音频流媒体和视频流媒体进行分析,分析音频流媒体和视频流媒体在播放过程中是否卡顿、模糊或丢帧,将播放情况的分析结果作为影响网络的带宽、丢包、延迟和抖动的参考指标,用于分析网络传输质量。也就是说,音频流媒体或视频流媒体在播放过程中是否卡顿、模糊或丢帧,将是否卡顿、模糊或丢帧这种播放情况作为影响网络的带宽、丢包、延迟和抖动的参考指标,进而分析网络传输质量。

装置1包括:

第一提取模块,用于从数据报描述提取时间戳;

第一传输模块,用于按照时间戳将音频流媒体和视频流媒体进行传输回放;

第一获取模块,用于获取因传输所产生的异常数据;

第一处理模块,用于通过分析软件处理异常数据;

第一优化模块,用于若分析软件处理异常数据存在的问题,则根据问题优化网络传输质量。

从数据报描述提取时间戳,按照时间戳将音频流媒体和视频流媒体进行传输回放,以重现和分析实际生产环境中的可能由于网络传输原因产生的异常数据,通过分析软件处理异常数据,若分析软件处理异常数据存在的问题,则根据问题优化网络传输质量,若分析软件处理异常数据不存在的问题,则不需要优化网络传输质量。

在一些实施例中,装置1包括:

优化判断模块,用于根据网络传输质量判断是否优化软件应用的媒体传输算法。

在本实施例中,分析用户的网络传输质量,针对音频媒体流和视频媒体流的播放是否存在卡顿、模糊或者丢帧的情况来判断是否需要优化软件应用的媒体传输算法,若需要优化软件应用的媒体传输算法,则针对音频媒体流和视频媒体流的播放是否存在卡顿、模糊或者丢帧的情况来优化软件应用的媒体传输算法,能在软件开发和调试过程中,重现和完全模拟真实网络环境中的音视频流,捕获用户的网络环境变化对媒体传输的影响,进而对软件的媒体传输算法进行优化,提高软件的媒体流传输质量,提高用户的体验。

在一些实施例中,装置1包括:

存储模块,用于将音频媒体流和视频媒体流的播放情况以及分析得到的网络传输质量进行分类和存储。

在本实施例中,对音视频流的播放情况以及分析得到的网络传输质量进行分类和存储,具体地,对音频媒体流的播放情况根据卡顿、杂音以及丢帧作为标签进行分类以及存储,也可以通过根据卡顿、模糊或者丢帧作为标签对视频媒体流进行分类和存储,从而清楚、直接地获得音视频流的播放情况,方便后期针对音视频流的播放情况进行网络优化操作;网络优化的内容包括:优化媒体传输算法中的压缩率,从而减少网络传输的数据量,提高网络传输速率,减少卡顿现象;根据参数优化,让接入、切换等参数最优化,减少音频媒体流和视频媒体流播放的卡顿、模糊或者丢帧的情况,当然,还可以通过硬件检测以更换有问题的硬件、修改基站邻集以使切换合理,减少切换掉话来优化网络。

综上所述,获取实时视频应用中原始网络数据文件,提取原始网络数据文件中的rtp数据包,通过rtp数据包中分流得到音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况分析得到网络传输质量,完全模拟和重现真实网络环境中的音视频流,帮助分析用户网络质量,旨在解决现有的实时视频应用,难于分析用户的网络质量的问题。

如图3所示,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络传输质量分析方法的模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络传输质量分析方法。

上述处理器执行上述网络传输质量分析方法的步骤:获取实时视频应用中包含rtp音视频流的原始网络数据文件;提取所述原始网络数据文件中的rtp数据包;根据预设分流规则将所述rtp数据包进行分流处理得到音频流媒体和视频流媒体;分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析网络传输质量。

在一个实施例中,上述分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析得到网络传输质量的步骤中,包括:

分析所述音频流媒体和所述视频流媒体在播放过程中是否卡顿、模糊或丢帧;

将所述播放情况的分析结果作为影响所述网络的带宽、丢包、延迟和抖动的参考指标,分析所述网络传输质量。

在一个实施例中,上述播放所述视频流媒体的步骤中,包括:

若所述视频流媒体为h.264编码,则通过采用nal封包格式对所述视频流媒体进行解析并解码播放。

在一个实施例中,上述根据预设分流规则将所述rtp数据包进行分流处理得到音频流媒体和视频流媒体的步骤中,包括:

按照同步信源ssrc标识符将所述rtp数据包分流出所述音频媒体流和所述视频媒体流。

在一个实施例中,上述提取所述原始网络数据文件中的rtp数据包的步骤中,包括:

分析所述原始网络数据文件的文件格式,获得文件头、数据报描述和数据包,所述文件头包括magic码、版本号、时区、数据长度和链路类型,所述数据报描述包括时间戳和数据报长度,所述数据包包括ether包头、ip包头、udp包头、rtp包头和rtp数据;

从所述数据包中提取所述rtp数据包。

在一个实施例中,上述分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析网络传输质量的步骤之后,包括:

从所述数据报描述提取所述时间戳;

按照所述时间戳将所述音频流媒体和所述视频流媒体进行传输回放;

获取因传输所产生的异常数据;

通过分析软件处理所述异常数据;

若所述分析软件处理所述异常数据存在的问题,则根据所述问题优化所述网络传输质量。

在一个实施例中,上述获取实时视频应用中包含rtp音视频流的原始网络数据文件的步骤中,包括:

通过tcpdump或者wireshark网络抓包软件获取实时视频应用中包含rtp音视频流的原始网络数据文件,所述原始网络数据文件的文件格式为tcpdump格式。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请实施例的计算机设备,获取实时视频应用中原始网络数据文件,提取原始网络数据文件中的rtp数据包,通过rtp数据包中分流得到音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况分析得到网络传输质量,完全模拟和重现真实网络环境中的音视频流,帮助分析用户网络质量,旨在解决现有的实时视频应用,难于分析用户的网络质量的问题。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种网络传输质量分析方法,具体为:获取实时视频应用中包含rtp音视频流的原始网络数据文件;提取所述原始网络数据文件中的rtp数据包;根据预设分流规则将所述rtp数据包进行分流处理得到音频流媒体和视频流媒体;分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析网络传输质量。

在一个实施例中,上述分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析得到网络传输质量的步骤中,包括:

分析所述音频流媒体和所述视频流媒体在播放过程中是否卡顿、模糊或丢帧;

将所述播放情况的分析结果作为影响所述网络的带宽、丢包、延迟和抖动的参考指标,分析所述网络传输质量。

在一个实施例中,上述播放所述视频流媒体的步骤中,包括:

若所述视频流媒体为h.264编码,则通过采用nal封包格式对所述视频流媒体进行解析并解码播放。

在一个实施例中,上述根据预设分流规则将所述rtp数据包进行分流处理得到音频流媒体和视频流媒体的步骤中,包括:

按照同步信源ssrc标识符将所述rtp数据包分流出所述音频媒体流和所述视频媒体流。

在一个实施例中,上述提取所述原始网络数据文件中的rtp数据包的步骤中,包括:

分析所述原始网络数据文件的文件格式,获得文件头、数据报描述和数据包,所述文件头包括magic码、版本号、时区、数据长度和链路类型,所述数据报描述包括时间戳和数据报长度,所述数据包包括ether包头、ip包头、udp包头、rtp包头和rtp数据;

从所述数据包中提取所述rtp数据包。

在一个实施例中,上述分别播放所述音频流媒体和所述视频流媒体,根据所述音频媒体流和所述视频媒体流的播放情况,分析网络传输质量的步骤之后,包括:

从所述数据报描述提取所述时间戳;

按照所述时间戳将所述音频流媒体和所述视频流媒体进行传输回放;

获取因传输所产生的异常数据;

通过分析软件处理所述异常数据;

若所述分析软件处理所述异常数据存在的问题,则根据所述问题优化所述网络传输质量。

在一个实施例中,上述获取实时视频应用中包含rtp音视频流的原始网络数据文件的步骤中,包括:

通过tcpdump或者wireshark网络抓包软件获取实时视频应用中包含rtp音视频流的原始网络数据文件,所述原始网络数据文件的文件格式为tcpdump格式。

本申请实施例的存储介质,获取实时视频应用中原始网络数据文件,提取原始网络数据文件中的rtp数据包,通过rtp数据包中分流得到音频流媒体和视频流媒体,根据音频媒体流和视频媒体流的播放情况分析得到网络传输质量,完全模拟和重现真实网络环境中的音视频流,帮助分析用户网络质量,旨在解决现有的实时视频应用,难于分析用户的网络质量的问题。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1