UVC 特定类请求概述
2020-10-29
4337
1
UVC特定类请求的功能
UVC特定类请求的主要功能用于控制UVC摄像头,实现对UVC摄像头的打开,关闭及摄像头参数的控制。
通过对UVC规范的学习,使用我们可详细的了解UVC是怎样通过这些特定类请求实现对UVC摄像头的控制。
UVC特定类请求的分类
大多数特定于类的请求用于设置和获取与视频相关的控制。
这些控制分为两大类:
- 一类是操作与视频功能相关的控件的控件,如亮度、曝光、选择器位置等;
- 一类是影响视频数据端点上的数据传输的控件,如当前帧速率。
这些特定类请求包括:
- SET_CUR 设置性
- GET_CUR 获取当前属性
- GET_MIN 获取最小设置属性
- GET_MAX 获取最大设置属性
- GET_RES 获取分辨率属性
- GET_LEN 获取数据长度属性
- GET_INFO 获取设备支持的特定类请求属性
- GET_DEF 获取默认属性
视频控制请求
视频功能的控制是通过操作嵌入在视频功能的单元和终端中的各个控件的属性来执行的。特定于类的VideoControl接口描述符包含单元和终端描述符的集合,每个描述符指示每个实体中存在哪些控件。视频控制请求总是指向视频功能的单个视频控制接口。请求包含足够的信息(单元ID、控制选择器),视频功能可以正确地路由特定请求。
视频流请求
视频流接口的类特定行为的控制是通过对接口控件的操作来执行的。视频流请求被定向到控件所在的接口。
必要性
这些请求可以是强制的,也可以是可选的。
如果SET_CUR是可选的,则其存在通过GET_INFO确定。
如果视频函数不支持某个请求,则必须在向该函数发出该请求时通过暂停控制管道来指示。
Windows中特定类请求
URB_FUNCTION_CLASS_INTERFACE ,CLASS信息其实对应的windows的USB请求的 URB_FUNCTION_CLASS_INTERFACE 命令,UVC采用这个命令来发送各种命令给摄像头硬件控制接口或者视频流接口,达到控制摄像头行为的目的。
有些命令是发给控制接口,有些命令是发给视频接口的,有些是两个接口都发送。
不过为了简单,就只实现stream interface 的四个命令就足够让摄像头运行了( GET_MIN, GET_MAX, GET_CUR, SET_CUR)。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936