基于Linux的嵌入式网络摄像机设计
发布时间:2008/8/19 0:00:00 访问次数:429
引言
基于同轴电缆的视频监控系统结构复杂、稳定性差、可靠性低且价格昂贵,因而出现了嵌入式网络摄像机等远程web视频监控系统。本嵌入式网络摄像机,采用高性能的arm9芯片作微处理器,内置嵌入式web服务器—boa,通过嵌入式多任务操作系统—linux采集摄像机视频数据;摄像机采集的视频信号数字化后经mjpeg算法压缩,压缩后的视频流再通过内部总线送到内置的web服务器;通过在网页中嵌入图像播放器,用户可以直接通过浏览器观看web服务器上的摄像机图像;通过通用网关接口cgi,授权用户还可以控制摄像机、云台和镜头的动作或直接通过web实现对系统进行配置。
1 嵌入式网络摄像机系统原理及组成结构
嵌入式网络摄像机的基本原理:在嵌入式linux操作系统中内置web服务器boa,摄像机采集视频信号并将其数字化,经mjpeg压缩后,传送到内置的web服务器,通过web页面将视频信息发布到internet。由于嵌入式网络摄像机是视频采集终端和web服务器的融合,因此,用户可以直接通过浏览器观看摄像机拍摄的视频图像,达到远程监控的目的。
整个系统由视频采集模块、视频压缩模块、web服务器、通用网关接口、web页面等5个部分组成。 其硬件结构如图1所示:
图1 嵌入式网络摄像机硬件结构图
视频采集模块包括以s3c2410">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,配合
引言
基于同轴电缆的视频监控系统结构复杂、稳定性差、可靠性低且价格昂贵,因而出现了嵌入式网络摄像机等远程web视频监控系统。本嵌入式网络摄像机,采用高性能的arm9芯片作微处理器,内置嵌入式web服务器—boa,通过嵌入式多任务操作系统—linux采集摄像机视频数据;摄像机采集的视频信号数字化后经mjpeg算法压缩,压缩后的视频流再通过内部总线送到内置的web服务器;通过在网页中嵌入图像播放器,用户可以直接通过浏览器观看web服务器上的摄像机图像;通过通用网关接口cgi,授权用户还可以控制摄像机、云台和镜头的动作或直接通过web实现对系统进行配置。
1 嵌入式网络摄像机系统原理及组成结构
嵌入式网络摄像机的基本原理:在嵌入式linux操作系统中内置web服务器boa,摄像机采集视频信号并将其数字化,经mjpeg压缩后,传送到内置的web服务器,通过web页面将视频信息发布到internet。由于嵌入式网络摄像机是视频采集终端和web服务器的融合,因此,用户可以直接通过浏览器观看摄像机拍摄的视频图像,达到远程监控的目的。
整个系统由视频采集模块、视频压缩模块、web服务器、通用网关接口、web页面等5个部分组成。 其硬件结构如图1所示:
图1 嵌入式网络摄像机硬件结构图
视频采集模块包括以s3c2410">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,配合