首页 > 代码库 > Linux 下UVC&V4L2技术简单介绍(二)

Linux 下UVC&V4L2技术简单介绍(二)

通过前文Linux 下UVC&V4L2技术简单介绍(一)我们了解了UVC和V4L2的简单知识。

这里是USB设备的文档描写叙述:http://www.usb.org/developers/docs/devclass_docs/

那么假设我们想执行一个UVC的camera设备须要做哪些工作呢?


我简单的查看了几个CM项目的kernel配置文件,发如今这些系统里面的V4L2的驱动配置选项都是打开的,可是CONFIG_USB_VIDEO_CONFIG选项是没有打开的,也就是说在如今CM支持的机型里面默认是不支持UVC camera的。


这种情况就给开发人员带来非常大的不便,由于这样以来。UVC camera就不能作为一个android系统的标配存在着。


那么如今问题来了,

怎样让设备成为一个UVC(USB video class)设备?

怎样让android系统可以支持UVC camera设备正常工作?


首先,在前一篇文章中提到UVC设备能够有一个支持的device list或者利用命令去查看设备是否被支持。我们能否够改动我们的设备,使之成为一个UVC camera?


此处依据阅读文档的结果来看符合UVC设备的条件,硬件上是有一个固定的架构的。所以假设硬件上不是UVC设备架构的情况下,非常难将一个普通的camera转化成UVC camera。




其次怎样让android系统可以支持UVC camera呢?

1) 首先要打开设备上的 V4L2
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_COMMON=y
CONFIG_VIDEO_MEDIA=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
2) 将/ueventd.xxxx.rc中的/dev/video0的权限设置 为 0666
3) 这个设备必须是支持UVC的摄像头

在描写叙述这部分之前,须要先说一下V4L2的工作原理。


接下来讲述UVC驱动。






Linux 下UVC&V4L2技术简单介绍(二)