驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识

驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识

由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识

UVC :

UVC,全称为:USB video class 或USB video device class。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一。

UVC linux driver:

UVC linux 驱动 需要在编译内核的时候选上

配置内核

Device Drivers --->
    <*> Multimedia support --->
        <*> Video For Linux
        [*] Enable Video For Linux API 1 (DEPRECATED)
        [*] Video capture adapters --->
            [*] V4L USB devices --->
                <*> USB Video Class (UVC)
                [*] UVC input events device support
                [*] GSPCA based webcams --->

(使用选择UVC的内核的板子,只要符合UVC标准的usb摄像头 插入板子,就可以被识别,/dev 目录下自动创建 video*的文件)

如何知道手中的摄像头是否符合UVC标准?:

利用 lsusb命令,具体看链接

http://blog.csdn.net/jason6765599/article/details/19907263

那个品牌的摄像头符合要求?:

简单的方法,某宝里面搜“arm9+摄像头”

插入摄像头之后出现:"uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaroun":

你的摄像头不适于UVC 摄像头.虽然有该设备文件,但是你的摄像头无法正常工作.

在网上看到的模糊的解决方法:  1.先卸载UVC 摄像头驱动.  2.加载适合你自己摄像头的驱动.

(据我所知,如果这个卸载驱动是指整个UVC Linux Driver,如果你编译进了内核,卸载的方法只有重新编译内核了)

如果插入没有出现non compliance的提示,并且在/dev目录新创建了video*的文件:

那么你就可以用这个文件编程了

编程API--V4L2:

意为video 4 linux 2;利用这个API就可以完成视频相关的编程

原文地址:https://www.cnblogs.com/simonlin/p/6089797.html