UVC规范(USB摄像头)
+ -

UVC 相机终端控制请求

2020-10-02 3712 0

相机终端控制有20种,分别如下:

ControlSelector Value
CT_CONTROL_UNDEFINED 0x00
CT_SCANNING_MODE_CONTROL 0x01
CT_AE_MODE_CONTROL 0x02
CT_AE_PRIORITY_CONTROL 0x03
CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x04
CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x05
CT_FOCUS_ABSOLUTE_CONTROL 0x06
CT_FOCUS_RELATIVE_CONTROL 0x07
CT_FOCUS_AUTO_CONTROL 0x08
CT_IRIS_ABSOLUTE_CONTROL 0x09
CT_IRIS_RELATIVE_CONTROL 0x0A
CT_ZOOM_ABSOLUTE_CONTROL 0x0B
CT_ZOOM_RELATIVE_CONTROL 0x0C
CT_PANTILT_ABSOLUTE_CONTROL 0x0D
CT_PANTILT_RELATIVE_CONTROL 0x0E
CT_ROLL_ABSOLUTE_CONTROL 0x0F
CT_ROLL_RELATIVE_CONTROL 0x10
CT_PRIVACY_CONTROL 0x11
CT_FOCUS_SIMPLE_CONTROL 0x12
CT_WINDOW_CONTROL 0x13
CT_REGION_OF_INTEREST_CONTROL 0x14

1.扫描模式控制

使用CT_SCANNING_MODE_CONTROL进行控制相机传感器的扫描模式。值为0表示启用了隔行扫描模式,值为1表示启用了逐行扫描或非隔行扫描模式。

bmRequestType bRequest wValue wIndex wLength Data
00100001 SET_CUR 控制选择子 相机ID 1 bScanningMode
10100001 GET_CUR
GET_INFO
控制选择子 相机ID 1 bScanningMode

bScanningMode寻址扫描模式控制的属性设置:

  • 0:交错(Interlaced)
  • 1: 进步的(Progressive)

2.自动曝光模式控制

使用CT_AE_MODE_CONTROL进行自动曝光模式控制

bmRequestType bRequest wValue wIndex wLength Data
00100001 SET_CUR 控制选择子 相机ID 1 bAutoExposureMode
10100001 GET_CUR, GET_RES, GET_INFO, GET_DEF 控制选择子 相机ID 1 bAutoExposureMode

bAutoExposureMode寻址自动曝光模式控制的属性设置:

  • D0:手动模式-手动曝光时间,手动光圈
  • D1:自动模式-自动曝光时间,自动光圈
  • D2:快门优先模式-手动曝光时间,自动光圈
  • D3:光圈优先模式-自动曝光时间,手动光圈
  • D4..D7:保留,设置为零。

支持该功能的前提是支持自动曝光时间和虹膜的支持。原文是:The Auto-Exposure Mode Control determines whether the device will provide automatic adjustment of the Exposure Time and Iris controls. Attempts to programmatically set the autoadjusted controls shall result in a protocol STALL and an error code of bRequestErrorCode =“Wrong state”.

3.自动曝光优先级控制

使用CT_AE_PRIORITY_CONTROL进行自动曝光优先控制。

bmRequestType bRequest wValue wIndex wLength Data
00100001 SET_CUR 控制选择子 相机ID 5 wProfile
10100001 GET_CUR, GET_DEF, GET_INFO, GET_LEN 控制选择子 相机ID 5 数据块

数据块包括wProfile,wConstrainedToolset和bmSettings.

wProfile: 1字节,指示当前格式的配置文件和适用的约束。此字段用于支持多个配置文件的视频格式。例如,对于H.264:

  • 0x4240:约束基线配置文件
  • 0x4200:基线配置文件
  • 0x4D00:主配置文件
  • 0x640C:受约束的高配置文件
  • 0x6400:高调
  • 0x5304:可伸缩的受限基线概要文件
  • 0x5300:可伸缩基线配置文件
  • 0x5604:可扩展的受限高配置文件
  • 0x5600:可扩展的高配置文件
  • 0x7600:多视图高调
  • 0x8000:立体声高调

