Linux 下UVC&V4L2技术简单介绍
Posted mthoutai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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技术简单介绍的主要内容,如果未能解决你的问题,请参考以下文章
Camera基础摄像头驱动原理和开发&&V4L2子系统驱动架构