基于C#的数据与视频监控上位机软件设计

王开宇
摘 要: 为了实现复杂大型网络监控系统的操作管理,设计以多服务器多客户端为基础的监控上位机软件,其采用Delphi来开发上位机的图形用户界面,应用C#编程语言在Visual Studio 2013开发套件上完成播放器ActiveX控件的开发,上位机与下位机的数据通信则通过UDP及TCP/IP协议来完成。其中,通过Socket套接字来为TCP/IP协议提供应用开发接口,实现连接、登录验证、参数交互和命令交互等功能,完成对下位机服务器的调度与管理。测试结果表明,该上位机软件运行稳定,各项功能均可得到正确的响应,且设计达到了预期要求。
关键词: C#; 数据与视频监控; 上位机软件设计; TCP/IP协议
中图分类号: TN948.64?34; TP317.4 文献标识码: A 文章编号: 1004?373X(2017)10?0062?03
Abstract: In order to realize the operation and management of the complex large?scale network monitoring system, a PC monitoring software based on the multi?server and multi?client is designed, in which Delphi is used to develop a graphical user interface of PC, and C# programming languages is adopted to complete the player ActiveX control development in visual Studio2013 development kit. The data communication between upper machine and lower machine is realized through UDP and TCP/IP protocols. The application programming interfaces are provided for TCP/IP protocol through Socket sleeve socket to realize the functions of connection, login authentication, parameter interaction, command interaction and so on. The scheduling and management of lower computer server were completed. The test results indicated that the PC software works well, all the functions of it are responded correctly, and its design meets the prospected demand.
Keywords: C#; data and video monitoring; PC software design; TCP/IP protocol
目前市场上的监控系统软件大多无法满足复杂的网络监控系统,只能实现简单的监控网络系统,为了实现复杂大型网络监控系统的操作管理,本文设计了以多服务器多客户端为基础的监控上位机软件[1?3]。
1 监控系统总体设计
1.1 系统总体结构
本文所设计的视频监控上位机是針对结合网络信息技术与嵌入式技术的监控系统[4],其结构如图1所示。由图1可知,系统主要由摄像头、开发板、云台、无线设备、无线网络、客户端上位机软件以及报警服务器等组成。
云台控制着摄像头的转向,通过二自由度平台可实现摄像头在水平方向上以及垂直方向上的转动,扩大摄像头的监测范围。开发板为ADSP?BF516,其内嵌的编解码模块将摄像头采集到的音频、视频数据数字化后转变成基于TCP/IP协议的视频流[5?6],再通过无线设备经由无线网络将视频流发送到客户端上位机软件以及报警服务器。客户端上位机软件接收到音频和视频数据后,对视频流进行解码,并在PC上显示与处理报警功能。
1.2 系统程序模块设计
系统程序模块结构如图2所示,其由系统初始模块、AV数据处理模块、参数管理模块、HTTP模块、主程序模块、串口管理模块和SNMP模块组成。
系统初始模块功能是进行系统的初始化配置,包括视频编解码模块的初始化以及ADSP?BF516处理器的初始化等。AV数据处理模块用于处理音频、视频数据,其通过DPRAM与处理器交互,负责将从处理器发出的音视频发往主程序模块和HTTP模块,或是将HTTP发来的音视频发往处理器。参数管理模块用于管理系统的参数,包括配置处理器、编解码器参数和网络参数配置等。HTTP模块用于音视频实时播放。主程序模块负责控制整个软件系统的状态逻辑控制等。串口管理模块及SNMP模块分别负责系统与PC机串口管理程序通信以及系统与PC机的SNMP托管程序通信。
2 上位机软件设计
2.1 上位机软件系统结构
本视频监控上位机软件[7?8]的结构如图3所示。其主要分为管理模块、人机交互模块以及播放器ActiveX控件三个模块。其中,管理模块包括网络管理、参数管理、报警管理、PTZ管理和本地管理等子模块,负责管理软件的参数设置与配置;GUI人机交互模块提供图形操作界面,其分为在线升级模块、语音对讲模块、本地回放模块及命令收发交互模块;ActiveX控件负责监控视频的播放,其具有数据接收、音视频解码、播放以及录像功能。
2.2 通信方式
由图1中可知,本系统中下位机与上位机的数据通信主要通过网络来实现。网络的传输层上主要有基于无连接的UDP协议以及基于连接的TCP协议。
UDP协议为应用程序提供了一种新的方法来略过连接过程而直接发送封装后的IP数据包,其不考虑流控制及错误控制,并在接收到错误数据段之后也不会重新传送。UDP为软件提供一个通信接口,对数据的处理则交给用户进程管理,尤其适合用于实时数字音视频数据流的传输。
TCP协议是一种面向连接的且可靠的、基于字节流的传输层通信协议。为了保证数据传输的可靠性,TCP协议给每一个数据包编号,且数据包传输按照序号进行,数据包发送后接收端实体对已成功收到的字节发回一个相应的确认(ACK);若发送端实体在规定的时间内未接收到发送成功确认,则数据将被判定为传输失败,数据将会被重传,因此数据传输正确率较高,其适合用于参数命令的交互中。
本文结合UDP与TCP协议的特点,分别采用UDP和TCP协议用于上位机的实时音视频数据流传输及上位机与下位机服务器的参数命令交互,如图4所示。
3 上位机软件测试
本上位机的主页面如图5所示,其主要分为三部分,页面左边大部分为ActiveX播放器空间,其能够支持4分屏及16分屏两种显示模式;页面右边为功能栏,包括用户登录模块、本地设置模块、参数管理模块、PTZ操作模块以及实时预览/录像回放功能。
此时主页面处于16分屏实时预览状态下,其页面如图6(a)所示。该页面中有16个通道,此时可从预览页面中观看每一个通道的实时画面,点击其中任意一个通道,则该通道的画面将被单独放大至页面中显示,再点击关闭即可回到预览画面。此外,点击实时预览页面下方的功能切换按钮,切换到手动录像界面点击录像,即可进行录像功能。当录像完成后,点击本地回放即可观看该录像。
点击主页面的DVS登录按钮即可进入用户登录界面。点击新建连接,输入设备名称、IP地址、端口和用户名及密码,点击添加到列表即可完成新建连接。选择DVS设备,点击设为预设连接,即可完成设备与通道的关联。点击参数管理按钮,选择已登录的DVS设备,即可对该设备的参数进行设置,选择视频参数管理,可调节视频的色度、亮度、饱和度、对比度以及OSD透明度等。点击PTZ按钮,即可进入PTZ操作界面,见图7。
通过PTZ操作界面,可对系统的串口类型与波特率进行设置。点击PTZ操作页面中间的云台控制,即可对云台进行操作,如图7(a)所示,通过点击方向按钮可控制云台的转动,进而改变摄像头的转向,从而更换监控方向。同时,可对摄像头的聚焦、光圈等进行设置。点击快球设置,其页面如图7(b)所示,可设置预设扫描点及扫面方式。同时,可使用串口通信方式,并可设置串口的波特率、数据位和停止位等,如图7(c)所示。经多次测试结果表明,本上位机软件运行稳定,各项功能均可得到正确的响应,且达到了设计要求。
4 结 语
监控系统能够提供实时监控画面显示以及录像回播功能,在家庭及公共场所防盗安防上均具有广泛的应用。为了实现复杂大型网络监控系统的操作管理,本文开发了一种视频监控上位机软件,采用Delphi来开发上位机的图形用户界面,并采用C#编程语言在Visual Studio 2013开发套件上完成播放器ActiveX控件的开发,上位机与下位机的数据通信则通过UDP以及TCP/IP协议来完成。其中,通过Socket套接字来为TCP/IP协议提供应用开发接口,实现连接、登录验证、参数交互及命令交互等功能,完成对下位机服务器的调度与管理。测试结果表明,本上位机软件运行稳定,各项功能均可得到正确响应,同时也符合设计要求。
参考文献
[1] 潘国辉.智能网络视频监控技术详解与实践[M].北京:清华大学出版社,2010.
[2] 信师国,刘庆磊,刘全宾.網络视频监控系统现状和发展趋势[J].信息技术与信息化,2010(1):23?25.
[3] 李燕.视频监控技术应用现状与未来发展趋势[C]//中国通信学会信息通信网络技术委员会2009年年会论文集.北京:中国通信学会信息通信网络技术委员会,2009:59?60.
[4] 李文.基于ARM和Linux的嵌入式网络视频监控系统研究[D].武汉:武汉科技大学,2011.
[5] 毛晓磊.基于DSP的嵌入式远程监控系统的研究[D].武汉:武汉理工大学,2008.
[6] 刘俊才.基于DSP的网络视频监控系统软件研究[D].武汉:华中科技大学,2007.
[7] 陈晓伟.基于Web网络视频监控系统的客户端软件的设计与实现[D].杭州:浙江工业大学,2014.
[8] 任海科.基于无线网络通信的视频监控系统终端数据业务软件设计[D].杭州:浙江大学,2013.