wConstrainedToolset:2字节,值为0.
bmSettings:1字节,此位图启用视频格式描述符的bmCapabilities字段报告的功能。

4.曝光时间(绝对)控制

控制选择子 CT_EXPOSURE_TIME_ABSOLUTE_CONTROL
强制性请求 GET_CUR, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF
可选的请求 SET_CUR
长度 4
偏移 数据 长度 描述
0 dwExposureTimeAbsolute 4 数字 寻址曝光时间(绝对)控制的属性设置:
0:保留
1: 0.0001秒

100000:10秒

5.曝光时间(相对)控制

控制选择子 CT_EXPOSURE_TIME_RELATIVE_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_INFO
长度 1
偏移 数据 长度 描述
0 bExposureTimeRelative 1 无符号数字 寻址曝光时间(相对)控制的属性设置:
0:默认值
1: 递增1步
0xFF:递减1步

6.焦点(绝对)控制

控制选择子 CT_FOCUS_ABSOLUTE_CONTROL
强制性请求 GET_CUR, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF
可选的请求 SET_CUR
长度 2
偏移 数据 长度 描述
0 wFocusAbsolute 2 数字 寻址焦点(绝对)控制的属性设置。

7.焦点(相对)控制

控制选择子 CT_FOCUS_RELATIVE_CONTRO
强制性请求 SET_CUR, GET_CUR, GET_INFO, GET_DEF, GET_MIN, GET_MAX, GET_RES
长度 2
偏移 数据 长度 描述
0 bFocusRelative 1 有符号数字 0:停止
1:近方向聚焦
0xff:远方向聚焦
1 bFocusRelative 1 数字 控制改变速度

感谢老吕,对原错误内容的指出,现已修改。

8.聚焦,自动控制

控制选择子 CT_FOCUS_AUTO_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_INFO, GET_DEF
长度 1
偏移 数据 长度 描述
0 bFocusAuto 1 布尔 寻址焦点自动控制的属性设置。

9.虹膜(绝对)控制

控制选择子 CT_IRIS_ABSOLUTE_CONTROL
强制性请求 GET_CUR, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF
可选的请求 SET_CUR
长度 2
偏移 数据 长度 描述
0 wIrisAbsolute 2 数字 寻址虹膜(绝对)控制的属性设置。

10.虹膜(相对)控制

控制选择子 CT_IRIS_RELATIVE_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_INFO
长度 1
偏移 数据 长度 描述
0 bIrisRelative 1 数字 相对虹膜控制属性的设置:
0:默认值
1: 虹膜1步打开。
0xFF:虹膜1步关闭。

11.缩放(绝对)控制

控制选择子 CT_ZOOM_ABSOLUTE_CONTROL
强制性请求 GET_CUR, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF
先择性请求 SET_CUR
长度 2
偏移 数据 长度 描述
0 wObjectiveFocalLength 2 数字 Zcur值

12.缩放(相对)控制

控制选择子 CT_ZOOM_RELATIVE_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_INFO, GET_DEF, GET_MIN, GET_MAX, GET_RES
长度 3
偏移 数据 长度 描述
0 bZoom 1 无符号数字 寻址缩放控制的属性设置:
0:停止
1: 移动到远摄方向
0xFF:向广角方向移动
1 bZoom 1 无符号数字 寻址缩放控制的属性设置:
0:数码变焦关闭
1:0:数码变焦打开
2 bSpeed 1 数字 控制改变的速度

13.PanTilt(绝对)控制

控制选择子 CT_PANTILT_ABSOLUTE_CONTROL
强制性请求 GET_CUR, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF
先择性请求 SET_CUR
长度 8
偏移 数据 长度 描述
0 dwPanAbsolute 4 有符号数字 寻址Pan(绝对)控制的属性设置
4 dwTiltAbsolute 4 有符号数字 寻址倾斜(绝对)控制的属性设置

14.PanTilt(相对)控制

