李成新,赵鑫,李爽
(中国人民解放军91004部队,辽宁 大连116031)
随着改革开放的不断深入,部队周边环境受到越来越多的影响,如何有效保证部队营房、导弹阵地等军事禁区不受外界干扰,成为急需解决的问题。本文设计了导弹阵地视频监控系统,实现阵地周围环境全天候不间断监控,有效保证了导弹阵地武器装备的安全,减少了巡逻值勤兵力。
针对导弹阵地环境特点,本文提出了采用基于 C/S(Client/Server)和 B/S(Browser/Server)[1]混合模式构建视频监控系统,其中监控中心到应急作战分队值班室间采用C/S模式,增加音视频传输的实时性,保证应急作战分队能够在出现突发情况时,快速出击和处置。监控中心到作战中心及首长办公室间采用B/S模式,突出易于接入、远程、节省成本等特点。
监控系统由硬件及软件两部分组成,采用C/S和 B/S混合模式,C/S结构主要考虑视频传输的实时性,B/S结构主要考虑成本因素。硬件部分包括视频监控服务器、视频监控终端、Web监控终端、视频采集设备、视频交换网络、视频转换设备、摄像机、云台、解码器等。软件部分主要由视频监控服务端、监控客户端、Web客户端软件组成。监控系统拓扑结构[1,2]如图1所示。
图1 监控系统拓扑结构图
监控系统软件主要由登录注册、视频监控、监控管理、录像管理四个模块组成,如图2所示。
图2 监控系统模块结构图
为提高代码复用,方便软件管理,将程序中常用的方法、事件组织封装起来,创建公共类[3,4]。以SDKFunction类为例,以下代码分别定义了视频预览、捕获的显示属性枚举,以及调用API函数的视频捕获方法:
云台控制主要通过云台解码器与计算机串并口连接,按照 Pelco-D2400协议[4]编码实现云台各种姿态控制。
2.3.1 Pelco-D2400协议
Pelco-D2400协议主要用于矩阵和其它设备之间的通信,其数据格式:1位起始位、8位数据位、1位停止位,无校验位;波特率:2400B/S;命令格式由7个字节构成,如表1所示。同步字节始终为0xFF;地址码为摄像机逻辑地址号,范围:0x00–0xFF;指令码表示不同的动作;数据码1、2分别表示水平垂直方向速度(0x00-0x3F),0xFF表示“turbo”速度;校验码 = MOD[(Byte2+Byte3+Byte4+Byte5+Byte6)/ 100H]。
表1 Pelco-D2400命令格式表
2.3.2 串口通信技术
云台控制和方向控制主要通过串口通信技术实现。C#中提供了 SerialPort类来实现串口通信[3,4],它位于System.IO.Ports命名空间下,主要用于控制串行端口文件资源,提供同步I/O和事件驱动 I/O,提供对管脚状态、中断状态、串行驱动程序属性的访问。
2.3.3 云台控制方法
协议类PelcoD中封装了控制云台的Pelco-D协议,通过将Pelco-D协议中的7个字节返回为串口消息值实现对云台的控制,以下方法用于光圈控制[4]:
监控设备选型[4,5]要遵循功能完备、经久耐用、易于维护的原则,兼顾价格因素,这里根据导弹阵地环境特点,拟在室外阵地周边选择KV-C8807R-A1型红外夜视一体化多功能摄像机,室内选择KV-C3053-A1普通红外夜视摄像机+云台+解码器的方式。视频采集卡选择8路天敏VC8000E + 4路VC4000型,共12路视频监控通道。光端机选用3对具有4路视频+1路双向音频+1路反向数据+以太网口功能的设备。
监控网络采取C/S和B/S混合的模式设计,满足实时性和日常查询需求[6,7]。二者共用 SQL Server数据库平台。监控网络结构如图3所示。
网络传输方式与网络通信通道和通信协议密切相关[3]。TCP是面向连接的协议,提供可靠流服务,提供确认与超时重传机制、滑动窗口机制等,但这些机制增加了网络开销,不宜传输音视频流。UDP是无连接的传输协议,提供面向事务的简单不可靠信息传送服务,具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多。为解决UDP自身不可靠性带来的问题,使用RTP和RTCP协议来弥补。RTP为数据提供具有实时特征的端对端传送服务,应用程序通常在 UDP 上运行 RTP 以便使用其多路结点和校验服务。RTCP是和 RTP一起工作的控制协议。
图3 监控网络结构图
视频压缩编码技术主要有 MPEG-1、MPEG-2、MPEG-4、H.264 等[8,9],其中 MPEG-4是目前流行的也是最成熟的视频压缩编解码技术。MPEG-4是基于第二代压缩编码技术制定的标准,以视听媒体对象为基本单元,采用基于内容的压缩编码技术,把编码对象从图像帧拓展到任意形状视频对象,实现了从基于像素传统编码到基于对象现代编码的转变,具有压缩率高,对传输速率要求低,占用网络传输带宽小,支持开放编码等优点。
IP组播技术[8,10]是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。本系统使用套接字(Socket)实现IP组播技术。Socket接口是TCP/IP网络的API接口函数,Socket数据传输是一种特殊的 I/O。引用命名空间“System.Net.Sockets”中的Socket类来实现Socket,并创建Socket实例,通过Bind()方法绑定,或Connect()方法建立与指定终结点的连接。连接创建完毕,使用Send()或SendTo()方法将数据发送到Socket,使用Receive()或 ReceiveFrom()方法从 Socket中读取数据。在Socket使用完毕后,调用 Shutdown()方法禁用Socket和Close()方法关闭Socket。
基于C/S和B/S混合架构构建的导弹阵地视频监控系统,运用了MPEG-4视频编码技术保证视频压缩和编解码的质量;采用了Socket技术实现IP组播,选择UDP+RTP+RTCP协议,保证视频传输的实时性、容错率,提高视频传输效率。系统经过实际运行,达到了预期效果,军事和经济效益显著。
:
[1]邓华.结合DirectShow技术基于BS架构的住宅小区视频监控平台设计[J].软件导刊,2009,8(11):125-127.
[2]宋智.基于流媒体的网络视频监控系统研究与实现[J].现代电子技术,2006,29(8):66-67.
[3](美)内格尔,埃夫琴著,李铭译.C#高级编程[M].北京:清华大学出版社,2010.
[4]王小科,王军,赵会东等.C#项目开发案例全程实录(第2版)[M].北京:清华大学出版社,2011.
[5]陈传彬,方巍,胡琨.水口水电厂航运管理视频监控系统设计与实现[J].福建电脑,2009,25(10):121-122.
[6](美)Adam Machanic,Hugo Kornelis,Lara Rubbelke著,颜炯,薄建禄译.SQL Server 2005编程艺术[M].北京:人民邮电出版社,2008.
[7]雷秋萍.工地远程视频监控系统的设计及应用[J].广东通信技术, 2010,30(5):18-21.
[8]高文,赵德斌,马思伟.数字视频编码技术原理[M].北京:科学出版社,2010.
[9]邓璐娟,王利亚,刘涛等.远程网络视频监控系统的设计与实现[J].微计算机信息,2007,23(21):142-144.
[10]李新国.基于 Web 的水泥企业网络视频监控系统研究[J].计算机技术与自动化,2008,27 (3):78-81.