kaiyun官方注册
您所在的位置: 首页> 模拟设计> 设计应用> 视频监控在高速路作业调度系统上的应用
视频监控在高速路作业调度系统上的应用
2015年电子技术应用第1期
陈 娴,彭 宏,吴海巍
(浙江工业大学 信息工程学院 浙江省通信网技术应用研究重点实验室,浙江 杭州 310023)
摘要:高速作业的管理是高速管理的重要方面。首先介绍了高速公路的发展现状和高速作业管理上面临的问题和挑战,从远程管理的角度出发,构建了高速作业调度系统。该文简单介绍了系统总体设计框架并详细阐述了客户端上视频模块的设计与实现方法。最后对该客户端进行测试,验证其实际的效果,证明该设计在监控和调度领域有良好的应用和发展前景。
Abstract:
Key words :

摘 要: 高速作业的管理是高速管理的重要方面。首先介绍了高速公路的发展现状和高速作业管理上面临的问题和挑战,从远程管理的角度出发,构建了高速作业调度系统。该文简单介绍了系统总体设计框架并详细阐述了客户端上视频模块的设计与实现方法。最后对该客户端进行测试,验证其实际的效果,证明该设计在监控和调度领域有良好的应用和发展前景。

关键词: 高速作业管理;远程监控;指挥调度

0 引言

  近年来,我国的高速公路建设日新月异,建成通车里程逐年上升,路网更加稠密[1],在经济社会发展总体格局中的地位越来越重要。然而,随着路网密集度的提高,高速公路上出现事故/故障的概率也越来越大,给事故/故障的快速反应和及时处理工作提出了更高的要求。同时,随着道路承载量的剧增,道路设施的日常维护工作也变得越来越重要。传统的高速路作业模式具有反应速度慢、统一管理调度能力弱等缺点。随着计算机的普及和信息技术的发展,计算机化、网络化和智能化日益成为人们生产生活的主要方式,同时随着多媒体计算机性能的提高和网络带宽的增大,视频监控也在各行各业得到了广泛的应用。因此,为了提高高速路作业的管理调度能力,本文将视频监控应用于高速路作业的管理调度中,实现在户内对远程高速路上的排障和养护工作的监控、调度和管理。

1 系统总体架构

  高速作业调度系统由户外作业设备端、服务器平台和客户端3部分组成。整个系统设计框架如图1所示。

001.jpg

  本系统设计中,服务器平台由SIP[2]信令服务器、媒体转发服务器和FTP服务器组成,信令服务器负责客户端与终端、客户端与服务器之间的信息交互,媒体转发服务器负责H.264视频流的转发,FTP服务器负责图像资料的管理、存储和下载工作。户外作业设备端由手机设备组成,在手机上装一个协助高速作业完成的APP,其主要功能是实现户外作业人员的登录管理,对调度中心派发的任务的查看和完成情况的汇报,同时在执行任务时传送实时视频画面到调度中心,让调度中心随时掌控户外作业情况并做出及时的调度响应。此外还可以上传图像和数据资料到FTP服务器进行存档。客户端紧紧围绕高速公路排障与养护工作进行设计,主要实现对远程高速作业的实时监控和调度管理,以及对数据资料的统一管理和统计分析等。

2 客户端功能模块的设计

  高速作业调度系统客户端主要包括用户管理、视频监控、双向语音、任务管理、轨迹查询、视图管理和报表管理等几个模块,如图2所示。各模块之间相互协调工作,实现对高速作业的远程监控与调度。

002.jpg

  用户管理模块由用户登录和密码修改两个子模块组成,主要负责用户的登录验证和密码修改工作;任务管理模块分为任务派发和任务查询两个子模块,主要实现向远程设备终端派发高速作业任务并对高速任务的详细情况进行查询显示;视频监控模块包括设备列表获取、视频播放、本地录像、图像抓取、云台控制、参数设置等功能,主要实现对事故/故障现场的具体情况进行动态了解,从而可以做出及时调度响应;双向语音功能利用SIP电话机实现,客户端可以呼叫终端设备,终端设备也可以呼叫客户端,实现调度中心人员与户外作业人员的通话,完成指挥调度;轨迹查询模块包括实时轨迹跟踪和历史轨迹查询,主要实现对养护人员的巡逻情况进行实时跟踪和养护的历史轨迹记录的查询;视图管理模块主要实现对排障和养护作业中设备端上传的图像和视频数据进行统一管理和保存;报表管理模块主要实现对排障和养护的数据信息分时间段进行查询预览、统计分析和报表导出的工作。

3 视频监控模块的设计与实现

  将视频监控技术应用于高速作业调度管理中,可以实现在户内对远程高速路上的排障和养护作业进行实时监控管理。尤其在处理重大交通事故时,清障作业人员利用手机捕获实时视频画面发送到调度中心,各级相关负责人不需亲临现场就可动态掌控事故现场的情况,做出正确的决策,完成灵活调度。

  视频监控模块中视频数据采用H264格式,打包成RTP/UDP包在网络中传输。客户端先进行实时视频的请求,在请求成功后,开启线程接收流媒体服务器转发的RTP包,并对接收到的视频RTP包进行处理,获取H264数据,再利用DirectShow视频处理机制[3]设计视频播放链路来实现实时视频数据的解码和播放,整个流程如图3所示。

