已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ARM的移动视频监控系统概要 本文提出了基于ARM的移动观频监控的设计与实现,设计了一种专门功能、结构简单的流媒体服务器;采用Boa作为Web服务器, 并通过浏览器来监控,实现跨平台监视;采用双缓冲技术,确保用户能够得到较好、较稳定的播放质量;利用USB无线网卡实现无线上网,免去布线的烦恼,方便 地实现了移动视频监控的功能。1 系统硬件设计 硬件平台是整个系统运作的基础。本系统主要由流媒体服务单元、USB无线网卡、无线路由、摄像头和监控端组成。流媒体服务单元是整个系统的核心,主要由嵌入式Linux、嵌入式处理器和外围器件组成。 嵌入式处理器采用Intel XScale结构的PXA27嵌入式微处理器,最高主频可达624 MHz;加入wireless MMX技术,大大提升了多媒体处理能力;加入Intel SpeedStep动态管理电源技术,在保证CPU性能的情况下,最大限度地降底移动设备的功耗。在处理器丰富资源的基础上,本系统扩展了64 MB Nand FLASH,64 MB SDRAM,16 MB Nor FLASH,4个USB主接口以及一个从接口。USB一主接口接摄像头,用于采集视频数据;USB一主接口接无线网卡,用于发送视频数据。无线网卡采用了 TCPIP、NETBEUI传输协议,传输速率为11 Mbs,55 Mbs,2Mbs,1 Mbs。其最大覆盖范围为35100 m(室内)、100300 m(室外),能较好地满足移动视频监控的要求。本系统硬件组成图如图1所示。2. USB无线网卡驱动 在Linux系统中,提供了主机侧和设备侧视角的USB驱动框架。从主机侧角度而言,需要编写的USB驱动程序包括主机控制器驱动和设备驱动两大类。主机 控制器驱动程序属于USB驱动程序的核心,这部分在Linux内核源码中已经有很好的支持。这部分包括USB驱动的注册和注销,探测和断开函数,USB请求块(URB)。3. 系统软件设计 基于ARM的移动视频监控的软件设计包括嵌入式Linux系统开发环境的搭建与移动视频监控软件设计两大部分。31 基于ARM的嵌入式Linux开发平台 本方案采用了Linux嵌入式操作系统,以Linux2624为基础进行裁减定制自己的内核,在编译内核时保留必须的文件系统、存储器、串口、 USB、以太网驱动,将摄像头、USB无线网卡驱动以模块的形式编译,以减少编译后内核的大小。Bootloader采用blob,烧写blob后利用 tftp协议实现Linux内核和文件系统在Flash上的烧写。在Redhat 9安装Arm-linux-gcc。建立交叉编译环境,实现流媒体服务器和Boa在PAX270上的搭建。3.2 移动视频监控软件的设计 移动视频监控软件完成的主要功能有:设计流媒体服务器采集并传输摄像头拍摄的视频信息;构建嵌入式Web服务器Boa;动态网页的设计以及流媒体服务器、web服务器与浏览器之间的通信等任务。因此系统软件框架如图2所示。3.2.1 流媒体服务器的设计 流媒体服务器主程序用于开放某个视频服务器端口,并不断监听端口,如有连接请求则建立连接,建立后流媒体服务进程将不断向端口提供采集到的视频数据流同时也接收客户端发送过来的视频调节命令参数。流媒体服务器主程序流程图如图3所示。 (1)采集视频数据 系统是在嵌入式Linux系统平台上采用Video4Linux编程来采集视频的。一般摄像头是直接读视频设备,采集到视频数据并存在文件中。对文件进行操作,这样程序运行效率会很低。本系统摒弃这种方法,采用mmap(内存映射)方式截取视频数据。mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以向访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。 (2)传输视频数据 本系统通过网络传输视频数据,用套接字(Socket)编程实现。 (3)采集线程与传输线程同步 流媒体服务器的设计有个关键点:保证连续不断的视频流。针对这一点,本系统采用多线程编程,采集和传输并行执行。用互斥量和标志位来实现采集线程和传输线程的同步。 采集数据时给互斥量加锁,直到当前帧采集完并填充完当前帧头结构体才解锁互斥量,再开始传输。同理,传输当前帧时采集线程等待,直到当前帧传输完。采集完 两帧数据传输第二帧。传输完成后,采集完第三帧传输第三帧。依此循环,采集完第N帧传输第N帧。此时实际只传输了第2帧到第N帧,即N-1帧。 用户的视觉反应需要时间,此丢弃第一帧的设计思想并不会使画面失真。反而连续不断的视频流传输到客户端为用户能够获得良好的视频质量打下了基础。3.2.2 动态网页的设计 嵌入式Web服务器是Web服务器简化后的专用系统。本系统选用适合嵌入式系统的Boa Web服务器。Boa是一个单任务的HTTP服务器,支持能够实现动态Web技术的Java Script技术,源代码开放,性能高。同时服务器本身所占空间很小,因而十分适用于嵌入式系统。 Applet是能够嵌入到一个HTML页面中,且可通过Web浏览器下载和执行的一种Java类。它是Java技术容器(container)的一种特定 类型。Applet可以通过网络传输,由浏览器自动装载并执行。这恰恰非常符合本系统的要求,因此选用Applet来很好地实现动态网页,打开网页就可以 看到视频数据,方便快捷。 (1)设计流程 Applet不能单独运行,需要嵌入在网页中借助浏览器的解释。必须要创建一个HTML文件来告诉浏览器需装载什么以及如何运行它。其执行顺序如下: 浏览器装入URL; 浏览器装入HTML文档; 浏览器装入Applet类; 浏览器运行Applet。 (2)双缓冲技术 为了保证用户的观看质量,本系统在动态网页的设计中引入这种双缓冲技术。采用Java语言中component类的一个可用于创建图形缓冲区的方法 createImage(int width,int height),其参数为绘制区域的大小。该方法返回一个大小为绘制区域的Image对象。调用该对象的getGraphics()方法得到一个 GraphiCS对象,将它视为后台的Graphics对象。此后,可调用Graplaics类的各种绘图方法,以绘制所需的画面。此时,所有的操作都是 在后台的Image对象中进行的,并没有显示到屏幕上。当绘制完成后,再调用前台Graphics对象的drawlmage(Image img,int x,int y,ImageObserver observer)方法将已准备好的Image显示到屏幕上。其中Image参数就是createImage方法所返回后台的Image对 象,ImageObserver参数是与前台Graphics对象相关的Component对象或其派生类对象。4. 系统测试 在PXA270上搭建Boa,将Java Applet小程序编译后生成的class执行文件、HTML脚本indexhtml及相关文件拷贝到varwww下。将编译好的流媒体服务器 的二进制文件下载到PXA270上。加载摄像头和USB无线网卡驱动,运行boa,再运行流媒体服务器。在PC端打开浏览器输入pxa270的IP地址, 就可以看到网页监控的画面,画面清晰且视频流畅。5. 结束语 本设计充分利用多媒体技术和嵌入式技术各自的特点,介绍了一种用ARM实现移动视频监控的方法,给出了软硬件设计结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国公开课一等奖初中化学九年级上册(人教2024年新编)《水质检测及自制净水器》精美课件
- 专业酒店客房服务合作协议模板版A版
- 小学生阅读过程中的情绪反应与教育对策研究
- 二零二五年度桥梁加固与维修施工合同3篇
- 培养综合素质小学科学与艺术双科融合实践
- 艺术课程解读模板
- 艺术教学 颜色探索模板
- 二零二五年度铲车租赁合同风险评估与管理范本3篇
- 二零二五年度房屋建筑工程包工合同范本-安全生产责任制度3篇
- 专业化混凝土构件委托制作协议样本版A版
- 文言文阅读训练:《三国志-武帝纪》(附答案解析与译文)
- (完整版)招聘面试方案设计与研究毕业论文设计
- 易制爆化学品合法用途说明
- 调休单、加班申请单
- 肉制品生产企业名录296家
- 规划设计收费标准
- 大气喜庆迎新元旦晚会PPT背景
- 山区道路安全驾驶教案
- 常见浮游植物图谱(1)
- 心电图中的pan-tompkins算法介绍
- 丙酮-水连续精馏塔的设计
评论
0/150
提交评论