通过前文Linux 下UVC&V4L2技术简介(一)我们了解了UVC和V4L2的简单知识。
这里是USB设备的文档描述:
那么如果我们想运行一个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呢?
在描述这部分之前,需要先说一下V4L2的工作原理。
接下来讲述UVC驱动。
顺境的美德是节制,逆境的美德是坚韧,这后一种是较为伟大的德性。