控制选择子 CT_PANTILT_RELATIVE_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_INFO, GET_DEF, GET_MIN, GET_MAX, GET_RES
长度 4
偏移 数据 长度 描述
0 bPanRelative 1 无符号数字 寻址Pan(相对)控制的属性设置:
停止
1: 顺时针方向移动
0xFF:逆时针方向移动
1 bPanSpeed 1 数字 盘运动速度
2 bTiltRelative 1 无符号数字 寻址倾斜(相对)控制的属性设置:
0:停止
1: 把成像平面指向上
0xFF:向下指向成像平面
3 bTiltSpeed 1 数字 倾斜运动速度

15.滚动(绝对)控制

控制选择子 CT_ROLL_ABSOLUTE_CONTROL
强制性请求 GET_CUR, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF
可选请求 SET_CUR
长度 2
偏移 数据 长度 描述
0 wRollAbsolute 2 无符号数字 寻址滚动(绝对)控制的属性设置

16.滚动(相对)控制

控制选择子 CT_ROLL_RELATIVE_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_INFO, GET_DEF, GET_MIN,GET_MAX, GET_RES
长度 2
偏移 数据 长度 描述
0 bRollRelative 1 寻址滚动(相对)控制的属性设置:
0:停止
1: 顺时针旋转
0xFF:逆时针旋转移动
0 bSpeed 1 数字 滚动运动速度

17.隐私控制

控制选择子 CT_PRIVACY_CONTROL
强制性请求 GET_CUR, GET_INFO
可选的请求 SET_CUR
长度 1
偏移 数据 长度 描述
0 bPrivacy 1 布尔 寻址隐私控制的属性设置:
0:打开
1: 关闭

19.数字窗口控制

控制选择子 CT_DIGITAL_WINDOW_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_MIN, GET_MAX, GET_DEF
长度 12
偏移 数据 长度 描述
0 wWindow_Top 2 数字 全局传感器坐标中的顶部坐标(像素)
2 wWindow_Left 2 数字 全局传感器坐标中的左坐标(像素)
4 wWindow_Bottom 2 数字 全局传感器坐标中的底坐标(像素)
6 wWindow_Right 2 数字 全局传感器坐标中的右坐标(像素)
8 wNumSteps 2 数字 从当前窗口移动到上面矩形指定的窗口的步数。
10 bmNumStepsUnits 2 数字 上面指定的步数单位。
D0:视频帧
D1:毫秒
预留:D15-D2

20.数字感兴趣区域(ROI)控制

控制选择子 CT_REGION_OF_INTEREST_CONTROL
强制性请求 SET_CUR, GET_CUR, GET_MIN, GET_MAX, GET_DEF
长度 10
偏移 数据 长度 描述
0 wROI_Top 2 数字 全局传感器坐标中的顶部坐标(像素)
2 wROI_Left 2 数字 全局传感器坐标中的左部坐标(像素)
4 wROI_Bottom 2 数字 全局传感器坐标中的底部坐标(像素)
6 wROI_Right 2 数字 全局传感器坐标中的右部坐标(像素)
8 bmAutoControls 2 位图 D0:自动曝光
D1:自动光圈
D2:自动白平衡
D3:自动对焦
D4:自动面部检测
D5:自动检测和跟踪
D6:图像稳定
D7:更高质量
D8–D15:保留,设为零。
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