003.jpg

 3.1 实时视频请求

  实时视频请求采用SIP信令完成客户端与设备端的通信。客户端先发送INVITE消息到SIP信令服务器,SIP信令服务器查询被请求的设备的地址,将INVITE消息转发给终端手机设备,手机设备接到请求后试图开启视频,在完成视频开启后发送确认信息和媒体信息到SIP信令服务器,SIP信令服务器转发确认信息和媒体信息给客户端,客户端再对信息进行确认,完成视频请求的过程,整个流程如图4所示。

004.jpg

 3.2 RTP包的处理

005.jpg

  视频请求成功后,客户端开启RTP接收线程进行RTP包的接收。其中收到的RTP包的结构如图5所示,RTP包由RTP包头和RTP负载组成,其中RTP负载为NALU数据,而NALU数据又由一个字节的NALU数据头和一个较长的NALU数据域组成[4]。

  客户端调用JRTPLIB库对RTP包进行处理。首先对接收到的RTP包进行解包,取出RTP的负载数据。由于本系统的RTP包是基于UDP传输的,UDP是无连接的传输,客户端上接收到的RTP包可能存在乱序等问题,故将取出的负载数据按其序列号进行重新排序存入一级缓存中。其关键代码如下:

  pack=GetNextPacket()//获取RTP包

  packetoder=pack->GetSequenceNumber();

  //获取接收到的RTP包的序列号

  StreamBufNode*pRtpFrameNode=new StreamBufNode

  ((char*)pack->GetPayloadData(),

  pack->GetPayloadLength(),(int)packetoder,0);

  //利用获取的RTP包信息组装数据节点

  m_pVFragmentBuffer->AddToBufBySeq(pRtpFrameNode);

  //按序列号排序,暂存一级缓存中

  ProcessNalu();

  //对一级缓存中的数据进行重组,推送到二级缓存中

  在一级缓存中将不断对RTP数据包进行存储和移除操作,为了提高运行效率,一级缓存采用链式存储结构。

  当缓存到一定量后,将一级缓存中的数据取出进行进一步的处理。由于RTP包有一个MTU值,当NALU数据长度过大时需要对其进行分片传输,因此接收到的RTP包中的负载数据可能是一个NALU帧,也有可能是一个NALU分片数据,利用第一个字节的TYPE值来判断负载数据是一个完整的NALU数据帧还是一个NALU分片。若为完整的NALU数据帧,则直接将其存入二级缓存中,为后续的视频播放提供数据源;若为NALU分片,则利用FU头中的S、E、R值来判定NALU分片是头分片还是尾分片还是中间分片,对NALU分片进行重组,还原为一个NALU数据帧后存入二级缓存等待后续播放。关键代码如下:

  pPayloadData=(unsigned char*)pStreamBufNode->GetData();//获取一级缓存中的RTP负载

  //利用分片FU指示字节和FU头区分不同的NALU数据

  if(m_pH264RTPReceive->ProcessHeader(pPayloadData,length,nFragment)==true){

  //完整的NALU帧

  if(nFragment==FRAGMENT_NO){加上00 00 00 01分隔符直接推向二级缓存;}

  //NALU分片帧的头分片

  else if(nFragment==FRAGMENT_START){加上00 00 00 01分隔符;}

  //NALU分片帧的中间分片

  else if(nFragment==FRAGMENT_MIDDLE){将中间分片加在头分片后面;}

  //NALU分片帧的尾分片

  else if(nFragment==FRAGMENT_END){加入尾分片,将重组的NALU帧推向二级缓存}

  }

  一级缓存和二级缓存的大小设置也很重要,若将缓存设置得过大,会造成很大的实时视频播放时延;若将缓存设得过小,由于没有对足够的RTP负载数据进行排序,会造成视频画面回退的现象。考虑到网络坏境和帧率等综合因素的影响,本软件将一级缓存大小设置为帧率的0.7倍,二级缓存的大小设置为帧率的0.8倍。

  3.3 实时视频播放链路的搭建

006.jpg

  本系统的实时视频播放链路采用DirectShow机制进行搭建,链路由Source Filter、Transform Filter和Render Filter组成,如图6所示。该链路的Source Filter继承自CSource类,内部包含一个处理RTP包的类和一个PIN接口类,主要完成RTP包的处理以及将获取的H264数据帧推送到Transform Filter中。Transform Filter调用ffdshow解码器[5]控件,它能帮助实现H264视频数据的解码工作,并将解码后的源数据传递到Render Filter。Render Filter调用系统默认的播放设备进行实时视频播放。

 4 客户端测试

  本文设计的高速作业调度系统如图7所示。在网络情况正常条件下,对系统进行性能测试,软件各模块运行正常。对视频模块进行测试,测试结果如表1所示。

007.jpg

5 结束语

  综上所述,该高速作业调度系统的设计可以有效提高对户外高速作业的监管和调度力度。此外,对该系统进行进一步改进,也可以将其应用到其他领域的监控和指挥调度上,具有广阔的市场空间和良好的发展前景。

参考文献

  [1] 李廷.基于移动网络技术的高速公路智能管理系统[D].北京:北京邮电大学,2008.

  [2] 司端锋,韩心慧,龙勤,等.SIP标准中的核心技术与研究进展[J].北京大学软件学报,2005,16(2):239-250.

  [3] 陆其明.DirectShow开发指南[M].北京:清华大学出版社,2003.

  [4] 许宁.基于RTP协议的移动视频监控系统的设计[J].通信技术,2014,47(4):455-458.

  [5] 刘祎玮.Visual C++视频/音频开发实用工程案例精选[M].北京:人民邮电出版社,2004.


此内容为AET网站原创,未经授权禁止转载。
Baidu
map