Linux内核版本:3.5.0
1.1 V4L2简介
v4L2是针对uvc免驱usb设备的编程框架,主要用于采集usb摄像头等。 这篇文章介绍V4L2框架读取摄像头数据的流程,介绍ioctl常用的命令参数,以及各种摄像头相关的结构体成员含义,最终完成数据采集。
编程模式如下:
V4l2支持多种设备,它可以有以下几种接口:
1. 视频采集接口(video capture interface):这种应用的设备可以是高频头或者摄像头.V4L2的最初设计就是应用于这种功能的。
2. 视频输出接口(video output interface):可以驱动计算机的外围视频图像设备--像可以输出电视信号格式的设备。
3. 直接传输视频接口(video overlay interface):它的主要工作是把从视频采集设备采集过来的信号直接输出到输出设备之上,而不用经过系统的CPU。
4. 视频间隔消隐信号接口(VBI interface):它可以使应用可以访问传输消隐期的视频信号。
5. 收音机接口(radio interface):可用来处理从AM或FM高频头设备接收来的音频流
1.2 V4L2驱动分析
1.2.1 v4l2驱动接口
video4linux2(V4L2)是Linux内核中关于视频设备的内核驱动,它为Linux中视频设备访问提供了通用接口,在Linux系统中,V4L2驱动的Video设备节点路径通常/dev/中的videoX。
V4L2驱动对用户空间提供字符设备&