驱动开发读书笔记. 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就可以完成视频相关的编程