您好,请 登录
 
|
|
|
 

浅析 Linux下V4L2编程

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2016-06-10 18:59:19

浅析 Linux下V4L2编程
    本系统采用了V 4L2来控制网眼2000的USB摄像头。V 4L2就是video for linux2,是一种摄像头视频协议命令。关于V 4L2的确定思路是这样的,现场市场上有成千上万的摄像头[[39],每用一款摄像头都需要重新去移植它配套的实现驱动,非常麻烦,不符合软件开发的标准。所以这种情况下需要给所有这类摄像头定义一个共同遵守的标准,无论什么摄像头只要是基于V 4L2标准的都可以随意更换而不用重新移植驱动,因为V4L2定义了一套相同的函数命令接口,屏蔽了每款摄像头内部具体的实现细节[[40],调用者只需调用统一的接口,每款摄像头都自己的III ,  III内部包含了摄像头的属于,在实现内部V4L2库自然会根据属于调用到真正的对用的IO来完成相应操作。V4L2的主要功能是使应用程序层具有发现底层设备的并操作设备的能力.其主要是用过一系统回调函数来实现以上功能.比如设置高频头的频率,视频压缩格式[41],帧频和图像像参数之类。V4L2(video for linux)可支持多种设备,它可有以下_5种接口,如下所示:
(1)视频采集接口(video capture interface):这种应用的设备可以是高频头或者摄像头.V4L2的最初设计就是应用于这种功能的.下面也是着重讲解这种应用;   
(2)视频输出接口(video output interface):可以驱动计算机的外围视频图像设备一一像可以输出电视信号格式的设备;
    (3)直接传输视频接口(video overlay interface):它的主要工作是把从视频采集设备采集过来的信号直接输出到输出设备之上,而不用经过系统的CPU;
      (4)视频间隔消隐信号接口(VBI interface):它可以使应用可以访问传输消隐期的视频信号[42]
      (5)收音机接口(radio interface):可用来处理从AM或FM高频头设备接收来的音频流;
    V4L2驱动的主要功能是使程序有发现设备的能力和操作设备[[43],它主要是用过一系列的回调函数来实现这些功能。像设置高频头的频率,帧频,视频压缩格式和图像像参数等等。
    接下来介绍设置采集的方式,常用命令标志,格式:
    打开视频设备后,可以设置该视频设备的属性,例如裁剪、缩放等。这一步是可选的。在Linux编程中,一般使用ioctl函数来对设备的I/O通道进行管理[[40],例如刚才用open函数打开视频通道后返回的cameraFd ;
    __request:具体的命令标志符。
 

  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论