当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于Linux的嵌入式网络摄像机设计

0          引言

基于同轴电缆的视频监控系统结构复杂、稳定性差、可靠性低且价格昂贵,因而出现了嵌入式网络摄像机等远程Web视频监控系统。本嵌入式网络摄像机,采用高性能的ARM9芯片作微处理器,内置嵌入式Web服务器—Boa,通过嵌入式多任务操作系统—Linux采集摄像机视频数据;摄像机采集的视频信号数字化后经MJPEG算法压缩,压缩后的视频流再通过内部总线送到内置的Web服务器;通过在网页中嵌入图像播放器,用户可以直接通过浏览器观看Web服务器上的摄像机图像;通过通用网关接口CGI,授权用户还可以控制摄像机、云台和镜头的动作或直接通过Web实现对系统进行配置。

1          嵌入式网络摄像机系统原理及组成结构

嵌入式网络摄像机的基本原理:在嵌入式Linux操作系统中内置Web服务器Boa,摄像机采集视频信号并将其数字化,经MJPEG压缩后,传送到内置的Web服务器,通过Web页面将视频信息发布到Internet。由于嵌入式网络摄像机是视频采集终端和Web服务器的融合,因此,用户可以直接通过浏览器观看摄像机拍摄的视频图像,达到远程监控的目的。

整个系统由视频采集模块、视频压缩模块、Web服务器、通用网关接口、Web页面等5个部分组成。 其硬件结构如图1所示:

图1 嵌入式网络摄像机硬件结构图

        视频采集模块包括以S3C2410X为核心的中央控制和数据处理中心,以及USB Camera数据采集单元。中央控制和数据处理中心主要完成视频采集终端的控制和视频图像的压缩;Web服务器完成基本服务器的功能,负责响应HTTP请求,配合视频采集、压缩模块完成图像信息发布;通用网关接口—CGI,可以根据用户输入的数据信息,控制摄像机、云台和镜头的动作或直接通过Web实现对系统进行配置。

嵌入式微处理器是嵌入式系统的“硬核”。微处理器的选择将对整个嵌入式系统的成本和性能产生决定性的影响。目前,比较流行的处理器主要有:Power PC 、MIPS、Intel、ARM等。ARM(Advanced RISC Machines)公司是一家全球领先的嵌入式微处理器IP(Intellectual Property )核提供商,它设计了一系列高性能、低功耗、低成本和高可靠性的RISC处理器核、外围部件和系统级芯片应用解决方案。当前,ARM系列微处理器核广泛应用于便携式通讯设备、手持终端、多媒体数字消费产品等嵌入式系统解决方案中。本设计选用以ARM920T为核心的S3C2410X 32位微处理器,该处理器集成了LCD控制器、USB Host、USB Slave、NAND控制器、中断控制、功率控制、UART、SPI、SDI/MMC、IIS、GPIO、RTC、TIMER/PWM、ADC等丰富的资源。

操作系统是嵌入式系统的“软核”。早期的嵌入式系统,由于当时还没有操作系统的概念,系统的主要功能都是用汇编语言实现的,其兼容性、通用性及扩展性都很差。随着硬件性能不断提高,在嵌入式系统中使用通用操作系统已成为现实。在嵌入式系统中引入操作系统后,利用软件工程的思想指导嵌入式系统开发,其开发效率和资源可重用率都将得到很大的提高。目前较为流行的嵌入式操作系统有:VxWorks、Neculeus、WindowsCE、Linux等。相对其它商业操作系统,Linux这个开源网络操作系统有以下独特优势:

(1)       价格低廉。在保证产品性能的前提下,价格永远都是系统设计时必须考虑的重用因素之一。由于Linux来源于开源社区,相对于其它商业操作系统,其价格几乎为零。

(2)       文档丰富。全世界的Linux程序员都是技术顾问,任何人都可以在开源社区得到其系统所需要的文档和帮助。

(3)       网络性能优良。与Unix一脉相承的Linux支持多种网络协议,并能够使系统长期稳定运行。

(4)       知识创新。在国产操作系统中,嵌入式操作系统被认为是唯一可以赶超国外同行的操作系统。而Linux是操作系统中的佼佼者,任何人都可以遵照GPL规则发布包含自己知识产权的产品,可以高效地进行知识创新,少走弯路。

为此,本设计选用高性能ARM9芯片和嵌入式Linux操作系统。

2          视频采集模块设计与实现

视频采集模块是嵌入式网络摄像机的核心模块之一。它通过嵌入式Linux操作系统调度V4L(video4linux)和影像设备驱动程序来完成视频捕获。V4L是Linux影像系统与嵌入式影像的基础,是Linux kernel里支持影像设备的一组APIs,配合适当的视频采集卡与视频采集卡驱动程序,V4L可以实现影像采集、AM/FM无线广播、影像CODEC、频道切换等功能。目前,V4L主要应用在影像串流系统与嵌入式影像系统里,其应用范围相当广泛,例如:远程教学、远程医疗、视频会议、视频监控、可视电话等。V4L为2层式架构,最上层为V4L驱动程序,最下层则是影像设备驱动程序。

