了解linux标准USB网络摄像头驱动程序

时间:2013-03-25 12:55:01

标签: linux usb driver webcam

我正在尝试了解与USB网络摄像头连接的软件层。

据我所知:

标准网络摄像头适合'USB Video Device Class', or 'UVC'的类别。

在linux中,Video4Linux (V4L, V4L2)封装了所有视频捕获设备。 V4L(2)提供了两个API:一个用于希望获取和使用捕获设备数据的程序。另一个API是内部的,用于驱动程序本身,因此程序可以通过V4L(2)的外部API访问这些驱动程序。

其中一个V4L(2)驱动程序是UVC driver,它包含所有符合标准的USB网络摄像头。

我的问题:

查看UVC driver的主页,其中显示了受支持设备的列表。这些设备中的每一个都是在UVC驱动程序中单独提供的吗?或者只有当设备具有需要处理的特性时?换句话说,是否所有符合标准的USB网络摄像头都能自动使用UVC驱动程序,无论它们是否在该列表中?

由于

2 个答案:

答案 0 :(得分:4)

我相信“支持的设备”标题下的文字可以回答您的问题:

  

下表列出了已知的UVC设备。很可能支持其他符合UVC标准的视频输入设备。

因此,符合标准的未列出的设备应该工作。根据嵌入式环境中大容量存储(“USB闪存驱动器”)的经验,您的里程数可能会有所不同,因为并非所有设备都是很好的工程示例。

答案 1 :(得分:4)

USB视频类已经发布了具有规范的手册,供应商应该实施。当供应商根据这些规范设计其产品时,该设备将符合UVC标准。

我使用的是符合UVC标准但未列出的网络摄像头。

当我将网络摄像头插入Linux机器时,一个简单的“dmesg”会显示以下消息 1.发现UVC投诉设备 2.该设备未列出。

我可以通过此网络摄像头轻松传输未压缩的帧。