嵌入式Linux系统下的视频采集与SDL研究应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式Linux系统下的视频采集与SDL研究应用

刘少刚1,2,

王学军2

(1.哈尔滨工程大学机电工程学院,黑龙江哈尔滨150001;2.国家林业局哈尔滨林业机械研究所,

黑龙江哈尔滨150086)

要:根据某些特殊作业现场对视频监控的需求,研究了在嵌入式Linux系统下采用分散存储方式进行视频

采集的方法。针对当前嵌入式Linux系统下视频采集一般仅采用V4L存在的问题,提出了一种在嵌入式Linux系统下同时采用V4L和SDL进行视频采集的方案。

本文重点解决了在仅采用V4L情况下实时显示、时间信息的获取和事件处理难于实现或过于复杂等问题。实验结果表明,同时采用V4L和SDL在嵌入式Linux系统下进行视频采集方法可行,操作更简捷,效果更好。

关键词:视频采集;V4L;嵌入式系统;SDL;USB摄像头中图分类号:TN957.52

文献标识码:A

文章编号:1001-4462(2008)05-0017-02

VideoCollectionandApplicationofSDLBasedonEmbeddedLinuxSystem

LIUShao-gang,WANGXue-jun

(1.CollegeofMechanicalandElectricalEngineering,HarbinEngineeringUniversity,HarbinHeilongjiang150001,China;

2.HarbinResearchInstituteofForestryMachinery,theStateForestryAdministration,HarbinHeilongjiang150086,China)

Abstract:Inthelightofthedemandforvideosurveillanceincertainspecialworkplaces,themethodadoptingscatterstoragetechniqueforvideocollectionunderembeddedLinuxsystemisstudied.InviewoftheseriousproblemswiththemethodthatonlyusesV4LtocarryoutvideocollectionunderLinuxsystemcurrently,theplanadoptingV4LandSDLatthesametimeforvideocollectionisproposed.Greatimportancehasbeenattachedtothesolutionstosuchproblemsasrealtimedisplay,accesstotimemessageandeventhandling,whichareeitherhardtorealizeortoocomplicatedwhenonlyV4Lisused.TheexperimentalresultshowsthatthemethodadoptingV4LandSDLsimultaneouslyforvideocollectionunderLinuxsystemisfeasible,whichfeatureseasyoperationandbettereffect.

Keywords:videocollection;videoforLinux;embeddedsystem;simpledirectmedialayer;USBcamera

在某些作业现场,尤其是一些危险作业、无人值守的场合,如化工厂、

红外成像森林火灾监测站、自动检测线、高速交通工具等,当发生事故或灾情后,往往由于现场被破坏以及时效性,而难以分清责任和分析事故原因,因此,对事故易发地点的连续视频监控就显得尤为重要。

目前视频监控和录制主要采用摄像头、硬盘录像机、录像带等组成视频监控网络。该类视频监控网络具有工作稳定、

可靠等优点,但由于事故的突发性和偶然性,以及需要监控的危险地点经常变动,所以固定视频监控网络的运行管理、维护和安装调试等方面的问题比较突出。

由于在很多场合发生事故时,绝大多数需要掌握的信息都集中在事故之前很短的一段时间内,所以只需要保存好这一段时间的信息就能达到监控效果。鉴于此,我们提出了一种在嵌入式Linux系统下采用分散存储实现视频信息采集的方法,仅保留最后视频信息并结合SDL

(SimpleDirectMediaLayer)实现信息采集。1系统简介

由于嵌入式系统下的视频采集比传统的PC视频

收稿日期:2008-03-13

基金项目:国家科技部社会公益研究专项(2002DIB50121);

国家“948”

专项资助(2003-4-29)第36卷第5期

林业机械与木工设备

Vo136No.52008年5月

FORESTRYMACHINERY&WOODWORKINGEQUIPMENT

May2008

图1采集流程图

采集在实时性、稳定性、成本等方面更加优越,所以已成为近年来研究的热点,尤其是嵌入式Linux系统下的视频采集更是引人瞩目。

目前嵌入式Linux系统下的视频采集均采用V4L,其虽然也能够实现基本功能,但在实时显示、获取时间信息、事件处理等方面却过于复杂,甚至难于实现。SDL作为免费的跨平台多媒体应用编程接口,由于其具有稳定、

