UVC摄像头百科
+ -

UVC摄像头VS_PROBE_CONTROL和VS_COMMIT_CONTROL对应的数据结构定义

2021-08-30 1234 0

UVC 视频流接口控制请求 http://www.usbzh.com/article/detail-45.html 需要使用一些数据字段进行通讯,如UVC1.0是26个字节的长度,UVC1.1是34字节的长度,UVC1.5是48字节的长度。
这里我们定义一个通用长48字节结构体,对应VS_PROBE_CONTROL和VS_COMMIT_CONTROL进行数据通讯的结构体。

注意:这个结构体需要1字节对齐

// VideoStreaming Requests
typedef struct  _VideoControl
{
#pragma pack(1)
   UINT16 bmHint;                      
   UINT8  bFormatIndex;                
   UINT8  bFrameIndex;                 
   UINT32 dwFrameInterval;             
   UINT16 wKeyFrameRate;               
   UINT16 wPFrameRate;                 
   UINT16 wCompQuality;                
   UINT16 wCompWindowSize;             
   UINT16 wDelay;                      
   UINT32 dwMaxVideoFrameSize;         
   UINT32 dwMaxPayloadTransferSize;    //UVC1.0 分隔符
   UINT32 dwClockFrequency;            
   UINT8  bmFramingInfo;
   UINT8  bPreferedVersion;
   UINT8  bMinVersion;
   UINT8  bMaxVersion;                  UVC1.1 分隔符
   UINT8  bUsage;                     
   UINT8  bBitDepthLuma;
   UINT8  bmSettings;
   UINT8  bMaxNumberOfRefFramesPlus1;
   UINT16 bmRateControlModes;
   UINT16 bmLayoutPerStream[4];         //UVC1.5 分隔符
#pragma pack()
} VideoControl;
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摄像头批量传输的StreamOn和StreamOff
在UVC规范中,UVC摄像头视频数据的传输方式支持两种,分别为批量传输和同步传输。UVC摄像头数据传输的格式按负载数据头的方式按帧进行打包传输。根据USB规范可知,同步传输方式是只要带中带有同步端点的接口,系统会定时从设备中读取数据,无论设备中是否有数据。而如要要停止数据的传输,只需要选中不带有同步......
UVC摄像头VS_PROBE_CONTROLVS_COMMIT_CONTROL对应的数据结构定义
UVC 视频流接口控制请求 http://www.usbzh.com/article/detail-45.html 需要使用一些数据字段进行通讯,如UVC1.0是26个字节的长度,UVC1.1是34字节的长度,UVC1.5是48字节的长度。这里我们定义一个通用长48字节结构体,对应VS_PROBE_......
USB中文网出品-UVC视频格式协商协议分析工具
有没有对USB摄像头在打开时数据协商时的UVC视频流接口控制请求的几十个字节分析有时有点郁闷,手动分析又麻烦,写个工具感觉又划不来。有时没办法为,为了定位问题所在,还得手动分析,但这几十个字节在分析时还得不停地查文档。我们知道UVC随着版本的不同,其VS_PROBE_CONTROL和VS_COM......
LINUX&UVC视频格式协商VS_PROBE_CONTROLL
UVC视频的协商其实走的是VS_PROBE_CONTROLL请求,使用该请求可以获取一个默认的视频格式、分辨率。当然,如果用户指定非默认的,会也使用VS_PROBE_CONTROLL请求来验证是否存在。无论是默认的还是新指定的,最终协商完成后,都会使用VS_COMMIT_CONTROL请求最后进行提......
LINUX&UVC驱动开启视频流VIDIOC_STREAMON
实现不想看那个视频流队列相关的东西,但有时又很好奇。就看了一个一知半解,只是梳理了一下代码流程,至于细节,鬼才去看。最终,其实想分析的是视频打开,只为只有这里有与UVC规范相关的请求。使用VIDIOC_STREAMON请求来打开视频流。 // 开始数据流 type = V4L2_BU......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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