首页 > 编程知识 正文

网络视频监控系统的搭建,嵌入式系统基础与实践

时间:2023-05-03 09:25:14 阅读:112295 作者:2969

3358 www.nesr.lingd.net/article-4364839-1.html

摘要:网络视频监控是在嵌入式领域发展起来的,但目前视频监控硬件设施比较昂贵,一般不可用。 本文提出了开发ARM9处理器以硬件平台和嵌入式Linux系统为软件开发环境的新方法,采用中星微ZC301摄像头作为视频前端采集,利用TCP/IP协议技术进行网络通信嵌入了移植到系统内部的Web服务,用户可以通过浏览器远程访问。 该系统实现局域网环境监测,开发成本低,使用方便,且性能高。 随着3358 www.Sina.com/http://www.Sina.com /嵌入式处理器和开源Linux系统的广泛应用,网络视频监控趋于向嵌入式方向发展。 目前,该领域已有初步发展,但由于前端监控系统硬件设施昂贵、成本高,一般无法使用。 廉价的设备不能满足用户的动态可视化以及稳定性和可靠性的要求。 针对用户需求,本文设计了一种低成本、高性能的方案,并采用当前的网络技术、视频压缩技术和嵌入式技术等设计基于嵌入式Linux系统的网络视频监控系统。 该系统以嵌入式Linux系统和嵌入式控制器S3C2410为核心平台,在该平台上构建web服务器和视频服务器。 利用TCP/IP协议技术实现网络通信,对USB数码相机拍摄的图像进行JPEG压缩,并通过网络传输到远程计算机客户端。 客户端使用Java小程序技术实现图像的接收和显示功能。 客户端用户可以在具有java插件的浏览器中进行监视。 实验证明该系统稳定性、可靠性高。关键词:嵌入式 视频采集 Web服务器 视频监控 浏览器本系统主要由嵌入式系统和网络通信两大系统组成。 嵌入式系统由嵌入式处理器S3C2410和linux系统组成,网络系统由web服务器、客户端和实现通信的通道组成。 的设计采用模块化设计,本系统由嵌入式系统模块、视频采集模块、网络通信模块和客户端组成。 各模块之间的关系如图1所示。 嵌入式处理器S3C2410是基于ARM920T内核的16/32位RISC微处理器。 内部搭载了全性能的内存处理单元(MMU ),适用于移动手持机类的设计,具有高性能、低功耗、丰富的接口、小型等优异特性。 该处理器内置64M SDRAM、64M NAND FLASH、1M BOOT FLASH、RJ - 45网卡、音频输入/输出、USB主机、USB SLAVE、标准串行端口、SD卡插槽等用户可以将代码保存到NAND FLASH并从NAND FLASH启动。 集成的NAND FLASH访问控制端口,并自动将引导代码(vivi )加载到内部SRAM中并运行。 然后,SRAM中的引导代码将操作系统内核映像(zlmage )和根文件系统加载到SRAM中并运行。 在1 引言3.1视频采集模块实现Linux内核驱动器的过程中,已经支持ov511芯片等摄像机,但这些摄像机采集效果不佳。 本系统采用中星微型zc0301芯片的摄像机,该摄像机采用cmos传感器,价格低廉,性能高,usb接口协议灵活,同时具有同步和异步数据传输,兼容性好,而且良好的图像处理和处理能力目前,linux驱动程序不支持此类芯片的驱动程序。 为了使照相机在系统中工作,必须加载此驱动程序。 的下载地址http://MX-haard.free.fr/spaca 50 x /嵌入式/kernel patch /系统linux内核版本使用的是linux 2.6.11,版本2 然后,对内核进行修补,使内核支持该芯片的驱动程序。 USB摄像头驱动后,只需制作视频采集的APP应用程序即可。 视频图像的收集在Vide04linux上实现。 视频收集程序的流程如图2所示。 Video4linux是linux视频设备的内核驱动功能,为视频设备的APP应用程序编程提供了一组接口函数。

在视频收集中,APP应用程序首先使用open ) )函数打开视频收集设备,并返回表示捕获的设备硬件的文件描述符。 成功打开设备文件后,调用ioctl (以获取有关设备文件的信息,并将获取的信息放置在视频容量结构中。 另外,调用ioctl )将视频窗口信息放置在视频图像结构中。 视频设备的关闭是关闭)函数实现的。 这些函数使打开、读写、关闭等基本操作变得容易。 3.2网络通信模块实现网络通信模块,将摄像机采集的视频图像数据通过网络传输到远程计算机。 监控系统在实现方式上采用了“浏览器—服务器”结构。 即,在视频收集侧构筑嵌入式Web服务器,在客户端的Web浏览器中输入IP地址,则可以接收从服务器侧发送来的视频信息。 这包括嵌入式Web服务器的设计和视频APP应用的开发。 3.2.1嵌入式Web服务器设计Web服务器和客户端浏览器通过超文本传输协议HTTP进行通信。 其工作原理大致分为三个步骤,第一步是Web浏览器向特定服务器发出网页请求。 然后,Web服务器在收到网页请求后,查找请求的网页,并将请求的网页发送到Web浏览器。 在第3步中,Web服务器接收并显示请求的网页。 Web服务器的工作原理如图3所示。 嵌入式Web服务

