您的位置 首页 模拟

根据嵌入式Linux渠道构建视频监控体系的规划进程详解

基于嵌入式Linux平台构建视频监控系统的设计过程详解-目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求体积小、远程化、成本低、功耗小、操作界面人性化等。本系统基于嵌入式Linux 平台上利用USB 摄像头采集视频图像,通过视频图像压缩及结合网络进行视频图像传输,使远程监控成为可能。

现在,嵌入式体系在视频监控中的运用越来越广泛。伴随着网络的强壮功用,视频监控更偏重网络监控计划,要求体积小、长途化、本钱低、功耗小、操作界面人性化等。本体系根据嵌入式Linux 渠道上运用USB 摄像头收集视频图画,经过视频图画紧缩及结合网络进行视频图画传输,使长途监控成为可能。

1 体系概述

视频图画监控体系由4 部分组成, 分别为视频图画收集、视频图画处理、视频图画传输、视频图画显现。视频图画收集部分由数字摄像头、USB 通道和嵌入式处理器构成、视频图画处理首要是视频图画紧缩,由算法完结、视频图画传输首要运用视频服务器来完结、视频图画显现首要是在长途的主机上完结视频图画的阅读、保存和处理等,Linux 主机上由运用程序完结,Windows 主机上经过阅读器上的JAVA 程序完结。体系原理框图如图1 所示。

根据嵌入式Linux渠道构建视频监控体系的规划进程详解

2 体系硬件

CPU 处理器运用Samsung S3C2440A, 主频400 MHz,最高533 MHz;64 M SDRAM、32 bit 数据总线、SDRAM 时钟频率100 MHz;256 M/1 GB Nand Flash, 掉电非易失、2 M NorFlash,掉电非易失;统宝3.5 真彩LCD,屏集成4 线电阻式触摸屏, 屏幕分辨率能够到达1024×768 象素;100 M 以太网RJ-45 接口(选用DM9000 网络芯片)、串行口、USB Host、USB Slave B 型接口、SD 卡存储接口、路立体声音频输出接口, 麦克风接口、JTAG 接口、4 USER Leds、6 USER buttONs(带引出座)、I2C 总线AT24C08 芯片、20 pin 摄像头接口;摄像头用良田,兼容SN9C20X 系列芯片的驱动,本体系的内核中集成了该驱动。

3 体系软件

3.1 Linux 内核的移植

移植新内核首要是为了给LCD 以及摄像头添加相应的驱动支撑,在Fedora 9 中翻开内核的目录,运用缺省装备文件进行装备:在内核中添加V4L 支撑、添加全能USB 摄像头驱动GSPCA。

3.2 根据V4L2 的图画收集程序

体系运用的穿插编译东西为arm-linux-gcc-4.3.2.规划运用到的运用程序都要经过该编译器编译后下载到开发板上运转。将编好的运用程序V4L2.c 穿插编译后下载到板。

V4L(Video for Linux)是Linux 下供给的一个音视频接口标准,一切的音视频驱动编写都要用到这些接口。

V4L 从2.4.1.x 的内核版别中开端呈现, 规划运用的Video for Linux2(简称V4L2)是V4L 的改进版,修正了第一代中的部分BUG。

规划的图画收集及处理程序首要根据V4L2 架构, 经过对一些ioctl 函数的调用来完结视频设备的翻开,图画的收集处理,图画的显现等。几个首要的ioctl 函数的简介:

1)ioctl(fd,VIDIOC_S_FMT, &fmt):用于设置图画的格局。

2)ioctl(fd, VIDIOC_REQBUFS, &req):向内存恳求缓冲区,恳求的buffer 个数存在count 中。

3)ioctl(fd, VIDIOC_QUERYBUF, &buf):查询现已分配的V4L2 的视频缓冲区的相关信息, 包含视频缓冲区的运用状况、在内核空间的偏移地址、缓冲区长度等。

4)ioctl(fd, VIDIOC_QBUF, &buf):放一个空的视频缓冲区到视频缓冲区输入行列中,函数履行成功后,指令的视频缓冲区进入视频输入行列,在发动视频设备拍照图画时,相应的视频数据被保存到视频输入行列相应的视频缓冲区中。

