(计算机应用技术专业论文)基于嵌入式linux的网络视频监控系统设计与实现.pdf_第1页
(计算机应用技术专业论文)基于嵌入式linux的网络视频监控系统设计与实现.pdf_第2页
(计算机应用技术专业论文)基于嵌入式linux的网络视频监控系统设计与实现.pdf_第3页
(计算机应用技术专业论文)基于嵌入式linux的网络视频监控系统设计与实现.pdf_第4页
(计算机应用技术专业论文)基于嵌入式linux的网络视频监控系统设计与实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于嵌入式linux的网络视频监控系统设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 随着计算机网络技术、视频压缩技术以及嵌入式技术在近些年来的迅速发 展,网络视频监控系统进入快速发展期,市场上出现了很多网络视频监控产品, 以满足人们对安全的各种要求。采用嵌入式w e b 技术的网络视频监控系统,目 前正成为网络视频监控系统的一个重要发展方向。用户通过浏览器或其他专门 的客户端软件,就可远程访问监控摄像机,实现对现场的远程视频监控。 本课题主要研究内容是基于a r m 9 平台的嵌入式l i n u x 网络视频监控系统 的设计与实现,着重研究了网络视频监控系统中的视频采集传输和客户端g u i 设计。在系统设计中采用b s 结构与专用客户端软件相结合,将嵌入式视频采 集终端的功能模块和p c 机客户端监控功能模块相分离,采用r t p r t c p 协议对 视频数据进行网络传输。在嵌入式视频采集终端,对目前l i n u x 下u s b 摄像头 驱动的两种接口标准v i d e of o rl i n u x 和v i d e of o rl i n u xt w o 分别进行了研 究,分别实现了基于这两种标准的驱动下的图像采集,并在最终的系统中采用 了基于v i d e of o rl i n u x 标准的驱动程序,完成了图像采集功能。考虑到硬件 平台本身的制约和降低成本,对视频采集的数据采用软件压缩,将每一帧图像 压缩成j p e g 格式。通过在嵌入式视频采集终端上建立嵌入式w e b 服务器,使 用户通过w e b 页面控制图像的采集传输工作。在p c 机上采用l i n u x 操作系统, 使用q t 设计开发客户端视频监控软件,该软件可实现对多个数据源的监控, 并可以对监控的图像数据进行抓图、a v i 格式的视频文件保存、制定视频保存 计划、相关信息的数据库管理功能,并可以通过r t p r t c p 协议与局域网内其 他客户端软件进行视频共享。 关键词:网络视频监控系统;v i d e of o rl i n u xt w o ;r t p r t c p 西南交通大学硕士研究生学位论文第1 | 页 a b s tr a c t w i t ht h e r a p i dd e v e l o p m e n t o f c o m p u t e r n e t w o r k t e c h n o l o g y , v i d e o c o m p r e s s i o nt e c h n o l o g ya n de m b e d d e dt e c h n o l o g yi nr e c e n ty e a r s ,n e t w o r kv i d e o m o n i t o r i n gs y s t e me n t e rt h ep h a s eo fr a p i dd e v e l o p m e n t m o r en e t w o r kv i d e o m o n i t o r i n gp r o d u c t sa p p e a r e do nt h em a r k e tt om e e tt h en e e d so fav a r i e t yo f s e c u r i t yr e q u i r e m e n t s a tp r e s e n t ,n e t w o r kv i d e os u r v e i l l a n c eu s i n ge m b e d d e dw e b t e c h n o l o g yi sb e c o m i n ga l li m p o r t a n td i r e c t i o no fd e v e l o p m e n t s u r v e i l l a n c e c a m e r a sc a nb er e m o t ea c c e s sb yt h eu s e rt h r o u g hab r o w s e ro ro t h e rs p e c i a lc l i e n t s o f t w a r e t h em a i nr e s e a r c ho ft h i s t h e s i si sa b o u tt h ed e s i g na n di m p l e m e n t a t i o no f n e t w o r kv i d e om o n i t o r i n gs y s t e mb a s e do nt h ee m b e d d e dl i n u xs y s t e mo na r m 9 p l a t f o r m f o c u so nt h ev i d e oc a p t u r e ,t r a n s m i s s i o na n dc l i e n tg u id e s i g n u s i n g b ss t r u c t u r ew i t h s p e c i a l c l i e n ts o f t w a r ei ns y s t e md e s i g n ,s e p a r a t i n gt h e e m b e d d e dv i d e o c a p t u r et e r m i n a l f u n c t i o nm o d u l ea n dp c - c l i e n t m o n i t o r i n g s o f t w a r e ,u s i n gr t p r t c pr e a l t i m et r a n s p o r tp r o t o c o l t r a n s m i tt h ev i d e o s t r e a m i n go nn e t w o r k i nt h ee m b e d d e dv i d e oc a p t u r et e r m i n a l ,t h eu s b c a m e r a d r i v i n gp r o g r a m sb a s e do nv i d e of o rh n u xa n dv i d e of o rl i n u xt w oi sr e s e a r c h e d , a n dt h ei m a g ec a p t u r i n gb yt h et w oi n t e r f a c es p e c i f i c a t i o ni sr e a l i z e d t h eu s b d r i v i n gp r o g r a mb a s e do nv i d e of o rl i n u xi su s e di nf i n i a ls y s t e m t a k i n gi n t o a c c o u n tt h ec o n s t r a i n t so ft h eh a r d w a r ep l a t f o r mi t s e l fa n dr e d u c ec o s t s ,e a c hf r a m e i sc o m p r e s s e di n t oaj p e gi m a g ef o r m a t t h eu s e r sc a no p e r a t et h em o n i t o r i n g s y s t e mb yt h ew e bp a g et h r o u g ht h ee s t a b l i s h m e n to ft h ee m b e d d e dw e bs e r v e r c l i e n tv i d e os u r v e i l l a n c es o f t w a r ei sd e v e l o p e db yq ti nt h el i n u xo p e r a t i n gs y s t e m t h es o f t w a r ee n a b l e sm u l t i p l er e a l - t i m em o n i t o r i n go ft h ed a t as o u r c ea n dp r o v i d e s i m a g ec a p t u r e ,s a v i n ga v if o r m a tv i d e of i l e s ,d a t a b a s em a n a g e m e n ta n ds h a r i n g v i d e ow i t ho t h e rl a nc l i e n ts o f t w a r et h r o u g ht h er t p r t c p p r o t o c o l s k e yw o r d s :n e t w o r kv i d e om o n i t o r i n gs y s t e m :v i d e of o rl i n u xt w o :r t p r t c p 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国 家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权西 南交通大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影 印、缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密函,使用本授权书。 ( 请在以上方框内打“4 ) 学位论文作者签名:枨友滩 日期:跏9 j 夕 指导棚签名:糯根 日期:跏7 j p 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 1 在系统设计实现中采用b s 结构与客户端专用软件相结合的方法,将 网络视频监控系统的整体功能划分为三个部分,使各部分功能在实现上更为独 立,利于系统功能的维护与扩展。 2 采用q t 4 3 设计开发了基于l i n u x 平台的多个数据源视频监控客户端软 件。目前很多客户端监控软件主要支持w i n d o w s 操作系统,采用d i r c c t s h o w 技术开发。本系统开发的客户端监控软件在l i n u x 操作系统下,实现了对多个 网络视频监控服务器传输过来的视频数据的接收、图像捕捉、视频保存、制定 视频保存计划、对视频保存信息的数据库管理功能,并可通过局域网实现与其 他客户机的视频共享功能。 张各涩 二o ,j 31 西南交通大学硕士研究生学位论文第1 页 1 1 课题背景 第1 章绪论 视频监控系统在工业生产领域、交通、银行和很多安全部门中发挥着重要 作用。得益于计算机网络、通信、视频处理、嵌入式技术等的快速发展,视频 监控系统目前已发展到第三代,集前端一体化、图像数字化、监控网络化、系 统集成化等特性于一身的嵌入式w e b 技术的网络视频监控系统。嵌入式网络视 频监控系统在前端将采集到的原始图像经过编码压缩、打包等过程变成基于网 络协议的数据流,数据流通过网络进行传输,发送到终端用户。终端用户在p c 机上可以通过网页进行视频监控,也可通过专用的客户端软件进行显示和各种 处理。 基于嵌入式设备的网络视频监控系统具有很多优点,嵌入式系统针对专门 的应用领域,功能专一。硬件系统根据需求设计,所需设备较为简单。系统的 控制由后端的软件系统实现,省去了传统模拟监控系统中的大量设备。软件与 硬件结合紧密,性能更为稳定。采用模块化设计,便于维护和管理。安装简便, 节约布线,运作费用较低。采用中心控制,硬盘记录,通过网络存储集中维护 与操作。 本论文通过构建一个成本较为低廉的网络视频监控系统,对系统中网络视 频采集终端、视频数据传输、客户端监控软件开发的主要技术展开研究。目前 很多监控系统客户端软件主要支持w i n d o w s 操作系统,本论文中基于l i n u x 下 的网络视频监控系统客户端软件的设计与实现对满足l i n u x 操作系统下的用户 需求和软件开发也有一定的借鉴意义,具有一定的应用价值。 西南交通大学硕士研究生学位论文第2 页 1 2 研究现状与发展趋势 视频监控系统发展到现在已是第三个阶段,正在向大规模网络监控发展。 9 0 年代初以前,主要是以模拟设备为主的闭路电视监控系统,称为第一代模拟 视频监控系统。模拟视频监控系统一般由图像摄像部分、系统控制部分和显示 记录部分组成。一般采用模拟方式传输,传输距离较短,主要应用于小范围内 的监控,如楼层监控等。进入9 0 年代中期,随着数字化技术的发展,开始从 模拟处理方式转向数字处理方式,人们开始使用p c 机来处理图像信号。利用 计算机的数据处理能力与显示器的高清晰度,将视频信号通过视频采集卡采集 到计算机中,显示在显示器上,大大提高了图像的画质,增强视频监控的功能。 到9 0 年代末,随着网络带宽、计算机处理能力和存储容量的迅速提高,以及 各种实用视频信息处理技术的出现,进入了全数字化的网络时代,远程视频监 控系统【l l 。以数字视频的压缩、传输、存储和播放为基础,依靠强大的平台软 件实施管理。在第三代视频监控系统中,视频监控软件也更为重要,普通用户 需要使用视频监控软件进行日常的监控功能应用,系统管理员更需要使用视频 监控软件对监控系统中所有的硬件软件资源进行全面的管理和维护。 现今市场上有两种数字视频监控系统类型,一种是以数字录像设备为核心 的视频监控系统,另一种是以嵌入式视频w e b 服务器为核心的视频监控系统 3 1 。 在数字监控录像系统中,数字视频压缩编码技术日益成熟,计算机大量普及也 为基于p c 机的多媒体监控创造了条件。但随着基于p c 机的视频监控录像系统 的发展,在实际工程使用过程中,也暴露出一些不足,主要是系统工作的不稳 定性。基于p c 的视频监控录像系统的组成结构为:兼容工控p c 机+ 视频采集 卡+ 普通较可靠的操作平台+ 应用软件1 4 l 。 嵌入式视频w e b 服务器方式是将嵌入式w e b 技术应用到监控系统的前端设 备,采用嵌入式实时多任务操作系统,并建立嵌入式w e b 服务器,将前端视频 采集的视频图像进行编码压缩,同时利用有线网络或无线网络将数据传输到用 西南交通大学硕士研究生学位论文第3 页 户端。用户使用普通浏览器,通过网络远程访问内置w e b 服务器的监控摄像机, 不但可以实现对现场的远程视频监控,而且还可以控制摄像机、云台、镜头的 动作并对系统进行配置。由于把视频压缩和网络功能集中到一个体积很小的设 备内,通过有线或无线网络接入网络,节省了多种复杂的电缆,因此在组网、 维护方面非常方便。 视频监控发展的最大特点就是数字化、网络化和智能化。信息流的数字化、 编码压缩、开放式的协议,使视频监控系统与安防系统中其他各子系统间实现 无缝连接,并在统一的操作平台上实现管理和控制。网络化将意味着系统的结 构将由集总式向集散式系统过渡。集散式系统采用多层分级的结构形式,具有 微内核技术的实时多任务、多用户、分布式操作系统以实现抢先任务调度算法 的快速响应。组成集散式监控系统的硬件和软件采用标准化、模块化和系列化 的设计,系统设备的配置具有通用性强、开放性好、系统组态灵活、控制功能 完善、数据处理方便、人机界面友好以及系统安装、调试和维修简单化,系统 运行互为热备份,容错可靠等优点。系统网络化将使整个网络系统的硬件和软 件资源共享以及任务和负载共享1 2 1 。智能化采用计算机为控制中心,通过系统 软件实现控制界面的可视化,控制环境的多媒体化,可以方便地实现对视频切 换、音频切换、镜头云台控制、报警输入、联动输出录像的智能化控制,进而 达到对事件的分析、统计、处理,实现视频监控的智能化管理。 1 3 本文研究内容及结构安排 本课题主要设计并实现一个较为完整的网络视频监控系统。远程视频采 集终端采用以$ 3 c 2 4 4 0 微处理器为核心的开发板,接入u s b 摄像头,移植嵌入 式w e b 服务器,构成视频采集前端,采集的数据经过软件压缩成j p e g 格式, 通过r t p r t c p 网络协议传输到客户p c 机终端。客户端在l i n u x 操作系统下采 用q t 开发对多个数据源的视频监控软件,对多个远程视频采集终端进行监控, 西南交通大学硕士研究生学位论文第4 页 并可完成图像捕捉、视频保存、视频共享、相关信息的数据库管理功能。构建 了一个成本较低、功能较为完善的网络视频监控系统。 论文的主要研究工作包括以下几个方面: 1 系统开发平台的构建; 2 l i n u x 下视频采集程序的开发。分别对基于v i d e of o rl i n u x 和v i d e o f o rl i n u xt w o 两种接口标准的u s b 摄像头驱动的图像采集过程进行了分析研 究,实现了在这两种驱动下的图像采集; 3 基于r t p r t c p 协议的数据传输; 4 嵌入式w e b 服务器上的c g i 程序开发; 5 基于l i n u x 操作系统采用q t 图形用户界面应用程序开发对多个数据源 的视频监控软件; 基于以上的主要研究内容,论文的结构安排如下: 第1 章主要介绍论文的研究背景、目前网络视频监控系统研究现状和发 展趋势。 第2 章主要介绍系统总体结构、应用软件体系结构和开发平台的构建。 第3 章主要介绍了嵌入式l i n u x 下的视频采集。对l i n u x 下u s b 摄像头 驱动在v i d e of o rl i n u x 和v i d e of o rl i n u xt w o 这两种接口标准下的图像采 集过程进行了分析研究。给出了这两种驱动下图像采集过程。 第4 章介绍了r t p r t c p 协议和j r t p l i b 库的使用,以及j p e g 图像传输 实现流程。 第5 章主要介绍建立嵌入式w e b 服务器的过程、c g i 程序实现、客户端多 数据源视频监控软件的设计 第6 章介绍了本系统中应用软件的实际测试过程。 第7 章对全文工作进行了总结,提出了论文的不足与下一步的改进工作。 西南交通大学硕士研究生学位论文第5 页 第2 章系统方案设计与开发平台建立 2 1 系统总体设计方案 系统设计采用了将b s 结构与客户端专用监控软件结合,构建一个采用嵌 入式w e b 服务器的网络视频监控系统。系统主要分为三部分。第一部分是视频 采集终端,采用嵌入式硬件开发平台q q 2 4 4 0 v 3 ,使用中星微z c 0 3 0 1 芯片的u s b 摄像头与开发板连接,构成前端视频采集系统。u s b 摄像头内部本身包含有c m o s 传感器和o s p 压缩芯片,c m o s 传感器将外部视频信号传送到d s p 压缩芯片,d s p 芯片将c m o s 的图片信息压缩,然后通过u s b 接口传送到嵌入式处理器上。由 于系统资源的限制,将采集到的视频图像通过软件压缩成j p e g 格式,然后通 过网络发送出去。第二部分是视频数据的网络传输。采用r t p r t c p 网络传输 协议,将经过编码压缩的图像数据,分块打包传输到网络上,在客户端上进行 接收重组。第三部分是客户端监控软件。该部分功能采用q t 4 3 在l i n u x 操作 系统下开发完成。可同时对多个数据源进行视频数据接收、图像捕捉、视频数 据保存和数据库管理功能,并提供局域网内与其他客户端的视频共享功能,系 统总体组成图如图2 - 1 所示。 图2 - 1 系统总体组成图 西南交通大学硕士研究生学位论文第6 页 2 2 系统总体应用软件结构与流程 本系统设计开发的应用软件结构如图2 - 2 所示。嵌入式视频终端主要由嵌 入式w e b 服务器、c g i 程序、视频采集压缩模块、视频数据传输模块、主控调 度模块组成。p c 机客户端主要由q t 开发的客户端应用软件完成视频接收显示、 图像捕捉、视频保存、视频保存任务计划、视频共享和相关信息的数据库管理 功能。 嵌入式视频采集终端p c 机客户端 图2 - 2 系统软件结构图 系统的工作流程是由用户通过客户端w e b 页面连接到视频采集服务器上, 然后设置相应的视频采集参数、输入接收端的接收端口号,向视频采集服务器 发出传送视频数据的指令,得到视频采集服务器相应的返回信息后,对视频采 集服务器的设置结束。再通过专门的客户端软件接收由网络传输过来的视频数 据,进行视频监控。客户端软件与视频采集服务器只是通过r t p r t c p 协议进 行接收与发送的关系,其他对视频采集服务器的控制命令由w e b 页面通过嵌入 式w e b 服务器,使用c g i 程序向视频采集服务器发出,从而实现各种操作控制。 r f; 西南交通大学硕士研究生学位论文第7 页 2 3 嵌入式系统开发平台搭建 本系统中视频采集终端硬件开发平台采用广州友善之臂计算机科技有限 公司的嵌入式开发板q q 2 4 4 0 v 3 。该开发板提供了本系统所需要的所有功能,价 格也比较低廉。基于该开发板搭建的硬件开发平台如图2 - 3 所示。 直连串口线 宿主机 u s b 电缆 图2 - 3 硬件开发平台方框图 l i n u x 宿主机可以和开发板通过三种方式实现通信,直连串口线连接 q q 2 4 4 0 v 3 的串口0 和p c 机的串口、双绞线连接q q 2 4 4 0 v 3 的网络接口与p c 机 的网络接口以及用u s b 电缆连接q q 2 4 4 0 v 3 和p c 机。l i n u x 宿主机主要提供交 叉编译环境、l i n u x 系统内核、文件系统的编译和应用程序的交叉编译及调试 工作。而目标硬件开发板运行经过交叉编译好的应用程序,测试实际的应用效 果。 2 3 1q q 2 4 4 0 v 3 开发板介绍 该开发板是采用s a m s u n g $ 3 c 2 4 4 0 ac p u 处理器的嵌入式开发板,正视图 如图2 4 所示。其主要硬件资源特性如下: c p u 处理器s a m s u n g $ 3 c 2 4 4 0 a ,主频4 0 0 m h z ,最高5 3 3 m h z s d r a m 内存6 4 ms d r a m 3 2 b it 数据总线s d r a m 时钟频率高达1 0 0 m h z 西南交通大学硕士研究生学位论文第8 页 图2 - 4 2 4 4 0 v 3 正视图 f l a s h 存储6 4 mn a n df l a s h ,掉电非易失2 mn o rf l a s h 已经安装b 1 0 s l c d 显示 板上集成4 线电阻式触摸屏接口,可以直接连接四线电阻触摸屏 支持黑白、4 级灰度、1 6 级灰度、2 5 6 色、4 0 色s t n 液品屏,尺寸从3 5 寸 到1 2 1 寸,屏幕分辨率可以达到1 0 2 4 x 7 6 8 象素; 支持黑白、4 级灰度、1 6 级灰度、2 5 6 色、6 4 k 色、真彩色t f t 液晶屏,尺寸 从3 5 寸到1 2 1 寸,屏幕分辨率可以达到1 0 2 4 x 7 6 8 象素: 标准配置为n e c2 5 6 k 色2 4 0 x 3 2 0 3 5 英寸t f r 真彩液晶屏,带触摸屏; 板上引出一个1 2 v 电源接口,可以为大尺寸t f t 液晶1 2 vc c f l 背光模块供电。 接口和资源 1 个i o m 以太网r j4 5 接口( 采用c s 8 9 0 0 网络芯片) 3 个串行口 1 个u s bh o s t ,1 个u s bs l a v eb 型接口 西南交通大学硕士研究生学位论文第9 页 1 个s d 卡存储接口 l 路立体声音频输出接口,一路麦克风接口 1 个2 o m m 间距2 0 针标准j t a g 接口 4 个可供用户使用的l e d s 和4 个按钮1 个p w m 控制蜂鸣器 1 个可调电阻,用于a d 模数转换测试 1 个1 2 c 总线a t 2 4 c 0 8 芯片,用于1 2 c 总线测试 1 个2 0 p i n 摄像头接口 板载实时时钟电池 电源接口( 1 2 v ) ,带电源开关和指示灯 系统时钟源为1 2 m 无源晶振 实时时钟是内部实时时钟( 带后备锂电池) 扩展接口1 个3 4p i n2 o m m g p i o 接口和1 个4 4p i n2 o m m 系统总线接口 规格尺寸1 2 0x1 0 0 ( i n l n ) 操作系统支持l i n u x 2 6 1 3 和w i n d o w s c e n e t4 2 2 4 软件开发环境的搭建 基于嵌入式l i n u x 的开发环境一般是由装有l i n u x 操作系统的p c 宿主机 和目标硬件开发板组成。本系统软件开发平台在p c 宿主机上,l i n u x 操作系统 采用r e d h a t 9 0 ,用来进行嵌入式操作系统内核编译、文件系统以及应用软件 开发、交叉编译和调试等。 2 4 1 交叉编译环境的建立 交叉编译( c r o s s c o m p i l a t i o n ) 是指在某个主机平台上( 比如p c 上) 用 交叉编译器编译出可在其他平台上( 比如a r m 上) 运行的代码的过程。常用的 计算机软件都需要通过编译把使用高级计算机语言编写的代码( 比如c 代码) 编译成计算机可以识别和执行的二进制代码。例如使用p c 平台l i n u x 操作系 西南交通大学硕士研究生学位论文第1 0 页 统上的工具开发针对l i n u x 的可执行程序,这种编译过程称为本机编译( n a t i v e c o m p il a t i o n ) 。但在进行嵌入式系统的开发时,运行程序的目标平台通常只有 有限的存储空间和运算能力,比如常见的a r m 平台,其一般的静态存储空间大 概是3 2 到6 4m b ,而微处理器的主频大概在i o o m h z 到5 0 0 m h z 之间。在这 种情况下,在a r m 平台上直接进行编译就很困难,这是因为一般的编译工具 链( c o m p i l a t i o nt o o lc h a i n ) 需要很大的存储空间,并需要较强的c p u 运 算能力。因此交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在 c p u 能力很强、存储控件足够的主机平台上( 比如p c 上) 编译出针对其他平 台的可执行程序。 进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链( c r o s s c o m p i l a t i o nt o o lc h a i n ) ,然后用这个交叉编译工具链编译我们的源代码, 最终生成可在目标平台上运行的代码。嵌入式l i n u x 操作系统被广泛使用, 大多数交叉编译过程都是在l i n u xp c 平台上完成。可在l i n u xp c 机上利用 a r m - l i n u x - g c c 编译器编译出针对l i n u xa r m 平台的可执行代码,并使用g n u 提供的开发工具方便地开发和调试嵌入式应用软件。 建立一个交叉编译工具链的过程比较复杂,目前网上已有一些编译好的交 叉编译工具链可以下载使用。本系统使用的q q 2 4 4 0 v 3 开发板,要求在宿主机 上安装r e d h a t 9 0 ,选择软件包时要选择全部安装,避免在以后交叉编译程序 时出错。配套的有三个交叉编译工具链,分别是a r m - l i n u x - g c c 一3 3 2 t a r g z 、 a r m 一1 i n u x g c c 一2 9 5 3 t a r g z 和a r m l i n u x g c c 一3 4 1 t a r g z 。其中3 3 2 版本是用来编译q t o p i a e m b e d d e d 的,2 9 5 3 版本是用来编译v i v i 的,3 4 1 版本是用来编译内核的,两个版本均可以用来编译应用程序等。只需要将这三 个交叉编译工具链拷贝到某个目录下如t m p ,然后进入到该目录,执行解压命 令: # c d t m p # t a rx v z fa r m lin u x g c c 一3 3 2 t g zc 西南交通大学硕士研究生学位论文第1 1 页 # t a rx v z fa r m - l i n u x g c c 一29 5 3 t g z _ c # t a rx v z fa r r r r - l i n u x g e e 一3 4 1 t g z c 将把a r m - l i n u x - g o c ( 版本3 3 2 ,2 9 5 3 和3 4 i ) 分别安装到 u s r l o c a a r m 2 9 5 3 、u s r l o c a l a r m 3 3 2 和u s r l o c a l a r m 3 4 1 目 录下,然后运行命令 # g e d i t r o o t b a s h r e 编辑r o o t b a s h r c 文件,在最后一行添加 e x p o r tp a t h = $ p a t h :u s r l o c a l a r m 3 4 1 b i n 保存退出。重新登录b e d h a t 系统,使以上设置生效,在命令行输入 a r m - l i n u x g c c v ,会出现如图2 - 5 所示信息,这说明交叉编译环境已经成功 安装。 b ke 出蟹州五日i r i 叫矗o l l e l o r一p一 p l “h * l - r h o s t :一 r o o t 霉l o a 】h o s tr o o t ,a r _ 一】i n u x g c c - v 匕 r e a d i n g p e c $ f r o m u s r l o c a l l a 伸1 3 4 1 t 1 1 b g e e a r m l i n u x 3 4 i s p e _ c s c v a f i g q r e d t h u o r k c r o s 5 t 口口1 0 z t b a l d t a r m l l n u x e c c 一3 4 1 - g l i b c 一2 32 g c c 一3 4 t c o n f i g u r e t a r g e t = a c u - 1 i n u x h o s t = a 6 8 6 一h o s t p c - 1 i a u x 一朗u 一一p r e f i x = u s r i o t a i a r m l 3 4 1 1 t h - h e a d e r s :u s r 1 0 c a i a r c 341 a r m 1 a x n c l u d e - - w i t h - l o c d l - p r e f i x = u s t i o t a l a r m 341 j r 1 i mx - - d i s a b l e - h i s e n a b l e - t h r e a d s 。# o s h e n a b l e s y m w r s = g n u e n a b t e - _ c x aa t e x i t 圳3 b l 。一l 3 “g u a g e s 2 c e n a b l e s h a r e d 一e n a b l p c 9 9 - e n a b l e l o n g t o n g t hr e a d 肿d e l :p o s l x 一 酢cv e r s i o n j 4 l r o o t l o a l h v s tr 。口t # n 图2 - 5 交叉编译环境安装成功信息 242l i n u x 内核移植与根文件系统安装 主要的步骤有( 1 ) n a n df l a s h 进行分区( 2 ) 安装b o o t l o a d e r ( 3 ) 安装内核 文件( 4 ) 安装文件系统。q q 2 4 4 0 v 3 开发板采用的b i o s 是基于三星原来的 b o o t l o a d e r 之v i v i 改进而来,名为s u p e r v i v i ,它采用功能菜单的方式,并可 西南交通大学硕士研究生学位论文第1 2 页 以和原来的命令交互模式互相切换。s u p e r v i v i 在出厂的时候已经预装入板子 的n o rf l a s h 中,设置跳线j 1 为n o rf l a s h 启动,即可进入b i o s 模式;s u p e r v i v i 的菜单模式主要为烧写系统和调试而用,也可以设置参数和进行分区等,它采 用u s b 下载的方式,因此搭建烧写环境极为简单,并且下载速度快,使用十分 方便。根据菜单的提示,可以很快地完成l i n u x 内核移植和建立y a f f s 根文件 系统。其启动界面如图2 6 所示。 冀嚣# # lf r i e n d l p a r hbio s2 0f o r2 | l | l 口# # 嚣嚣l f x lb o np a r t03 2 0 k2 3 6 8 k r u ld o w n l o a du i u i r k ld o w n l o a dl i n u xk e r n e l 【9 】d o w n l o a dr o o t _ 9 i a f f si m a g e r c ld o w n l o a dr o o tc r a m f si m a g e r 0 1d o w n l o a dn b o o t r e1d o w n l o a de b o o t r i ld o w n l o a dw i n c eh k n b 口 rw 1d o w n l o a dw i n c en k b i n 【d 1d o w n l o a d & r u n r z ld o w n l o a dz i m a g ei n t or r h r q lb 0 0 tl i n u xf r o mr r h 【f 1f o r m a tt h e n a n df l a s h 【p 】p a r t i t i o nf o rl i n u x b 1b o o tt h es p s t e m r s ls e t t h e b o o tp a r a n e t e r s r t lp r i n tt h et o cs t r u c to fw i n c e 【u 】b a c k u ph f l h d f l a s ht oh o s tt h r o u g hu s b ( u p l o a d ) i r 】r e s t o r eh n h df l a s hf r o mh o s tt h r o u g hu s b f q l g o t os h e l lo fu i v i e n t e rp o u rs e l e c t i o n : 图2 _ 6s u p e r v i v i 启动界面 用户可通过菜单选择要进行的各种操作。先对n a n df l a s h 进行分区,然后通 过u s b 电缆,将s u p e r v i v i 、内核文件z i m a g e _ n 3 5 和制作好的y a f f s 文件系统 镜像文件下载到目标开发板上,整个过程非常方便快捷。在开发板提供的内核 文件中已经配置好了网眼和中星微等u s b 摄像头驱动的模块,开发板启动后接 入u s b 摄像头,便可自动加载相应的驱动。通过以上操作,基本的软件开发平 台就搭建好了。 西南交通大学硕士研究生学位论文第13 页 第3 章视频图像采集 嵌入式网络视频服务器主要涉及到三部分功能,一部分是基于u s b 摄像头 驱动的图像采集,一部分是建立嵌入式w e b 服务器,设计c g i 程序,实现用户 远程通过w e b 页面控制视频采集传输的功能,还有一部分是视频数据的网络传 输。后两部分的实现将在后面章节介绍。本章主要对l i n u x 下采用v i d e of o r l i n u x 标准和v i d e of o rl i n u xt w o 标准的u s b 摄像头驱动程序的图像采集过 程进行介绍,并给出这两种标准下的图像采集程序流程。 3 1 基于v 4 l 的视频采集 v 4 l 是v i d e of o rl i n u x 的简写,它的出现是为了给l i n u x 下视频采集设 备驱动程序的编写提供统一的接口而提出的一套a p i 标准,它将所有的视频采 集设备的驱动程序都纳入它的管理之中,给驱动程序编写者带来极大的方便。 这里以符合v 4 l 标准的开源的s p c a 5 x x 驱动程序为例进行介绍。该驱动可支持 目前市场上很多u s b 摄像头,本系统在最终实现中就采用的该驱动,以支持不 同的u s b 摄像头产品。基于该驱动的图像采集资料很多,本文将不作过多介绍。 在该驱动程序中,采用双帧缓冲,即在核态内存申请两帧图像缓存。最多 可申请4 帧图像缓存。驱动中明确定义采用双缓冲来进行图像捕捉,用户不可 以在应用程序中进行修改。驱动中用i o c t l 命令v i d i o c m c a p t u r e 进行图像采 集。在v i d i o c m c a p t u r e 命令中判断用户所给图像参数是否满足要求,设置采 集图像数据,写寄存器参数,设置帧状态为f r a m e r e a d y ,开始进行图像采集。 但执行该命令后并不表示已经完成图像数据的采集,需要通过v i d i o c s y n c 命 令进行同步,程序将等待帧状态由f r a m eg r a b b i n g 变为f r a m e d o n e 。当这个 命令成功返回时表示该帧图像的采集已经完成。当帧状态为f r a m e d o n e 时释 放当前帧,将其状态改为f r a m e _ u n u s e d ,当另一帧被填满时可以再次使用这帧。 西南交通大学硕士研究生学位论文第14 页 基于v 4 la p i 接口进行图像采集的程序实现主要步骤 ( 1 ) 打开视频设备 l i n u x 系统中,摄像头的设备文件为d e v v i d e o o ,调用系统函数o p e n 打开该 设备。 f d = o p e n ( d e v _ n a m e ,o _ r d o n l y ) : ( 2 ) 通过i o c t l 函数v i d i o c g c a p 控制命令读取设备。返回的摄像头属性,摄 像头所能获取的最大图像等信息将写入s t r u c tv i d e o c a p a b ili t y 中。 ( 3 ) 设置视频捕获的图像格式 s t r u c tv i d e o _ p i c t u r ec a m p i c : c a m p l c p a l e t t e = v i d e o _ p a l e t t e _ r g b 2 4 : c a m p l c b r i g h t n e s s = 4 0 0 0 0 : c a m p l c h u e = 3 6 0 0 0 : c a m p l c c o l o u r = 0 : c a m p l c c o n t r a s t = 4 3 0 0 0 : c a m p l 。c w h i t e n e s s = 2 0 0 0 0 : c a m p l c d e p t h = 2 4 : r e t = i o c tl ( c a m _ f d ,v i d i o c s p i c t ,& c a m _ p ic ) : 通过v i d i o c s p i c t 命令设置所要采集的图像格式。s t r u c tv i d e o _ p i c t u r e 主 要定义了图像的属性,诸如亮度,对比度等等。 ( 4 ) 视频数据帧捕获。 操作系统一般把系统使用的内存划分成用户空间和内核空间,分别由应用 程序和操作系统管理。应用程序可以直接访问内存的地址,而内核空间存放的 是供内核访问的代码和数据,用户不能直接访问。捕获的数据,最初是存放在 内核空间的,这意味着用户不能直接访问该段内存,必须通过转换地址才能使 用。一般使用r e a d 、w r i t e 方式,但这种方式在用户空间和内核空间不断切换 拷贝数据,在数据量大、操作频繁时,效率不高。另一种是内存映射方式,把 西南交通大学硕士研究生学位论文第15 页 一个文件或者其他对象映射进内存,我们可以通过这种方式将设备内存映射到 应用程序中,直接处理设备内存,这样可以提高处理的效率。在图像采集过程 中,数据量比较大,采用这种方式会更为有效。 在该驱动中使用i o c t l 命令v i d i o c g m b u f 获得帧缓冲空间,然后使用m m a p 0 内存映射到用户空间,通过调用v i d i o c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论