02-Media-7-uvc.py 应用软件解码的USB摄像头(UVC)捕获视频并显示的程序
uvc.py 使用软件解码的USB摄像头(UVC)捕获视频并在液晶显示屏进行显示的示例代码。
某博士的X20高清摄像头,效果还算对得起120的购买价格。就是UVC例程需USB摄像头,因此从某鱼上专门买了个USB摄像头耽误了几天时间,购买的
UVC协议简介:(USB Video Class)是一个USB设备类标准,旨在简化视频设备如网络摄像头、数字摄像机等与计算机的接口集成。UVC设备不需要用户安装任何专门的驱动程序,即可在连接到计算机后立即使用。
UVC描述符
USB的描述符用于让主机知道设备的属性信息。设备刚连接主机时,主机会发送所有设备都支持的请求命令。通用的描述符包含设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符。不同的设备类型可能会定义特有的描述符,用于对设备的描述扩展。
windows上行采用UsbTreeView软件查看USB设备的描述符。下图展示了一个UVC设备其描述符的整体布局。
在该布述符布局中,首先第一项是设备描述符,其次是部署描述符,该设备拥有一个配置描述符。配备描述符后接一个接口关联描述符IAD,接口关联描述符IAD拥有一个视频控制接口VC和N个视频流接口。
视频控制接口包括视视频控制接口头描述符、输入终端描述符、处理单元描述符、编码单元描述符、输出终端描述符、中断断点描述符。
视频流接口中包括一个接口和与其对应的多个转换设置接口(Alternate Setting)。
主机端借助视频控制接口描述符,可以知晓UVC摄像头的拓扑结构,并进行控制。比如处理单元PU,包括背光、对比度、色度等等调节,主机端先通过描述符获知哪些是可调节项,然后再与UVC设备交互获知控制范围信息。