发明内容
本发明的目的就在于克服上述现有技术的缺点和不足,提供一种视频信号网络损伤模拟装置,解决现有技术中模拟变电站站端通信网络信号损伤类型和损伤参数的不能自由设定问题,提高模拟网络信号损伤的真实性及灵活性。本发明还提供了一种应用该模拟装置的网络损伤模拟系统及模拟方法。
本发明解决上述问题所采用的技术方案是:
一种视频信号网络损伤模拟装置,所述视频信号网络损伤模拟装置包括:
通信连接模块,所述通信连接模块用于实现视频信号网络损伤模拟装置与网络摄像机模拟单元和被测NVR之间的通信,从网络摄像机模拟单元中接收原始视频数据报文,以及向被测NVR发送加入了损伤的视频数据报文;
地址配置模块,所述地址配置模块用于配置网络摄像机模拟单元和被测NVR信息;
损伤参数设置模块,所述损伤参数设置模块用于设置网络信号损伤类型以及网络信号损伤参数;
协议解析模块,所述协议解析模块用于解析通信连接模块接收的报文并判断报文类型,并按照所述损伤参数设置模块所配置的参数向其中的视频数据报文加入损伤。
本方案中,能够通过损伤参数设置模块设置损伤类型和损伤参数,并依据该损伤类型和损伤参数向视频数据报文中加入损伤以模拟网络损伤,损伤类型和损伤参数能够依据研究需要进行自由设定,提高了模拟网络信号损伤的真实性及灵活性。
进一步,所述地址配置模块用于配置网络摄像机模拟单元和被测NVR信息,该信息包括网络摄像机模拟单元的IP地址信息和通信端口信息、被测NVR的IP地址信息和通信端口信息。
作为本发明的进一步改进,所述视频数据报文采用RTP协议传输,所述协议解析模块在按照所述损伤参数设置模块所配置的参数向其中的视频数据报文加入损伤时,首先判断解析出的报文是否为RTP数据包,若是,则向其中的视频数据报文加入损伤,若不是,则不进行损伤。
作为本发明的又一改进,所述损伤参数设置模块在设置网络信号损伤类型以及网络信号损伤参数时还根据网络信号损伤类型和网络信号损伤参数生成损伤配置表,所述损伤配置表包括多个损伤表单,每个损伤表单对应一个RTP数据包的损伤处理信息;所述协议解析模块将损伤配置表中的损伤表单按顺序依次向各RTP数据包中添加损伤表单,每个RTP数据包添加一张损伤表单,协议解析模块再根据损伤表单对RTP数据包的视频数据报文进行损伤。
进一步,所述网络信号损伤类型包括:固定时延损伤、均匀分布时延损伤、高斯分布时延损伤、丢包损伤、重发损伤;所述网络信号损伤参数包括:固定时延值、丢包率、高斯分布时延最小值、高斯分布时延均值、高斯分布时延标准差、重复帧概率、均匀分布时延最小值与均匀分布时延最大值。
进一步,所述协议解析模块包括:Soap协议解析模块、RTSP协议解析模块、RTP协议解析模块、RTCP协议解析模块、损伤模拟模块。
一种视频信号网络损伤模拟系统,包括损伤模拟装置、多个网络摄像机模拟单元和1个被测NVR,所述损伤模拟装置为上述任一方案中的视频信号网络损伤模拟装置,所有网络摄像机模拟单元和被测NVR均连接到视频信号网络损伤模拟装置的通信连接模块上。
一种视频信号网络损伤模拟方法,所述方法包括以下步骤:
S1、利用地址配置模块配置网络摄像机模拟单元和被测NVR的IP地址和通信端口信息;
S2、损伤参数设置模块设置网络信号损伤类型以及网络信号损伤参数;
S3、利用通信连接模块将视频信号网络损伤模拟装置与网络摄像机模拟单元和被测NVR之间建立数据连接;
S4、协议解析模块解析从网络摄像机模拟单元中接收到的原始视频数据报文;
S5、协议解析模块按照所述损伤参数设置模块所配置的参数向视频数据报文中加入损伤;
S6、通信连接模块将加入了损伤的视频数据报文向被测NVR发送。
进一步,所述视频数据报文采用RTP协议传输,
步骤S5中,所述协议解析模块在按照所述损伤参数设置模块所配置的参数向其中的视频数据报文加入损伤时,首先根据解析出的报文判断是否为RTP数据包,若是,则向其中的视频数据报文加入损伤,若不是,则不进行损伤。
进一步,步骤S2中,所述网络信号损伤类型包括固定时延损伤、均匀分布时延损伤、高斯分布时延损伤、丢包损伤、重发损伤;所述网络信号损伤参数包括:固定时延值、丢包率、高斯分布时延最小值、高斯分布时延均值、高斯分布时延标准差、重复帧概率、均匀分布时延最小值与均匀分布时延最大值;损伤参数设置模块还根据网络信号损伤类型和网络信号损伤参数生成损伤配置表,所述损伤配置表包括多个损伤表单,每个损伤表单对应一个RTP数据包的损伤处理信息;
步骤S5中,协议解析模块按照所述损伤参数设置模块所配置的参数向视频数据报文中加入损伤时将损伤配置表中的损伤表单按顺序依次向各RTP数据包中添加损伤表单,每个RTP数据包添加一张损伤表单,协议解析模块再根据损伤表单对RTP数据包的视频数据报文进行损伤;进行损伤的具体方法为:
当损伤类型设置为固定时延损伤时,损伤配置表中各RTP数据包的时延值均等于固定时延值,所有损伤表单中的时延值相等,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包进行暂存;每隔一段时间对暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR;
当损伤类型设置为丢包损伤时,根据损伤配置表,截获部分RTP数据包,不再向被测NVR发送;
当损伤类型设置为重发损伤时,向被测NVR重发部分RTP数据包;
当损伤类型设置为均匀分布时延损伤时,损伤配置表中各RTP数据包的时延值呈均匀分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包进行暂存;每隔一段时间对暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR;
当损伤类型设置为高斯分布时延损伤时,损伤配置表中各RTP数据包的时延值呈高斯分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包进行暂存;每隔一段时间对暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR。
本方案主要通过损伤参数配置模块自由配置损伤类型和损伤参数,然后自动生成损伤配置表,当通信连接模块收到报文后由协议解析模块判断报文类型,若为视频数据报文,则将在报文最前端加入损伤表单并存储,然后根据表单内容,若有丢包损伤,则直接丢弃;若有重发损伤,则到达发送时间时原始报文和重复报文同时发送;如只有时间损伤,则达到发送时间时,发送损伤报文。
综上,本发明的有益效果是:
1、本发明能够通过损伤参数设置模块设置损伤类型和损伤参数,并依据该损伤类型和损伤参数向视频数据报文中加入损伤以模拟网络损伤,解决现有技术中模拟变电站站端通信网络信号损伤类型和损伤参数的不能自由设定问题,提高了模拟网络信号损伤的真实性及灵活性,实现了对变电站监控系统网络设备抗劣化能力有效的检测以及为改善了设备的抗劣化性能提供依据;
2、本发明的损伤参数设置模块能够根据变电站辅助系统所用的具体的视频传输协议进行有针对性的损伤模拟,提高了模拟网络信号损伤的真实性。
实施例1:
如图1所示,一种视频信号网络损伤模拟装置,所述网络损伤模拟装置包括:
通信连接模块101,所述通信连接模块101用于实现视频信号网络损伤模拟装置10与网络摄像机模拟单元20和被测NVR30之间的通信,从网络摄像机模拟单元20中接收原始视频数据报文,以及向被测NVR30发送加入了损伤的视频数据报文;通信连接模块101还可以用于从被测NVR30中接收控制指令并向网络摄像机模拟单元20发送控制指令。其中,在本申请实施例中,所述通信连接模块101通过TCP/UDP网络通信实现网络摄像机模拟单元20与所述视频信号网络损伤模拟装置10的通信连接、以及所述视频信号网络损伤模拟装置10与被测NVR30间的通信连接。本实施例中,所述视频数据报文采用RTP协议传输,控制指令采用RTCP协议传输,RTP协议将视频数据封装成RTP数据包;RTCP将控制信息封装成RTCP控制包。
地址配置模块102,用于配置网络摄像机模拟单元20的IP地址信息、网络摄像机模拟单元20的通信端口信息、被测NVR30的IP地址信息和被测NVR30的通信端口信息。网络摄像机模拟单元20用于提供监控视频,在被测NVR30的请求下向视频信号网络损伤模拟装置10发送视频数据报文。视频信号网络损伤模拟装置10再向视频数据报文中添加损伤,模拟视频的网络损伤,并发送给被测NVR30。NVR (Network Video Recorder即网络硬盘录像机),被测NVR30用于接收和测试视频信号网络损伤模拟装置10发送过来的带有损伤的视频数据报文。被测NVR30向网络摄像机模拟单元20请求视频信号时可以直接与网络摄像机模拟单元20相连、直接向网络摄像机模拟单元20发送请求,也可以通过视频信号网络损伤模拟装置10的通信连接模块101向网络摄像机模拟单元20中转请求。
损伤参数设置模块103,用于设置网络信号损伤类型以及网络信号损伤参数,可通过人机界面进行配置或者通过读取预置在视频信号网络损伤模拟装置10内的网络信号损伤参数文件进行设置,在设置好网络信号损伤类型以及网络信号损伤参数后,损伤参数设置模块103根据网络信号损伤类型和网络信号损伤参数生成损伤配置表,所述损伤配置表包括多个损伤表单,每个损伤表单对应一个RTP数据包的损伤处理信息即一个损伤表单中包含了一个RTP数据包的损伤操作的全部信息,包括但不限于该RTP数据包的损伤类型及该损伤类型对应的损伤参数取值。损伤参数设置模块103中还具有生成损伤参数取值的随机函数、均匀分布函数、高斯分布函数,通过这些函数获得损伤表单中的损伤参数取值,形成损伤配置表。
协议解析模块104,与损伤参数设置模块103和通信连接模块101均相连,所述协议解析模块104用于解析通信连接模块101接收的报文并判断报文类型,并按照所述损伤参数设置模块103所配置的参数向其中的视频数据报文中加入损伤。本实施例中的视频信号网络损伤模拟装置10使用的报文有:RTSP协议报文(视频会话发起协议)、RTP协议报文(视频流实时传输协议,损伤参数设置模块103主要对此协议的报文进行损伤)、RTCP协议报文(实时传输控制协议)、Soap协议报文(用于对网络摄像机模拟单元20的基本控制,例如控制云台转动、变焦),因此通信连接模块101会接收到上述四种报文,但协议解析模块104只对其中的视频数据报文即RTP协议报文进行损伤。对应地,在本申请实施例中,所述协议解析模块包括:Soap (Simple Objectaccess PRotocal,简单对象访问协议)协议解析模块、RTSP(Real Time Streaming Protocol,实时流传输协议)协议解析模块、RTP(Real-timeTransport Protocol,实时传输协议)协议解析模块、RTCP (Real-time ControlProtocol,实时传输控制协议)协议解析模块,至少可以解析这四种常用的传输协议报文,协议解析模块还包括向视频数据报文中加入损伤的模拟损伤模块。
所述协议解析模块104解析通信连接模块101接收的报文并判断报文类型的具体方法是:通过通信端口、或报头+载荷长度、或报文内容+报头区分不同的报文协议,协议解析模块104需要解析的内容包括报文的报头、载荷长度、报文内容,报头内容包括报文V位(版本号)、CC(特约信源标识符计数器)位、CSeq序号(呼叫顺序编号),报文内容包括报文关键字、报文文档格式、报文字段;协议解析模块104并不对每个报文都解析上述全部内容,首先根据报头和载荷长度判断是否为RTP报文,判断出有RTP报文后,认为RTP报文传输所用的端口的下一端口为RTCP端口,此后则认定RTCP端口传输的报文均为RTCP报文,RTCP端口发送至的报文不进行解析,直接转发。对Soap和RTSP报文需要结合报文内容进行判断。
具体地,本实施例中,四种报文的判断方法为:
1、RTP:首先根据报文的载荷长度和报头内容判断,满足以下三个条件则为RTP报文:①报文V位(版本号)为2,②载荷长度大于12字节,③CC位的四倍与12的和小于载荷长度;如果是RTP报文则不对其他内容继续进行判断,向RTP报文中加入损伤;如果不是RTP报文则继续判断报文内容。
2、RTSP:当报文内容含有OPTIONS,DESCRIBE,ANNOUNCE,SETUP,PLAY,TEARDOWN关键字且CSeq序号按顺序增长时则为RTSP报文。
3、Soap:当报文内容中报文符合Xml文档格式且含有Header和Envelope字段时认为是Soap报文。
4、RTCP:一般在获得RTP报文后,可以判断出RTP使用的端口,而RTCP报文使用的端口为RTP报文使用端口的下一个端口,例如RTP使用20000端口,RTCP报文使用20001端口,因此认定只要是RTP报文使用端口的下一端口发出的报文即为RTCP报文,协议解析模块104对该类报文不进行解析而直接进行转发。
所述协议解析模块在按照所述损伤参数设置模块所配置的参数向其中的视频数据报文加入损伤时,首先判断协议解析出的报文是否为RTP数据包,若是,则根据损伤参数设置模块103所配置损伤类型和参数向其中的视频数据报文加入损伤时,若不是,则不进行损伤。所述协议解析模块根据损伤参数设置模块103所配置损伤类型和参数向其中的视频数据报文加入损伤时,按照损伤配置表中的损伤表单的顺序,依次向每个RTP数据包的报文前端添加1个损伤表单,再根据损伤表单对RTP数据包的视频数据报文进行损伤。
其中,在本申请实施例中,请参考图2,所述网络信号损伤类型包括:固定时延损伤、均匀分布时延损伤、高斯分布时延损伤、丢包损伤、重发损伤;各类网络信号损伤类型对应的网络信号损伤参数如下:
固定时延损伤:网络信号损伤参数为固定时延值,取值范围是0-16.384s,调节精度为1ms;固定时延损伤时生成的损伤配置表中损伤表单的内容为损伤类型和时延值,所有损伤表单的时延值均相等,其值等于固定时延值;
丢包损伤:网络信号损伤参数为丢包率,取值范围是0-100%,调节精度是0.0001%;丢包损伤时生成的损伤配置表中损伤表单的内容为损伤类型和是否截获的标识信息;此时标识信息根据丢包率随机设置,损伤参数设置模块103根据丢包率随机在损伤配置表中将一部分损伤表单的标识信息设置为截获,例如置1,那么不截获的标识信息置0;
重发损伤:网络信号损伤参数为重复帧概率,取值范围是0-100%,调节精度是0.0001%;重发损伤时生成的损伤配置表中损伤表单的内容为损伤类型和是否重发的标识信息;此时,标识信息根据重复帧概率随机设置,损伤参数设置模块103根据重复帧概率随机在损伤配置表中将一部分损伤表单的标识信息设置为重发,例如置1,那么不重发的标识信息置0;
均匀分布时延损伤:网络信号损伤参数有均匀分布时延最小值、均匀分布时延最大值,取值范围都是0-10s,但最小值必须小于最大值,调节精度均为1ms;均匀分布时延损伤时生成的损伤配置表中损伤表单的内容为损伤类型和时延值,所有损伤表单中的时延值满足均匀分布,这些时延值根据均匀分布时延最小值、均匀分布时延最大值自动生成;
高斯分布时延损伤:网络信号损伤参数有高斯分布时延最小值、高斯分布时延均值、高斯分布时延标准差,需保证可能的最大时延值不超过10s,调节精度为1ms;高斯分布时延损伤时生成的损伤配置表中损伤表单的内容为损伤类型和时延值,所有损伤表单中的时延值满足高斯分布,这些时延值根据高斯分布时延最小值、高斯分布时延均值、高斯分布时延标准差自动生成。
上述各种损伤类型生成损伤配置表时损伤表单的生成方法如下:
固定时延损伤:损伤类型为固定时延损伤;所有损伤表单的时延值均等于人机界面输入的或者预置的网络信号损伤参数文件中的固定时延值。
丢包损伤:损伤类型为丢包损伤,是否截获的标识信息的取值有截获和不截获两种取值(例如截获取值为1,不截获取值为0),这两种取值的赋值方式为:人机界面输入的或者预置的网络信号损伤参数文件中的丢包率为损伤参数设置模块103中的随机函数提供参数,随机函数根据该丢包率依次为这些损伤表单中的是否截获的标识信息进行赋值;随机函数赋值为每个损伤表单中的是否截获的标识信息进行赋值的方法为:
随机函数随机生成a~b之间的一个随机数,a、b分别为随机数的取值下限值和上限值,并判断该随机数是否小于(b-a)/n,如果小于则对损伤表单中的是否截获的标识信息置1,否则损伤表单中的是否截获的标识信息置0。其中n为丢包率的倒数。
重发损伤:损伤类型为重发损伤,是否重发的标识信息的取值有重发和不重发两种取值(例如重发取值为1,不重发取值为0),这两种取值的赋值方式为:人机界面输入的或者预置的网络信号损伤参数文件中的重复帧概率为随机函数提供参数,随机函数根据该重复帧概率依次对这些损伤表单中的是否重发的标识信息进行赋值;本实施例中,随机函数为每个损伤表单中的是否重发的标识信息进行赋值的方法同丢包损伤,不同点在于:使用的n为重复帧概率的倒数。
均匀分布时延损伤:损伤类型为均匀分布时延损伤,所有损伤表单中时延值满足均匀分布,这些时延值的赋值方式为:人机界面输入的或者预置的网络信号损伤参数文件中的均匀分布时延最小值c、均匀分布时延最大值d为均匀分布函数提供参数,均匀分布函数对各损伤表单中的时延值进行赋值;本实施例中,均匀分布函数为每个损伤表单中的时延值进行赋值的方法如下:
本实施例中,均匀分布函数在c~d之间产生一系列随机数,这些随机数按从小到大或从大到小的顺序依次赋给各损伤表单中的时延值。
高斯分布时延损伤:损伤类型为高斯分布时延损伤,所有损伤表单中时延值满足高斯分布,这些时延值的赋值方式为:人机界面输入的或者预置的网络信号损伤参数文件中的高斯分布时延最小值、高斯分布时延均值、高斯分布时延标准差为高斯分布函数提供参数,高斯分布函数对各损伤表单中的时延值进行赋值。本实施例中,由于高斯分布的最大时延值不超过10s,调节精度为1ms,因此高斯分布时延值不大于10000。高斯分布函数在0-10000之间产生一系列随机数,并将这些随机数依次赋给各损伤表单中的时延值。
实际应用中,上述随机函数根据丢包率或重复帧概率生成随机数、均匀分布函数根据均匀分布时延最小值和均匀分布时延最大值生成时延值、高斯分布函数根据高斯分布时延最小值和高斯分布时延均值及高斯分布时延标准差为生成时延值时本领域常用的技术手段,可以调用计算机各种库函数实现,本实施例中不再赘述其具体方法。
上述随机函数、均匀分布函数、高斯分布函数存储在损伤参数设置模块103中,损伤参数设置模块103,通过这些函数获得算上表单中参数取值,形成损伤配置表。
协议解析模块104按照所述损伤参数设置模块103所配置的参数向其中的视频数据报文中加入损伤时的具体方式为:
当损伤类型设置为固定时延损伤时,损伤配置表中各RTP数据包的时延值均等于固定时延值,所有损伤表单中的时延值相等,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR;
当损伤类型设置为丢包损伤时,根据损伤配置表,截获部分RTP数据包,不再向被测NVR发送;具体地,当RTP数据包的表单为截获的标识信息时,对该RTP数据包进行截获,反之不进行截获;
当损伤类型设置为重发损伤时,向被测NVR重发部分数据包;具体地,当RTP数据包的表单为重发的标识信息时,对该RTP数据包进行重发,反之不进行重发;
当损伤类型设置为均匀分布时延损伤时,损伤配置表中各RTP数据包的时延值呈均匀分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR;
当损伤类型设置为高斯分布时延损伤时,损伤配置表中各RTP数据包的时延值呈高斯分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR。
本实施例中,损伤参数设置模块103可根据需要设置损伤类型和损伤参数,并依据该损伤类型和损伤参数向视频数据报文中加入损伤以模拟网络损伤,解决现有技术中模拟变电站站端通信网络信号损伤类型和损伤参数的不能自由设定问题,提高了模拟网络信号损伤的真实性及灵活性,实现了对变电站监控系统网络设备抗劣化能力有效的检测以及为有效地改善设备的抗劣化性能提供依据。本发明的损伤参数设置模块能够根据变电站辅助系统所用的具体的视频传输协议进行有针对性的损伤模拟,提高了模拟网络信号损伤的真实性。当视频数据报文采用除RTP外的其他协议传输时,处理方式相同,协议解析模块104判断该数据包为相应视频传输协议的数据包时才进行损伤。
如图3所示,利用本实施例中的模拟装置进行视频信号网络损伤模拟方法,包括以下步骤:
S1、利用地址配置模块102配置网络摄像机模拟单元20和被测NVR30的IP地址信息和通信端口信息;
S2、损伤参数设置模块103设置网络信号损伤类型以及网络信号损伤参数;所述网络信号损伤类型包括:固定时延损伤、均匀分布时延损伤、高斯分布时延损伤、丢包损伤、重发损伤;各类网络信号损伤类型对应的网络信号损伤参数如下:
固定时延损伤:网络信号损伤参数为固定时延值;
丢包损伤:网络信号损伤参数为丢包率;
重发损伤:网络信号损伤参数为重复帧概率;
均匀分布时延损伤:网络信号损伤参数有均匀分布时延最小值、均匀分布时延最大值;
高斯分布时延损伤:网络信号损伤参数有高斯分布时延最小值、高斯分布时延均值、高斯分布时延标准差;
损伤参数设置模块103设置网络信号损伤类型以及网络信号损伤参数时可以通过人机界面进行设置,也可以读取预置在视频信号网络损伤模拟装置内的网络信号损伤参数文件进行设置,设置好后损伤参数设置模块103自动生成损伤配置表,该损伤配置表包括多个损伤表单,每个损伤表单对应一个RTP数据包的损伤处理信息,包括但不限于损伤类型及其对应的损伤参数;
S3、利用通信连接模块101将视频信号网络损伤模拟装置10与网络摄像机模拟单元20、被测NVR30之间建立数据连接;
S4、协议解析模块104解析通信连接模块101从网络摄像机模拟单元20中接收到的原始视频数据报文;
S5、协议解析模块104按照所述损伤参数设置模块103所配置的网络信号损伤类型以及网络信号损伤参数向视频数据报文中加入损伤;
S6、通信连接模块101将加入了损伤的视频数据报文向被测NVR30发送。
步骤S5中,协议解析模块按照所述损伤参数设置模块所配置的参数向视频数据报文中加入损伤时将损伤配置表中的损伤表单按顺序依次向各RTP数据包中添加损伤表单,每个RTP数据包添加一张损伤表单,协议解析模块104再根据损伤表单对RTP数据包的视频数据报文进行损伤;进行损伤的具体方法为:
当损伤类型设置为固定时延损伤时,损伤配置表中各RTP数据包的时延值均等于固定时延值,所有损伤表单中的时延值相等,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR;
当损伤类型设置为丢包损伤时,根据损伤配置表,截获部分RTP数据包,不再向被测NVR发送;具体地,根据丢包率生成损伤配置表,该损伤配置表中部分损伤表单为截获的标识信息,部分为不截获的标识信息,这些表单被依次添加到RTP数据包中,当RTP数据包的表单为截获的标识信息时,对该RTP数据包进行截获,反之不进行截获;
当损伤类型设置为重发损伤时,向被测NVR重发部分数据包;具体地,根据重复帧概率生成损伤配置表,该损伤配置表中部分损伤表单为重发的标识信息,部分为不重发的标识信息,这些表单被依次添加到RTP数据包中,当RTP数据包的表单为重发的标识信息时,对该RTP数据包进行重发,反之不进行重发;
当损伤类型设置为均匀分布时延损伤时,损伤配置表中各RTP数据包的时延值呈均匀分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR;
当损伤类型设置为高斯分布时延损伤时,损伤配置表中各RTP数据包的时延值呈高斯分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR。
一种视频信号网络损伤模拟系统,包括损伤模拟装置、多个网络摄像机模拟单元20和一个被测NVR30,所述损伤模拟装置为上述任一方案中所述的视频信号网络损伤模拟装置10,所有网络摄像机模拟单元20和被测NVR30均连接到视频信号网络损伤模拟装置10的通信连接模块101上。