简单和灵活等特点,在游戏、影像、模拟器、样本演示、多媒体等领域的应用越来越广泛,当前在PCLinux系统下的视频采集、

图像处理等方面的许多软件都采用了SDL[1]。本文所做的嵌入式Linux系统下的视频采集在采用V4L的同时引入SDL,以达到操作更简单、

使用效果更好的目的。1.1系统硬件

在本研究中,采用了目前国内比较常见的S3C2410

处理器[2]。S3C2410具有丰富的功能和很高的性价比,它采用了ARM920T核心。在处理器丰富资源的基础上进行了相关的配置和扩展:平台配置了16MB16位的

Flash和64MB32位的SDRAM;引出了1个串行接口和1个HOSTUSB接口;通过USB接口与外接USB摄像头和U盘相连。整体研究工作即基于此硬件平台[3]

1.2系统软件

由于MIZI对S3C2410进行了较完善的Linux平台

开发,同时Linux系统具有开放和稳定等优点,所以本研究采用Linux系统;内核采用了比较稳定的2.4.18版本;文件系统则采用专门针对NAND闪存设计的yaffs系统,其中主要包括相应的配置文件、各种模块和库等。

2视频采集实现2.1

采集前的准备工作

因为在研究中引入了SDL,所以在进行视频采集

前,除了需要对系统进行一些常规配置外(主要包括内核的支持和USB摄像头驱动的安装),还需要进行SDL移植。在常规内核配置时,必须配置videoforLinux和

USB支持选项,由于采用了U盘进行存储,还应在scsi中进行相应的配置(主要是存储器的支持)。目前2.6内核的高级版本中对USB摄像头的支持是比较全面的,但在2.4内核和2.6内核的低级版本中,所支持的摄像头种类还比较少,不过都直接支持ov511芯片USB摄像头,为了研究方便,可直接采用ov511芯片摄像头[4]。

2.2使用V4L进行视频采集

在嵌入式Linux系统下的视频采集采用了常用的

V4L。程序编写时首先应包括必要的头文件,其中定义了相应的数据结构。通过分析相关代码,可以看出V4L提供针对视频设备进行基本I/O操作的接口函数,如open、read、write、close、中断处理、内存映射及I/O通道的控制ioctl等。

其中主要的API函数有VIDEOCGCAP、VIDEOCGPICT、

VIDEOCGWIN、VIDEOCSWIN、VIDEOCSPICT、VIDIOCSYNC、VIDEOCSBUF,分别以相应的数据结构获取或设定信息[5]。

根据数据结构和接口函数,可以先实现打开设备、

获取信息、参数设定以及采集等的各种操作,然后再进行图像的后续处理(如细化、压缩等的操作),也可以通过write函数操作写入文件。这时就会发现

V4L并没有给出事件类的接口函数和时间类的接口函数,使用V4L进行事件应用

(如使用键盘操作和获取必要的时间信息)比较复杂和困难。因此,在研究中引入了SDL。

整个采集流程图如图1所示。

2.3SDL在视频采集中的应用

同V4L类似,在使用SDL时也应包括必要的头文件。

在研究过程中,主要通过SDL来实现窗口的实时显示、获取时间信息和事件处理三个部分。在使用SDL时,需要在程序的开始时进行SDL的初始化。在Linux系统下,视频采集过程中需要把这部分放到打开设备之前进行[6]。

在图像采集过程中,需要根据时间信息来计算所用时间和帧率等信息,因此在图像采集过程中获取时间信息比较重要。

对于获取时间信息部分,利用V4L比较复杂和困难,但用SDL则非常简单,只需通过调用函数SDL_GetTicks

()即可。SDL事件分为等待事件、事件轮询和事件状态轮询三种,可以根据具体情况进行相关调用。在linux系统下的视频采集过程中,主要通过事件实现图像亮度、色调、对比度和移动等的操作。

查找设备打开设备获取信息

参数设定采集(read/mmap)

写入文件图像处理

结束

关闭设备

林业机械与木工设备

18

第36卷

相关文档
最新文档