前言:寻找写作灵感?中文期刊网用心挑选的网络视频监控系统设计及网络信息安全,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。
摘要:随着社会的快速发展,科技不断进步。目前,视频监控系统应用非常广泛,满足了大多数环境和场所对安全的需求。笔者主要设计了一套基于嵌入式Linux的远程视频监控系统。该系统融合了嵌入式Linux技术、嵌入式Web服务器以及多线程通信等技术,监控采集终端便携轻巧,监控查询非常简便,有效实现了实时监控,传统视频监控系统存在的问题迎刃而解。
关键词:视频监控系统;S3C2440;网络通信;Linux
0引言
目前,视频监控系统在各个领域的运用非常普及。传统视频监控系统存在很多缺陷,包括实际布线量大、传输距离短、数据占内存大、查询繁琐、模拟图像质量低和保护性不强等。此外,在精细化、数字化的趋势下,针对上述问题,采取最新的音视频处理和网络通信技术,通过太网及其他网络传输视频图像,可以有效解决远程视频监控的问题。
1系统方案论述
本文所设计的视频监控系统具有很强的通用性,且性能高,以嵌入式技术为基础。该系统的组成部分包括嵌入式Web服务器、嵌入式硬件平台、USB摄像头采集前端以及客户端等。USB摄像头采集前端主要用于采集图像视频数据,在MEJEPG算法的基础上压缩处理视频数据,借助网络传输到达服务器,客户端只需登录即可实现实时监控。
2系统设计
嵌入式远程视频监控系统设计,主要包括硬件和软件两个方面。软件方面主要是Linux系统设计,客户端查看视频数据非常简单,主要通过手机端软件或者浏览器实现。硬件资源主要包括USB摄像头、TQ2440开发板和WiFi无线网卡[1]。
2.1系统硬件设计
硬件设计方面,本系统开发主要采用核心板和底板相结合的模式。核心板采用S3C2440核心板。底板设计较为复杂,包括USB摄像头接口电路、核心板接口电路、LCD接口电路、串口电路、复位电路以及电源电路等。对于S3C2440核心板,主要采用了ARM920T内核,32位内部总线结构,ARMV7指令集,主频高达4000MHz,且运算能力很强,高达450MIPS。该种内核处理器有明显优势,特别是在支持OS及人机交互设备管理等方面。
2.1.1USB摄像头电路设计
本系统使用UVC摄像头,普通USB接口即可使用。
2.1.2WiFi无线网卡模块
具体来说,WiFi无线网卡选择的型号为TL-WN321G+WiFi。这种无线网卡内置智能天线,且为USB式总线接口,所具备的无线访问能力非常稳定、高效,最高可达20dBm的发射功率,2.4~2.48kMHz的工作频率,同时,有广泛的覆盖范围,室内可达100m,室外可达300m。
2.1.3底板设计
通常来说,底板电路设计在整个硬件电路设计中极其重要,且具有数字电路与高频电路的特点。为了将印刷电路板上的噪声干扰最小化,本设计采用了相关设计技术,增强电路板的抗干扰性能。第一,电源和地线采用粗导线,降低毛刺噪声影响;第二,确保电源线、底线走向和数据传输方向相同;第三,为了缩小地线电位差,地线需要构成死循环回路;第四,布线时,尽量不采用90°折线,采用45°折线(尽可能降低高频信号的对外发射与耦合);第五,完成布线后,需要对焊盘进行泪滴处理,有利于保证信号的稳定性。
2.2系统软件设计
系统软件设计大致流程为利用USB摄像头采集前端和视频服务软件,获取相应的视频数据,处理这些数据并发送给用户。基于此,输入和输出两个线程的创建有重要作用。输出线程主要用于传输视频图像数据,满足用户需求,输入线程负责采集视频数据。两个线程之间有良好的互通性。共享内存中,输入线程写入图像视频数据,输出线程读取这些数据并传输。
2.2.1USB摄像头驱动
本系统中,使用的摄像头驱动是Linux下通用的spca5xx,驱动版本为spca5xx-v4l1goodbye.tar.gz。由于ZC301P芯片缺乏足够支持,因此需要采取相应措施,通过修改内核源码,添加驱动,加强该设备的支持。本系统主要采用驱动模块方式,使用insmod命令加载模块,实现摄像头驱动,高效便捷。视频设备在Linux中使用时,可以实现读写等操作,几乎与访问普通文件相同,摄像头设备文件对应/dev/v4l2/video0文件。V4L2是Linux下可供视频编程的规范接口。
2.2.2V4L2信号采集设计
V4L2是Linux系统下视频设备驱动程序接口规范,为上层应用程序提供了一系列接口函数。对于视频图像采集,其可通过操作视频设备完成。V4L2操作设备文件时非常高效,在应用程序中可以直接调用函数。V4L2支持两种数据采集方式。第一,内存映射方式(map),通常用于连续视频数据的采集。通过map函数,用户空间可以获取内核缓冲区地址。这种方式非常高效,能够直接处理内核缓冲区的数据。第二,直接读取方式(read),主要用于静态图片数据采集,可以在用户空间和内核空间持续拷贝视频数据。这种方式利大于弊,虽然便于操作,但是占用内存空间大,效率很难提高。本文主要采用的设计方案是内存映射方式。关于输入与输出队列的定义,输入队列主要接收和存储视频数据,输出队列主要向外驱动视频数据。
2.2.3视频压缩编码模块
MPEG采用帧间压缩的方式,仅存储连续帧之间有差别的地方。因此,其压缩比较大,是压缩运动图像及伴音的视音频编码标准。获取图像数据后,通过传输可以在FrameBuffer上显示。由于本系统需要通过网络才能传输所采集的视频数据,因此传输前需要压缩编码图像数据。为了实现MPEG-4视频编解码方案,在此选用MPG440芯片。MPEG-4相比于其他标准,压缩比更高,不仅占存储空间小,而且图像效果优质,特别适合在低带宽条件下传输视频,图像质量极佳。进行视频流压缩编码后,需要实现网络传输。
2.2.4嵌入式Web服务器设计
作为远程嵌入式设备通信的标准,Web浏览器具有丰富的功能,完全可以与远端设备通信。使用普通的Web浏览器,监控中心的主机可以获取实时视频,进行远端控制。此外,需要将Web服务器构建在远端嵌入式系统中。考虑到嵌入式设备资源有限,若处理大量用户请求,需要花费很长时间。为此,在Linux下,常用服务器不太适合,如Apache等。使用与嵌入式设备相对口的Web服务器更为合适,不仅存贮空间大,而且几乎不占用内存空间,对于嵌入式应用场合非常合适。
2.2.5客户端实现
客户端方面,本设计主要采用B/S架构(客户端服务器结构)。通过浏览器,用户可访问Web服务器Boa,通过运行后台服务器,浏览器上会显示结果。本设计中,只要处于局域网,且输入视频服务器IP地址正确,所有PC或移动终端均可实时接收、采集视频数据。在浏览器上,JavaApplet小程序只要正常运行,客户端就可以直接播放监控图像,使用效果良好。其端口号设置为8080。只要拥有IP地址和端口号,就可以创建Socket对象,同时,创建Socket对象的输入、输出流。
3结语
本系统基于嵌入式系统的独特性,设计了一种基于嵌入式的网络视频监控系统。在S3C2440核心板的板基础上,系统利用Web服务器Boa,结合TCP/IPsocket网络通信,通过USB摄像头实现远程视频监控,极大提高了远程监控的高效性。
参考文献
[1]袁宏攀.基于CGI的动态嵌入式WEB服务器的设计[D].昆明:昆明理工大学,2010:63.
作者:薛粤平 单位:中时讯通信建设有限公司