草庐IT

USB 的UVC协议分析

UVC(USBVideoClass)是USB的一种协议,可以直接传输视频。之前在STM32和GD32上做过UVC的驱动,先大致介绍下USB的枚举USB枚举过程主要分为:1)USB主机检测到USB设备插入后,就会先对设备复位。2)USB设备在总线复位后其地址为0,这样主机就可以通过地址0和那些刚插入的设备通信。USB主机往地址为0的设备的端点0发送获取设备描述符的请求(控制传输的建立过程)。设备收到该请求后,会按照主机请求的参数,在数据过程将设备描述符返回给主机。3)主机在成功获取到一个数据包的设备描述符并确认没有错误后,就返回一个0长度的确认数据包(状态过程)给设备,从而进入到接下来的设置地址

USB 的UVC协议分析

UVC(USBVideoClass)是USB的一种协议,可以直接传输视频。之前在STM32和GD32上做过UVC的驱动,先大致介绍下USB的枚举USB枚举过程主要分为:1)USB主机检测到USB设备插入后,就会先对设备复位。2)USB设备在总线复位后其地址为0,这样主机就可以通过地址0和那些刚插入的设备通信。USB主机往地址为0的设备的端点0发送获取设备描述符的请求(控制传输的建立过程)。设备收到该请求后,会按照主机请求的参数,在数据过程将设备描述符返回给主机。3)主机在成功获取到一个数据包的设备描述符并确认没有错误后,就返回一个0长度的确认数据包(状态过程)给设备,从而进入到接下来的设置地址

UVCAndroid,安卓UVC相机通用开发库(支持多预览和多摄像头)

文章目录简介主要功能如何使用1.添加依赖到本地工程2.获取权限3.初始化UVC业务类,设置UVC摄像头状态回调,设置TextureView或者SurfaceView的Surface监听回调4.释放UVC业务类(包含取消UVC摄像头状态回调,停止Camera预览,关闭Camera等操作)5.图片抓拍6.录制视频7.改变摄像机预览参数(包括帧格式、宽度、高度、FPS)8.调整对比度、亮度、色调、饱和度、白平衡等等一些相机控制参数9.旋转摄像头90度、180度、270度,设置摄像头预览镜像10.设置多个预览11.设置多个摄像头(USB2.0受带宽所限,有可能无法同时连接多个摄像头)其他API下载演示

UVCAndroid,安卓UVC相机通用开发库(支持多预览和多摄像头)

文章目录简介主要功能如何使用1.添加依赖到本地工程2.获取权限3.初始化UVC业务类,设置UVC摄像头状态回调,设置TextureView或者SurfaceView的Surface监听回调4.释放UVC业务类(包含取消UVC摄像头状态回调,停止Camera预览,关闭Camera等操作)5.图片抓拍6.录制视频7.改变摄像机预览参数(包括帧格式、宽度、高度、FPS)8.调整对比度、亮度、色调、饱和度、白平衡等等一些相机控制参数9.旋转摄像头90度、180度、270度,设置摄像头预览镜像10.设置多个预览11.设置多个摄像头(USB2.0受带宽所限,有可能无法同时连接多个摄像头)其他API下载演示

C#调用基于UVC协议的摄像头扩展接口

最近公司增加了一些UVC协议的摄像头接口,下面是一些资料整理(感谢项目组内志宇同学的耐心指导)摄像头插件为AForge,所以IKsControl接口对象AForge.FilterInfo。(IKsControl接口:提供了控制KS过滤器或KS引脚的用户模式方法。参考:https://learn.microsoft.com/en-us/windows-hardware/drivers/stream/ks-h-typedef-reference)//////UVC协议扩展接口///publicclassVc01UvcExtension{//////指定标识内核流方法集的GUID。///privat

C#调用基于UVC协议的摄像头扩展接口

最近公司增加了一些UVC协议的摄像头接口,下面是一些资料整理(感谢项目组内志宇同学的耐心指导)摄像头插件为AForge,所以IKsControl接口对象AForge.FilterInfo。(IKsControl接口:提供了控制KS过滤器或KS引脚的用户模式方法。参考:https://learn.microsoft.com/en-us/windows-hardware/drivers/stream/ks-h-typedef-reference)//////UVC协议扩展接口///publicclassVc01UvcExtension{//////指定标识内核流方法集的GUID。///privat