打开UVC摄像头(特定类请求)数据分析
通过上节可以知道,设备支持4种的视频格式,且每种格式如下:MPJPG数据格式bFormatIndexbFrameIndex分辩率及及帧率11640x480x(30,15,10)121280x720x(30,15,10)131920x1080x(30,15......
UVC 相机终端描述符
相机端点描述符使用bTerminalID来标识其惟一的ID,所有的请求必须使用此ID。wTerminalType用来描述相关的物理实体的信息。typedef struct _CAMERA_TERMINAL_DESCRIPTOR UINT8 bLength; UINT8 bDescr......
UVC 选择单元控制请求
选择单元控制描述符设置或读取视频功能的选择器单元内的选择器控件的属性。选择器单元表示视频流源选择器。CUR、MIN和MAX属性的有效范围是从1到选择器单元的输入管脚数。这个值可以在选择器单元描述符的bNrInPins字段中找到。RES属性只能有一个值。控制选择子SU_INPUT_SELECT_CON......
UVC 视频流接口控制请求
视频流接口控制请求用于设置或读取视频函数的特定视频流接口内接口控制的属性。bmRequestType(1)bRequest(1)wValue (2)wIndex(2)wLength(2)Data(26~34~48)00100001SET_CUR选择器CS<<......
Windows对红外相机摄像头的支持
从Windows10的1607版本开始,USB视频类(UVC)驱动程序支持产生红外(IR)流的摄像头。红外摄像头相机捕捉场景的亮度值,并通过USB以未压缩格式或压缩格式传输帧。这些相机及其流通过媒体捕获管道(pipeline)导出给应用程序。红外UVC摄像头相机帧类型红外UVC摄像头相机支持的格......
UVC 输入终端描述符
输入终端描述符用于向主机报告视频数据输入终端的相关信息。输入终端描述符使用bTerminalID描述输入终端的ID,且这个ID是惟一的。输入终端描述符位于视频控制接口中。输入终端描述符结构体定义如下:// Input Terminal Descriptortypedef struct _USB......
LINUX&UVC输出终端描述符分析
UVC输出终端描述符用于描述UVC视频流的输出端。关于UVC输出终端描述符各字段的分析详见:https://www.usbzh.com/article/detail-10.htmlUVC输出终端描述符比较简单,没有什么特别的字段。惟一要关注的就是bSourceID。bSourceID:此终端所连接......
UAC 特性单元控制请求
特性单元控制请求对应于音频特性单元描述符。特性单元控制请求支持的选择子Control SelectorValueFU_CONTROL_UNDEFINED0x00MUTE_CONTROL0x01VOLUME_CONTROL0x02BASS_CONTROL0x03MID_CONTROL0x04TREBL......
UVC 扩展单元控制请求
扩展单元控制请求设置或读取扩展单元内的视频控件.bmRequestTypebRequestwValue(2)wIndexwLengthData00100001SET_CUR选择子扩展单元ID参数长度参数块bmRequestTypebRequestwValue(2)wIndexwLengthData1......
UVC 输出终端描述符
输出终端描述符用于向主机报告视频数据输出终端的相关信息。输出终端描述符使用bTerminalID描述输出端点的ID,且这个ID是惟一的。输出终端描述符位于视频控制接口中。输出终端描述符结构体定义如下:// Output Terminal Descriptortypedef struct _US......
UVC 处理单元控制请求
处理单元控制请求用于设置或读取视频函数的处理单元内的视频控件的属性。Control SelectorValuePU_CONTROL_UNDEFINED0x00PU_BACKLIGHT_COMPENSATION_CONTROL0x01PU_BRIGHTNESS_CO......
UAC 输入终端描述符
UAC输入终端描述符全称:Input Terminal Descriptor,简称ITD.输入终端描述符用于向主机提供输入终端的相关信息,这个概念和UVC摄像头的输入终端描述符类似。UAC输入终端描述符定义-UAC1.0typedef struct _USB_AC_IT_DESCRIPTOR{......
STM32F103 UVC设备源代码(模拟相机
1.STM32F103 UVC设备源代码(模拟相机)https://pan.baidu.com/s/1treoRRxQndFoE0K8oRFndg 提取码:0jt3其它资料:1.各种工具1.USB协议分析工具https://pan.baidu.com/s/1DeXqRWsM7BOYTdrmIE8KB......
UAC 音频流端点控制请求
音频流端点控制支持如下选择子:ControlSelector ValueEP_CONTROL_UNDEFINED0x00SAMPLING_FREQ_CONTROL0x01PITCH_CONTROL0x02SAMPLING_FREQ_CONTROL采样......
UVC 相机终端控制请求
相机终端控制有20种,分别如下:ControlSelectorValueCT_CONTROL_UNDEFINED0x00CT_SCANNING_MODE_CONTROL0x01CT_AE_MODE_CONTROL0x02CT_AE_PRIORITY_CON......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!