务器是移植Web服务器到嵌入式领域的一种服务器。它仍然是以TCP/IP为底层的通信协议。嵌入式Web服务器简化了系统结构,将信息采集和信息发布都继承到嵌入式设备中,具有标准的接口形式和通信协议,内嵌的Web服务器同样可以基于浏览器方式的操作和控制界面。 目前嵌入式领域中最典型的Web服务器有boa和thttpd。boa是一个非常小巧的Web服务器,可执行代码只有约60kb,占用系统的资源少,而且速度快和安全性能好。本系统采用的就是boa服务器,就是把boa服务器的移植到本系统中。首先从www.boa.org下载boa源代码, 目前最新版本boa-0.94.13。解压到linux系统目录下,修改makefile。只需要把CC=gcc改成CC=arm-linux-gcc和CPP=gcc-E改成CPP=arm-linux-gcc-E就可以了。然后进行编译,把生成的Web应用程序下载到开发板上linux系统中的/甜美的玉米目录下, 让boa在系统启动时候自动运行,这样在开发板上就移植了boa服务器。 3.2.2 网络视频应用开发 视频信息通过摄像头采集到的图像需要通过网络传送另一端通过浏览器显示出来,因而网络视频应用的开发包含视频服务器端程序设计和客户端程序设计。 (1) 视频服务器端程序设计视频服务器端工作主要是与客户端建立连接,并根据客户端用户的指令,调用相应的函数处理客户端的控制要求。服务器端程序由C语言开发。主程序的设计首先初始化监控设备的数据结构,包括采集模式、显示模式和端口初始化设置等,初始化并分配内存并以可读写的方式打开视频设备。然后系统创建了一个grab线程,grab函数通过调用v4lGrab()采集图像并传输到缓冲区。然后创建一个Socket对象并监听,然后用Accept方法监听是否有客户端的连接请求。如果没有客户端连接则进程阻塞,继续监听,当有客户端连接请求则创建一个新的socket对象,然后启动视频服务线程service来与客户端通信。视频服务器工作流程如图4所示。 (2) 客户端程序设计 在本系统中,远程的web用户查看视频采集的图像信息是通过applet与视频服务器进行交互的。applet是能够在web网页中运行的应用程序,它具有安全,功能强和跨平台等特性。 applet 主要完成视频播放的功能。applet的程序代码是保存在web服务器上的,当web用户通过浏览器请求视频监控要求时,该程序下载到web用户浏览器上运行。用户通过该程序进行现场动态监控。applet程序是由java语言实现的。applet运行时首先调用init()函数进行一些初始化工作,然后自动调用start()与视频服务器建立连接,将视频图像显示在web 用户的浏览器上。 3.3 web 网页设计 web 网页设计是用HTML语言设计的。HTML语言是一种超文本标记语言,它包含了文档数据和显示格式两个部分,其中文档数据是显示在浏览器中数据内容,显示格式则规定了这些内容在浏览器中以格式呈现给用户的。HTML能够用来表示超文本消息、邮件、文档、超媒体和数据库查询等,以及有内嵌图形的简单结构文档,还有已存在的信息的超文本视图。当用户请求web网页时,浏览器就把HTML的数据显示给用户。 本系统网页的设计主要是通过<applet>标记的方式将applet引入到html文档中。在<applet>和</applet>之间标记一些参数属性。这个标记之间的程序代码设计如下。 其中codebase和code属性配合给出applet类的完整路径,code给出文件的名字,codebase指出包含文件的路径。width和height是applet窗口的大小。align是applet窗口显示的位置。上述的这些代码完成了视频显示的主体工作。 4 实验测试 系统测试是在实验室内局域网进行的。客户端使用radhat enterprise linux AS4操作系统,浏览器使用的是firefox浏览器,由于服务器端的web网页包含java控件, 默认安装的firefox浏览器不支持java插件,需要安装java环境,让浏览器支持java插件。硬件平台使用的是友善之臂S3C2410板。把本系统制作出来的内核映象和文件系统映像下载到开发板。把摄像头插入到USB接口以及通过网线把开发板接入到本地局域网。重启开发板,通过终端把开发板IP设置为本地网址202.193.74.220。运行web服务器和视频服务器。客户端通过安装java环境的firefox浏览器输入http://202.193.74.220/webcam/webcam.html即可实现现场动态的监控。如图5所示实现监控本地实验室的情况。 5 结论 本系统的设计是在以数字信息技术和网络技术发展的前提下,运用当前的嵌入式技术和ARM技术设计网络视频监控系统,具有一定的创新性。该系统由于采用了高性能的ARM9处理器和嵌入式linux操作系统组合,具有一定的可扩展性,可以通过适当的功能扩展来满足用户更高的要求。此外,可以针对不同的实际应用和硬件平台对linux内核进行定制,以满足不同嵌入式平台用户的需要。本系统具有功能强,可靠性高,稳定性好和具有一定的扩展性特点,对嵌入式开发有一定的借鉴意义。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。