基于IP网络的实时视频采集系统
摘要:随着网络和多媒体技术的广泛应用,数字网络视频得到了飞速发展。尤其在监控领域,将传统的模拟视频监控信号转换为数字视频信号,并且利用现有IP网络设计一个不受距离限制的廉价通用网络视频监控设备成为了新的热点。本文根据这方面的应用需求提出一种设计方案。本方案的实现平台是基于Intel PXA255的嵌入式硬件平台以及基于嵌入式Linux的软件平台,采用先进的MPEG-4编码标准。最终实现一个具有实时视频采集压缩及传输功能的可以直接接入以太网的网络摄像机。
关键词:PXA255 Linux MPEG-4 网络摄像机 流媒体技术
1 系统概述
本方案设计的是基于IP网络的实时视频采集、处理及传输系统。整个系统在嵌入式软硬件构架上实现,无需其它设备协助就能独立完成通用目的视频应用,比如视频监控和网络视频会议。
1.1 硬件系统概述
整个系统除摄像头部分外都是在Intel PXA255评估平台Sitsang(简称Sitsang板)上面实现的。Sitsang板以PXA255为核心,配备了大量的硬件资源,其中通信接口中的以太网控制器和USB Host控制器在本系统中尤为重要。Sitsang板采用Standard Microsystems LAN91C96以太网控制器,它通过U52与网络相连,支持IEEE802.3的10Mb/s模式。Sitsang板采用Philips ISP1161作为USB Host控制器,使用USB Host接口可以使Sitsang板与视频采集摄像头相连。以太网控制器和USB Host控制器通过数据总线收发器(74LVCH32245)以及地址、数据总线驱动器(74LVCH32244)与PXA255相接。整个硬件系统如图1所示。
![](../img/eep/emb/emb-10989q3324tno2zx.jpg)
1.2 软件系统概述
整个系统软件是在嵌入式Linux基础之上构建的。Sitsang板使用的嵌入工Linux内核是在linux-2.4.19内核上打上patch-2.4.19-sitsang2这个补丁后编译而成。Sitsang板使用的文件系统是针对Flash的无缓冲机制的jffs2文件系统,文件系统中包含应用程序、模块、配置文件、图形界面和库等。Sitsang板使用的是基于Qt/Embedded的图形界面系统。视频信号的采集、压缩和传输是建立在图形界面和嵌入式Linux内核之上的。整个软件系统如图2所示。
![](../img/eep/emb/emb-10990vzk5oqvcyqn.jpg)
2 系统设计
系统的设计目标是设计一个工作在Sitsang/Intel PXA255和嵌和试Linux平台上,内置视频Web服务器,采用MPEG-4编码标准,支持相关网络传输协议的网络摄像要。系统的设计可以被分为以下几个大部分:
*嵌入式Linux内核的移植和编译,文件系统和图形界面系统的安装;
*基于嵌入式Linux视频采集模块的设计;
*视频图像压缩模块的设计;
*基于嵌入式Linux的网络视频流服务模块的设计。
2.1 Linux内核、图形界面系统及文件系统的安装
2.1.1 嵌入式Linux内核的定制
工作在Sitsang板上的嵌入式Linux内核的定制步骤与其它嵌入式平台的开发步骤相似,具有一定的通用性,所以在这里将不再详述,但是要注意两点。
①在解压缩Linux内核源代码后,假设源代码是linux-2.4.19.sar.gz,需要为源代码打上Sitsang板的支持补丁:%gzip-dc patch-2.4.19-sitsang2.gz|patch-p0。
②在使用make menuconfig定制内核时,注意要让内核支持USB接口的摄像头,具体步骤为:在制定菜单中选择Multimedia devices→Video for Linux,这使得内核被配置了Video4Linux,为视频采集设备提供了编程接口;在菜单中选择USB Support→USB Multimedia devices→USB OV511 Camera Support,这使得在内核中加入了对4采用OV511接口芯片的USB数字摄像头的驱动支持。2.1.2 图形界面系统的编译与安装
Sitsang板使用的是基于Qt/Embedded的图形界面系统,Qt/Embedded的编译主要分为三个步骤:
①编译Qt/X11,Qt/X11是运行在IBM兼容PC中标准Linux这上的,这主要为Qt/Embedded及其应用程序提供图形编译环境及仿真运行环境;
②编译Qt/Embedded,Qt/Embedded为在嵌入式Linux平台上运行的图形界面系统及应用程序提供一系列的函数库;
③编译Qtopia,通过使用Qt/X11提供的编译工具以及Qt/Embedded提供的函数库,编译出最终基于嵌入式Linux平台的图形界面系统及该环境下的应用程序。
2.1.3 文件系统的安装
在嵌入式平台上用作非易失存储的设备一般是Flash,因而在嵌入式平台上除了广泛使用的ext2文件系统外,还经常使用jffs2文件系统。作为日志型文件系统,jffs2直接写到非易失存储器上,而不使用如ext2的缓冲机制,这样在随时断电的情况下够保护用户的资料。直接使用mkfs.jffs2生成Sitsang板上的jffs2文件系统。
2.2 基于嵌入式Linux视频采集模块的设计
在嵌入式Linux的内核定制和编译阶段,已经加入了对Video4Linux模块以及OV511设备的支持,所以运行在Linux下的视频图像采集程序,可以
- 基于Linux的便携式RFID信息采集处理系统 (07-03)
- 一种基FPGA和DSP的高性能PCI数据采集处理卡设计(08-26)
- 基于LabVIEW的USB实时数据采集处理系统的实现(03-26)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 基于DSP的图象采集与处理系统的设计(06-15)
- 基于DSP的信号采集处理系统(07-21)