摘要:将嵌入式Linux和无线网络引入到视频监控系统,阐述了系统的硬件组成;介绍了USB无线网卡驱动实现的过程;从嵌入式Linux开发环境的搭建、嵌入式流媒体服务器的设计和动态网页的设计等方面介绍了软件系统的具体实现过程;对动态网页设计所涉及到的双缓冲技术进行了详细介绍。实现结果表明,该系统具有可靠性高、体积小、成本低和使用便利等特点,适用于移动视频监控等实际场合。
关键词:嵌入式Linux;USB无线网卡;流媒体服务器;双缓冲;移动视频监控
0 引 言
传统的视频监控系统一般采用PC服务器的C/S(Client/Server)结构,视频服务器由计算主机和许多存放视频的磁盘陈列组成,专门用于视频的存储和传输。流式传输采用的是边接收边播放的原则,这需要将多媒体的编、解码和传输技术很好地结合在一起。目前多媒体的编解码技术如MPEG-4,H.264等,可以以较小的带宽开销来实现较高质量的视频传输,然而目前的传输技术却无法满足移动视频监控的需求,因为设备的移动速度和所在位置都会严重影响到传输。传统流媒体系统体积大、成本高、可靠性低且移植性差,不能满足这种特殊场合的应用要求。
针对传统监控技术的不足,本文提出了基于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一主接口接无线网卡,用于发送视频数据。无线网卡采用了TCP/IP、NETBEUI传输协议,传输速率为11 Mb/s,5.5 Mb/s,2 Mb/s,1 Mb/s。其最大覆盖范围为35~100 m(室内)、100~300 m(室外),能较好地满足移动视频监控的要求。本系统硬件组成图如图1所示。
以PXA270为核心接收摄像头采集到的视频数据,经过编码后通过无线网卡发送,再经由无线路由接入以太网,用户通过Internet接收到视频信息。
2 USB无线网卡驱动
在Linux系统中,提供了主机侧和设备侧视角的USB驱动框架。从主机侧角度而言,需要编写的USB驱动程序包括主机控制器驱动和设备驱动两大类。主机控制器驱动程序属于USB驱动程序的核心,这部分在Linux内核源码中已经有很好的支持。本节将重点介绍USB无线网卡设备驱动的实现。
2.1 USB驱动的注册和注销
usb_ids描述了这个USB驱动所支持的USB设备列表。