在Linux操作系统中,外部设备都作为设备文件来处理,因此,对外部设备的操作就转变成对设备文件的操作。视频设备文件位于/dev/目录下,一般情况下为video0。当摄像机通过USB接口连接到视频采集终端后,在程序中调用V4L APIs对设备文件video0的读操作即可实现摄像头视频数据采集。其主要过程如下:

1)        打开设备文件: int v4l_open(char *dev, v4l_device *vd){}打开影像源的设备文件;

2)        初始化picture: int v4l_get_picture(v4l_device *vd){} 获取输入的影像信息;

3)        初始化channel:int v4l_get_channels(v4l_device *vd){} 获取每个channel的信息;

4)        对channel设置norm:int v4l_set_norm(v4l_device *vd, int norm){} 对所有的channel设置norm;

5)        设备地址映射:v4l_mmap_init(v4l_device *vd){} 返回存放图像数据的地址;

6)        初始化mmap缓冲区: int v4l_grab_init(v4l_device *vd, int width, int height){};

7)        视频捕获同步:     int v4l_grab_sync(v4l_device *vd){};

8)        视频捕获:         int device_grab_frame(){}。

通过以上操作,即可将摄像机视频数据采集到内存。采集到内存的视频数据既可采用文件的形式保存,也可将其压缩后通过网络发布到Internet。本设计采用后一种处理方法,即:将采集的视频数据经MJPEG压缩,生成视频数据流并发布到Internet。

3          视频压缩模块设计

由于摄像机采集到的视频数据信息量较大,如果直接将其处理成视频,将会给视频处理和网络数据传输带来很大的负担。因此,本设计采用高性能ARM9处理器对采集到的数据进行MJPEG压缩。

JPEG(Joint Photographic Experts Group)—联合图像专家组的简称,它的主要目标是研究具有连续色调图像(包括灰度和彩色图像)的压缩算法,是MJPEG的基础。JPEG算法被确定为静态数字图像压缩的国际标准,不仅适用于静止图像压缩,而且适用于电视图像序列的帧内图像压缩。由于JPEG压缩采用的是全彩影像标准,其主要处理过程包括:色彩模型转换、离散余弦—DCT变换、重排DCT结果、量化、编码等。

MJPEG是Motion JPEG的缩写,即动态JPEG。它将动画播放与JPEG结合,按照25帧/秒的速度使用JPEG算法压缩视频信号,完成动态视频的压缩。

4          Web服务器设计

在资源有限的嵌入式设备中可以使用的轻量级Web Server有:httpd、thttpd、boa等。本设计选用开源的、支持CGI的Boa Web Server,其主要移植过程如下:

(1)到www.boa.org下载最新软件包并解压到相关目录。

(2)在目录boa/src下的defines.h文件顶部设置默认的SERVER_ROOT路径。

(3)选择交叉编译工具。在boa目录下使用 ./configure --host=i686-pc-Linux-gnu --target=arm-Linux 完成对boa的配置。

(4)执行make编译boa后即在src/目录下生成可执行文件boa。

(5)对boa.conf文件进行配置。主要完成对boa运行的端口号、Server 根目录、log files、html文件、cgi文件目录及可读写的temp目录的属性的设置。

5          浏览器与服务器之间的通信—通用网关接口

    CGI(Common Gateway Interface)是外部应用扩展程序与WWW服务器交互的一个标准接口。按照CGI标准编写的外部扩展程序能够处理客户端浏览器输入的数据,从而完成客户端与服务器的交互、实现动态Web技术。在本设计中,当用户通过浏览器向网络摄像机发送控制信息(比如控制摄像机云台的动作等)时,服务器守护进程启动CGI模块,CGI模块通过串口将控制命令传送给云台,使云台执行相应的动作。其流程图如图2所示:

图2 CGI控制云台动作原理流程图

6          Web页面的设计

在本嵌入式网络摄像机中,Web页面的主要功能是显示Web页面及动态视频信息。由于标准的html网页只具有显示文字和图片的功能,因而无法在标准的html网页里嵌入一个窗口来“实时”观看视频图像。解决这个问题的一种方法是将“实时”视频监控软件嵌入到网页中。Microsoft 制定了ActiveX规范,只要符合这个规范的软件都可以嵌入到网页中。为了能满足多人同时“实时”观看视频图像,在本设计中选用标准ActiveX控件—VgPlayerObject来实现这一功能。

7          结束语

本文提出了一种基于ARM S3C2410X和Linux的嵌入式网络摄像机设计。采用嵌入式Linux操作系统进行视频采集、压缩并通过ActiveX控件显示动态视频,通过嵌入式Web Server和CGI技术融合整个系统,形成一套完整的网络摄像机系统解决方案。由于系统采用高性能嵌入式处理器完成主要控制、压缩和Web处理工作,因此该系统具有结构简单、性能稳定、成本低廉等优点,在油田、油气井现场视频实时监控、智能小区、移动监控等领域具有广阔的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年5月14日 /美通社/ -- 固特异 SightLine 智能轮胎技术解决方案荣获中国电子行业主流媒体《中国电子报》颁发的 2024 汽车芯片优秀产品奖。本次获奖是对固特异研发成果的高度认可。固特异致力于引...

关键字: 汽车芯片 轮胎 BSP SI

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP
关闭
关闭