徐 友,章国宝
(东南大学 自动化学院,江苏 南京 210096)
网络视频监控是安全防范系统的组成部分,它是一种防范能力较强的综合系统。网络视频监控以其直观、方便、信息内容丰富而被广泛应用于许多场合,随着各类院校等科研机构硬件设施的全面升级,各种仪器采购数量不断增多,怎样进行有效的管理已成为许多学校共同面对的难题。笔者设计出一款针对学校各种仪器管理的网络视频监控终端,该视频终端除了可以实时监控仪器的工作状况外,还实现了用户管理和检测仪器启停等功能。
视频终端硬件的整体架构[1]如图1所示,分为主控模块和视频采集模块。
主控模块采用ARM处理器NUC960。视频终端充分利用了该处理器集成的片上资源:10 M/100 Mb MAC控制器扩展Ethernet接口电路连接校园网;USB2.0控制器扩展Nand Flash用于大量的数据存储;EBI总线单元扩展SDRAM用于存放linux内核及文件系统等;PCI总线接口用于ARM与DSP的通信;IIC总线接口一路连接控制实时时钟电路,另一路连接控制数码管显示电路;GPIO接口连接电流检测电路读取仪器的启停状态;UART接口一路与校园卡读卡器通信,另一路用于系统调试;PS2接口为校园卡读卡器供电。
图1 系统架构框图Fig.1 Block diagram of system structure
视频采集模块采用DSP处理器SPCT6100。CCD摄像头采集到的模拟视频数据经过A/D转换为数字信号进入SPCT6100,该处理器采用先进的H.264视频编解码技术,并包含4路视频输入、一路音频输入和一路音视频输出。SPCT6100通过PCI总线与ARM处理器进行数据交换。
终端系统的软件架构主要由硬件驱动程序、操作系统平台、应用程序[2]组成,如图2所示。
图2 软件架构框图Fig.2 Block diagram of software structure
硬件驱动程序为操作系统访问底层硬件提供标准的接口,包括PCI驱动、以太网驱动、IIC驱动、USB驱动、UART驱动、GPIO驱动等。操作系统平台包括BootLoader引导程序和Linux操作系统。Bootloader负责初始化硬件设备和建立内存空间映射图,引导程序进入操作系统[3]。操作系统一方面负责内存管理、进程管理、文件系统管理、网络管理、线程管理等,另一方面为应用程序提供运行环境[4]。视频终端的应用程序主要完成的功能有实时视频传输、网络通信、检测仪器的启停状态、读取校园卡信息、保存数据、控制实时时钟、数码管显示等。
视频终端应用程序的主体流程如图3所示,视频终端启动后首先进行开机自检,主要检测网络状况、读卡器和电流检测输入端状态等。自检若未通过,将错误代码显示在数码管中,安装人员可以根据错误代码很快判断终端的哪个部分出现故障。自检完毕后将进行网络配置,主要是建立RTSP服务和TCP服务[5],终端采集的实时视频通过RTSP传送给客户端,另外终端与客户端建立TCP连接,等待客户端查询终端采集到的其他数据。具体功能分为3个模块,即视频模块、图片模块和设置查询模块。
图3 应用程序主体流程Fig.3 Main process of application program
2.2.1 视频模块
视频模块是整个应用程序的核心,DSP把原始视频数据压缩为H.264格式传输给ARM处理器。在视频数据处理中,视频压缩比和视频质量尤为重要,经过H.264压缩的视频数据,具有高压缩比的同时还拥有高质量流畅的图像,在网络传输过程中所需要的带宽更少,也更加经济[6]。
视频网络传输的稳定性和流畅性也是考虑的重点,采用主流的实时流协议RTSP,它具有可扩展性,易解析,安全,独立于传输,多服务器支持等诸多优点。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。
本终端视频采用PAL D1格式,每秒25帧,分辨率为704×576。可调节亮度、对比度、饱和度等视频参数。
2.2.2 图片模块
图片模块完成的功能是每分钟从视频流中截取一张图片保存在终端的Nand Flash中,并通过TCP连接将图片传给客户端。这样既可以通过图片保存仪器使用状况的历史记录,又避免了直接保存视频占用大量的空间。
终端中视频解码后的格式为YUV420P,根据YUV420P格式的采样方法先得到图像的RGB像素点,最后通过jpeglib库压缩得到jpg格式的图片。
终端还提供了同步图片的功能。即当网络状况异常时,TCP无法建立连接,每分钟保存的图片不能及时传给客户端,只能先保存在终端里。等到网络状况恢复时,可将此段时间保存的图片一起传给客户端。这样大大增强了终端监控仪器的稳定性。
2.2.3 设置查询模块
视频终端与客户端建立TCP连接,客户端定时查询终端的工作数据,包括通过GPIO电流检测查询仪器的启动和停止状态,查询校园卡读卡器中的刷卡信息,查询终端的开关信息,查询终端的串号信息等。
客户端还可通过TCP连接设置终端的工作参数,包括控制终端的重启、设置终端的系统时间等。设置终端的系统时间时,终端会通过设置实时时钟来记录系统时间,实时时钟电路利用电池可以保存此时间,这样在终端断电停止工作时仍然可实现时钟同步。
笔者设计的基于仪器管理的网络视频监控终端在完成基本的网络视频监控的同时,还实现了仪器管理和用户信息管理等功能[7],可以让管理人员实时地观察仪器设备的运行状况,一旦在运行过程中出现不正确的操作或者设备发生损坏时,管理员也可以及时进行必要的处理。此外,终端结合仪器管理和用户信息管理为数字化校园提供了一种可行的解决方案。终端即将投入生产,具有良好的应用前景。
[1]鲍华,耿锐,欧明双.基于ARM和DSP的双核监控系统的设计与实现[J].电子技术应用, 2009,35(7):45-48.
BAO Hua, GENG Rui, OU Ming-shuang.Design and implementation of dual-core surveillance system based on ARM and DSP[J].Application of Electronic Technique,2009,35(7):45-48.
[2]魏自聪,章国宝,荀超.超市版税控收款机的设计与实现[J].电子设计工程, 2009,17(10):58-60.
WEI Zi-cong, ZHANG Guo-bao,XUN Chao.Design and implementation of fiscal cash register for supermarkert[J].Electronic Design Engineering, 2009,17(10):58-60.
[3]WinbondElectronicsCorporation.W90X900BootLoaderUser’s Manual[M].Taiwan:Winbond Electronics Corporation,2008.
[4]Winbond Electronics Corporation.W90X900 Linux BSP InstallationGuide[M].Taiwan:WinbondElectronicsCorporation,2008.
[5]李飞.最新实用网络技术教程[M].西安:西安电子科技大学出版社,2004.
[6]毕厚杰,王健.新一代视频压缩编码标准:H.264/AVC[M].北京:人民邮电出版社,2009.
[7]甘焕,李健.基于OOP案件信息数据交换文档的构建研究[J].陕西电力,2011,39(2):42-44.
GAN Huan,LI Jian.Study on OOP-based constructing case information data exchange documents[J].Shaanxi Electric Power,2011,39(2):42-44.