5)ioctl(fd, VIDIOC_STREAMON, &type):发动视频收集指令,运用程序调用VIDIOC_STREAMON 发动视频收集指令后,视频设备驱动程序开端收集视频数据,并把收集到的视频数据保存到视频驱动的视频缓冲区中。

图画收集处理流程图如图2 所示。

根据嵌入式Linux渠道构建视频监控体系的规划进程详解

3.3 网络服务器

体系选用Boa 服务器。Boa 是一种十分细巧的Web 服务器, 其可履行代码只需大约60 kB 左右。作为一种单任务Web 服务器,Boa 只能顺次完结用户的恳求,Boa 支撑CGI,能够为CGI 程序fork 出一个进程来履行。板上移植该服务器,Boa 服务器默许开机主动运转,装备conf 文件。

服务器端运用程序运用servfox, servfox-R1_1_3 解压修正Makefile 文件:CC=arm-linux-gcc,编译后得到可履行文件servfox,下载到板上,输入指令chmod +x servfox 为它添加可履行特点。

客户端程序运用spcawiew, 该程序用于在Linux 主机上对服务器进行监控,无需移植。在Linux 上编译spcaview.因为此软件包依靠与libsdl,所以在装置spcaview 之前,需求装置SDL-1.2.13. 装置spcaview 软件后,在源文件目录上有3 个可履行文件,spcacat :简略图片的抓取东西,不能用于网络监督客户端,Spcaserv:流媒体服务器,Spcaview: 用来纪录数据流,也能用来播映数据,也能作为网络监督客户端用。

4 监控进程

4.1 在Linux 操作体系上的监控

正常发动运转开发板,运转服务器端程序servfox: servfox-d /dev/video0-s 320×240-w 7070。

在Linux 上运转: 。/spcaview-g-s 320×240-w 10.1.91.230:7070

其间10.1.91.230 是服务器的IP 地址,这样就能够在PC机上看见USB 摄像头收集进来的数据了。

体系是装在虚拟机中的fedora 9 linux 体系,能够流畅地观察到摄像头监控区域的状况。

4.2 Windows 操作体系上的监控

关于网络监控的客户端,能够跨渠道的东西现在只需阅读器,经过阅读器来监控,无论是Linux、Windows、MacOS 或许其他的UNIX 体系,只需有图形界面的阅读器,在桌面环境下都能够对长途的摄像头所“操控”的规模进行监控。

Mini2440 上现已有Boa 服务器可供运用,Spcaview 中的http-java-applet 文件夹中现已包含了一个能够监控运用的web 页面,将该文件夹复制到Boa 服务器的主文件夹/www 下。

因为http-java-applet 文件夹内含的WEB 主页面(Index.html)包含了JAVA 控件,所以先在主机上装置JAVA 环境,让阅读器支撑JAVA 插件。

装置好JRE 后, 在阅读器的地址栏上输入服务器地址,即可完结长途监控。

4.3 长途抓拍

经过web 表单提交CGI 来运转运用程序。

通用网关接口(CGI)标准答应Web 服务器履行其他的程序并将它们的输出储存在发送给Web 阅读器的文本、图形和音频中。服务器与CGI 程序的结合能够扩大World WideWeb 的才能。

CGI 程序能够由C、Perl 或许UNIX Shell 脚本等盛行编程言语编写。

在本规划中,网页上的按钮shoot the picture 提交了一个名为V4L 的CGI 文件v4l.cgi,该文件是用shell 脚本编写的,用于在板上运转已编译好的图画收集程序并对抓拍的图片返回到新翻开的网页中进行检查。

Shell 脚本(v4l.cgi)内容如下:

#! /bin/sh

/www/http-java-applet/v4l2

echo “Content-type: text/html; charset=gb2312”

echo

echo “……”

echo “

”《 》《 src=“”1.jpg“”》

exit 0

5 结束语

体系选用开源的Linux 体系,降低了开发本钱,能够恣意裁剪和拟定内核,便利移植。与传统PC 机的监控体系比较,本体系具有体积小、本钱低、可靠性强等优势。本体系还具有必定的扩展性,能够添加恰当的功用扩展来满意用户更高的要求, 如在图画收集端参加设置侵略检测或许报警等操控功用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/100090.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部