嵌入式远程视频集系统的设计与实现(基于S3C2410).doc

嵌入式远程视频集系统的设计与实现(基于S3C2410).doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式远程视频集系统的设计与实现(基于S3C2410)

嵌入式远程视频采集系统的设计与实现(基于S3C2410) 发 布 时 间 : 2008-11-19??? 来 源 : 中电网??? 作 者 : 张永强,赵永勇,李崇德 ??浏 览 : 984 多媒体通信技术的发展为信息的获取和传输提供了丰富的手段,视频采集是其中不可缺少的重要组成部分,该系统基于S3C2410的ARM9芯片和嵌入式Linux操作系统,采用USB摄像头捕捉视频,经MPEG-4算法压缩编码,系统直接与网络相连,用户使用标准的网络浏览器和流媒体播放程序即可查看远程视频影像。 1 硬件系统 系统硬件平台选用基于ARM9架构嵌入式芯片S3C2410,稳定工作在202MHz主频,板载64MB SDRAM 64MB FLASH,主板资源包括:主USB口、从USB口、10M/100M以太网口,触摸屏、彩色LCD、键盘、8个用户自定义LED数码管, A/D,RTC电路,2个串口、1个JTAG通用接口,音频模块,支持MPEG4,MP3编解码,3个168PIN的扩展插座,32位的数据总线,保留充分扩展空间。 其中标配模块包括:IC卡+PS2模块、IDE硬盘+CF卡模块、PCMCIA+SD/MMC模块。另外可选配模块有:GPS模块,GPRS模块,FPGA模块,CAN+AD+DA模块、红外模块、蓝牙模块、摄像头模块。 ? ? 2 软件系统 2.1 内核配置与USB摄像头驱动 假定已经搭建好嵌入式Linux的开发环境,下面第一步工作就是USB摄像头的安装与驱动。 首先检查Linux Kernel中是否已经添加了USB模块的支持,并且加入Video4Linux支持。 Multimedia devices→Video For Linux Video For Linux→[*]V4L information in proc filesystem 在主菜单的USB Support下还有各种摄像头的驱动,选中将要使用的摄像头芯片类型。 USB IBM (Xirlink)C-it Camera support*USB OV511 Camera supportUSB Philips Cameras USB SE401 Camera supportUSB STV680(Pencam)Camera supportUSB 3com HomeConnect(akavicam)support 在USB摄像头选购时,优先考虑Linux内核公开支持的摄像头芯片,不然要额外编写相应的USB摄像头驱动程序,然后进行编译、安装。在此选用网眼公司的V3000产品,他采用了OV511的芯片。 确定USB摄像头被正常驱动后,下一步就是使用Video4Linux提供的API函数集来编写视频采集程序。 2.2 基于V4L设计的视频采集模块 在Linux下,所有外设都被看成是一种特殊的文件,称为设备文件。系统调用是内核和应用程序之间的接口,而设备驱动程序则是内核和外设之间的接口。他完成设备的初始化和释放、对设备文件的各种操作和中断处理等功能,为应用程序屏蔽了外设硬件的细节,使得应用程序可以像普通文件一样对外设进行操作。 Linux系统中的视频子系统Video4Linux为视频应用程序提供了一套统一的API,视频应用程序通过标准的系统调用即可操作各种不同的视频捕获设备。Video4Linux向虚拟文件系统注册视频设备文件,应用程序通过操作视频设备文件实现对视频设备的访问。 Linux下与Video4Linux相关设备及用途如表1所示。 ? ? 这里主要针对设备文件/dev/video进行视频捕捉方面的程序设计。 Linux下视频采集流程如图2所示。 ? ? 其中用到的主要函数有: Camera_open():用来开启视频设备文件,使用前需要首先声明一个video_device类型的设备文件。 Camera_get_capability():通过调用ioctl()函数取得设备文件的相关信息,并存放到video_capability结构里。 Camera_get_picture():通过调用ioctl()函数取得图像的相关信息,并且存放到video_picture结构里。 Camera_close():用来关闭设备文件。 Camera_grab_image():用来抓取图像,采用mmap方式,直接将设备文件/dev/video0映射到内存,加速文件I/O操作,还可以使多个线程共享数据。 剩下的还有设备初始化、参数设备等相关函数,不再详述。 2.3 视频压缩编码模块 获取图像数据后,可以直接输出到FrameBuffer进行显示,由于本系统要将采集到的视频影响通过网络传输出去,所以在传输之前要对原始的图像数据进行压缩编码,在此选用MPEG-4视频编解码方案。和其他标准相比,MPE

文档评论(0)

zhanci3731 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档