精华内容
下载资源
问答
  • USB摄像头的UVC协议如今的主流操作系统(如Windows XP SP2 and later, Linux 2.4.6 and later, MacOS 10.5 and later)都已提供UVC设备驱动,因此符合UVC规格的硬件设备在不需要安装任何的驱动程序下即可在主机中正常...

    USB摄像头的UVC协议

    如今的主流操作系统(如Windows XP SP2 and later, Linux 2.4.6 and later, MacOS 10.5 and later)都已提供UVC设备驱动,因此符合UVC规格的硬件设备在不需要安装任何的驱动程序下即可在主机中正常使用。使用UVC技术的包括摄像头、数码相机、类比影像转换器、电视棒及静态影像相机等设备。

    UVC是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一。它是一个开放的标准,拥有维护良好的驱动,它属于内核代码的一部分。插入摄像头后就可以工作,而无须编译或安装额外的驱动

    如今的主流操作系统(如Windows XP SP2 and later, Linux 2.4.6 and later, MacOS 10.5 and later)都已提供UVC设备驱动,因此符合UVC规格的硬件设备在不需要安装任何的驱动程序下即可在主机中正常使用。使用UVC技术的包括摄像头、数码相机、类比影像转换器、电视棒及静态影像相机等设备。

    因为是usb标准的一部分,所以核心文档都是到usb标准的老巢里去找最合适了

    展开全文
  • UVC协议技术文档

    2018-09-04 15:49:13
    这是UVC协议论文,这些论文很好解释了什么是UVC协议,通过通读这些论文可以坐USB开发
  • UVC协议以及相关资料

    2019-06-27 09:08:01
    UVC协议以及相关资料,包括不同版本USB_Video_Class_1.1USB_Video_Class_1.5
  • uvc协议相关

    2019-11-26 21:20:24
    记录点uvc协议相关... uvc: USB Video Class 如 usb webcam, digital camcorders, analog video converts, analog and digital televisions tuners等等。 常见的就usb摄像头/webcam。 * 按功能/接口分, 通常一个...

    记录点uvc协议相关...

    uvc: USB Video Class

    如 usb webcam, digital camcorders, analog video converts, analog and digital televisions tuners等等。

    常见的就usb摄像头/webcam。


    * 按功能/接口分,  通常一个uvc设备, 必定有包含

    1个VideoControl(VC) Interface

    1~数个VideoStreaming Interfaces

     

    Video Control Interface 通过访问设备控制模块进行功能控制, 如亮度, 白平衡, 分辨率, 码率等等。对应usb控制端点。

    Video Streaming Interfaces 用于数据传输通道。对应usb isoc端点(最新uvc协议支持bulk传输。)

     


    * 内部实现机制

    按功能划分, 内部模块划分为两种模块。

    1. Units, 单元

    2. Terminals, 终端

    有一定规范:

    如一个单元可以有多个Input pins, 但只能有一个output pins。

    又如单元运行fan-out(扇出), 而不允许fan-in(扇入)。

     

    不管怎样, 设计中常见的单元和终端如下:

    - Input Terminal, 输入终端

    - Output Terminal 输出终端

    - Selector Unit 选择单元

    - Processing Unit 处理单元

    - Encoding Unit 编码单元

    - Extension Unit 扩展单元

     

    其他特殊的如

    - Media Transport Terminal

    - Camera Terminal 

     


    后续补充.

    UVC 参考文档

    https://www.cnblogs.com/zongzi10010/p/10764116.html

     

     

     

     

     

     

    展开全文
  • UVC协议学习前奏

    千次阅读 2018-06-27 20:33:57
    根据一些资料对UVC规范进行了一些了解,加上进一步接触UVC协议才发现有一些新的东西,将新的理解记录下来,以免忘记。1、关于UVC协议所需要知道的。 UVC,全称为:USB video(device) class。 UVC是微软与另外几家...
        根据一些资料对UVC规范进行了一些了解,加上进一步接触UVC协议才发现有一些新的东西,将新的理解记录下来,以免忘记。


    1、关于UVC协议所需要知道的。
        UVC,全称为:USB  video(device) class。
        UVC是微软与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一。
        USB协议中,除了通用的软硬件电气接口规范等,还包含了各种各样的Class协议,用来为不同的功能定义各自的标准接口和具体的总线上的数据交互格式和内容。这些Class协议的数量非常多,最常见的比如支持U盘功能的Mass Storage Class,以及通用的数据交换协议:CDC class。此外还包括Video、Audio Class, Print Class等等。正是由于这些Class协议,大大促进了USB设备的普及,比如说各个厂商生产的U盘都能通过操作系统自带的驱动程序来使用。
        所以说UVC仅仅只是USB规范协议中设备类规范的其中一种,是用作USB接口的视频设备的一个统一的数据交换规范。使用 UVC 的好处 USB 在 Video这块也成为一项标准了之后,硬件在各个程序之间彼此运行会更加顺利,而且也省略了驱动程序安装这一环节,操作系统只要是 Windows XP SP2 之后的版本都可以支持 UVC,Linux系统自2.4以后的内核都支持了大量的设备驱动,其中支持UVC设备。

    2、文档列表
    关于UVC相关文档可以去USB官方网站下载:http://www.usb.org/developers/docs/devclass_docs/
    UVC相关文档主要有Video class 1.1 document和Video class 1.5 document,1.5为最新的规范文档在1.1上内容有所补充。
    以Video class 1.5 document为例,文档压缩包内有以下文件:
       UVC 1.5 Class specification.pdf
       USB_Video_Example 1.5.pdf
       USB_Video_FAQ_1.5.pdf
       USB_Video_Payload_DV_15.pdf
       USB_Video_Payload_Frame_Based_1.5.pdf
       USB_Video_Payload_H264_1.5.pdf
       USB_Video_Payload_MPEG-2_TS_1.5.pdf
       USB_Video_Payload_Uncompressed_1.5.pdf
       USB_Video_Payload_VP8_1.5.pdf
       USB_Video_Payload_Stream_Based_1.5.pdf
       USB_Video_Transport_1.5.pdf
       USB_Video_Payload_MJPEG_1.5.pdf
       USB_Video_Temporal_Encoder_Examples_1.5.pdf

    主要看

     UVC 1.5 Class specification.pdf:主要描述整个规范的结构与构成
     USB_Video_Example 1.5.pdf:主要对描述符与请求做了介绍
     USB_Video_Transport_1.5.pdf:主要讲述数据传输的四种类型

     USB_Video_Payload_XXX选取其中一种看即可。


    展开全文
  • 针对ROS系统平台的接口局限性,...视频采集程序的设计采用针对UVC协议的V4L2框架,有效地利用了ROS系统提供的应用编程接口。系统应用结果表明,本文提出的ROS视频监控方案具有良好的实用性和方便性,视频传输效果良好。
  • UVC协议学习1--初步了解标准协议规范(UVC1.5为例)

    万次阅读 多人点赞 2018-06-28 15:37:36
    其中UVC官方协议文档 UVC 1.5 Class specification是对整个UVC协议的框架做了规范,USB_Video_Example则规定了描述符等的数据结构和相关的一些其他相关规定。首先我先对这两个规范对照一些资料进行了解再逐步学习...
    前言
        UVC是属于USB行业规范中的USB设备类规范,用于USB接口的视频设备的一个统一的数据交换规范。其中UVC官方协议文档 UVC 1.5 Class specification是对整个UVC协议的框架做了规范,USB_Video_Example则规定了描述符等的数据结构和相关的一些其他相关规定。首先我先对这两个规范对照一些资料进行了解再逐步学习其他的补充文档。

    1、UVC概述
        在UVC规范中明确要求,具有实际UVC功能的视频设备只要需要两种接口:一种为VC Interface(视频控制接口),VS Interface(视频流接口)。其中VC接口用于对UVC设备进行配置操控,而VS接口则用于负责传输视频数据流,两者相互配合完成UVC设备功能。

    2、UVC拓扑结构
        UVC的将设备在拓扑结构上抽象成为了几个主要的硬件功能模块,有以下几种:
    • 输入端点(Input Terminal)
    • 输出端点(Output Terminal)
    • camera端点(Camera Terminal)
    • 选择单元(Selector Unit)
    • 处理单元(Processing Unit)
    • 拓展单元(Extension Unit)

    在USB_Video_Example 1.5中以一个网络摄像头设备为例展现其拓扑结构的示例图如下:
        从Sensor和另一个复合视频设备得到的数据流由IT和CT输入,经过SU选择送到PU处理,再由OT绑定到指定的USB端点。最后由USB端点与主机交互数据发送到host。在实际的UVC设备设备中,可能没有上图中的一些功能某块,可能只有其中一些模块来完成的。
        同时从上面的拓扑结构图可以看出,左半部分框架组成了UVC中的VC接口部分,右半部分框架组成了VS接口部分。

    3、概念补充
    3.1 Terminal(端点
        Terminal是指整个UVC功能的入口和出口,逻辑意义上讲Terminal只有一个出口或者入口,它要么代表整个UVC功能的数据输入点,要么代表数据在流经UVC功能内部的各Unit功能单元后的最终流入点。
    1)IT(输入端点)
        作为数据流入video function的接收器,功能是作为已经被提取出来的数据的数据源,说白了就是UVC功能的数据源头。
    输入端点一般在拓扑图中用下图表示:
                         
    2)、OT(输出端点)
        作为Video Function视频信息流出的出口,功能是作为输出数据的接收器。OT只有一个输入pin,处理流程最后一个单元会将它的out pin与OT的in pin连接在一起。
        输出端点一般在拓扑图中用下图表示:
    3)、CT(Camera端点)
        CT代表硬件上的数据采集源(sensor),用于控制视频流传输中的设备特性的。它规定支持以下特性控制
    • 扫描模式(逐行扫描或隔行扫描)
    • 自动曝光模式
    • 自动曝光优先级
    • 曝光时间
    • 聚焦
    • 自动聚焦
    • 可变光圈
    • 缩放/变焦
    • 移动镜头
    • 滚动
    • 倾斜
    • 数字窗口
    • 感兴趣区域
    3.2 Unit(单元)
        Unit可以理解为构建出UVC设备功能的各功能单元,多个Unit按照一定的规则连接后就是一个完整的UVC功能设备。Spec规定Unit有一个或多个入口,一个出口;也就是说可以有多个Unit或Terminal作为一个Unit的输入源头,而数据在流经Unit后仅能作为其他Unit或Terminal的一个输入源头。
    规范1.5中定义了四种Unit:Selector Unit (SU),Processing Unit (PU),Extension Unit (EU),Extension XU)。
    1)、SU(选择器单元)
        SU单元用来控制图像数据采集源的切换和选择。例如上面相机拓扑图有两个数据输入源,这时需要SU来进行切换和选择。
    选择器单元一般在拓扑图中用下图表示:
    2)、PU(处理单元)
    PU代表对采集所得图像数据进行加工的单元,负责对采集到的图像特性进行调整设置,主要有以下一些特性:
    Usr Controls
    • Brightness(背光)
    • Contrast(对比度)
    • Hue(色度)
    • Saturatio(饱和度)
    • Sharpness(锐度)
    • Gamma(伽马)
    • Digital Multiplier (Zoom)(数字放大)
    Auto Controls
    • White Balance Temperature(白平衡色温)
    • White Balance Component(白平衡组件)
    • Blcklight Compensation(背光补偿)
    Other
    • Gain(增益)
    • Power Line Frequency(电源线平率)
    • Analog Video Standard(模拟视频标准
    • Analog Video Lock Status(模拟视频死锁状态)
    处理单元一般在拓扑图中用下图表示:
    3)、EU(编码单元)
        EU用于对采集所得的数据进行个性化处理的功能。
    编码单元一般在拓扑图中用下图表示:
    4)、XU(扩展单元)
        XU是为了特定供应商添加规范而提供的单元。
    扩展单元一般在拓扑图中用下图表示:

    3.3、Video Control Interface(视频控制接口)
        VC主要用于控制UVC功能中的Units和Terminals,通过对不同的Units和Terminals发下不同的指令,从而影响UVC设备的当前工作状态;Host端发下的所有对UVC设备的操纵控制命令都是经由此Interface完成的,这个以上面拓扑图所表示的设备为例,该设备包含了一个Processing Unit、一个Input Terminal、Output Terminal和Selector Unit,VC Interface需要对它们下发不同的命令,为此VC Interface需要包含一个控制端点(强制性要求),它使用的就是每个USB设备中默认的端点0。另外一个Interrupt端点则是可选的,用来返回或通知Host端当前的UVC设备内部状态有变化。大部分情况下,一个UVC设备的VC Interface不需一定要实现此端点,但一旦UVC设备需要实现某些特定feature时,Spec会强制性要求实现该interrupt端点。

    3.4、Video Streaming Interface(视频流接口)
        VS Interface则专注与负责传输UVC设备的Video数据到Host端。若一UVC设备支持n种格式的Video数据,则它需要实现n个VS Interface,每个Interface对应一种专门的数据格式;

    3.5、Video Interface Collection(视频接口集合)&&Interface Association Description(视频关联描述符)
    (翻译Operational Model部分段落) 
    英:
        A device can support multiple configurations. Within each configuration can be multiple interfaces, each possibly having alternate settings. These interfaces can pertain to different functions that co-reside in the same composite device. Several independent video functions can exist in the same device. Interfaces that belong to the same video function are grouped into a Video Interface Collection described by an Interface Association Descriptor. If the device contains multiple independent video functions, there must be multiple Video Interface
    Collections (and hence multiple Interface Association Descriptors), each providing full access to their associated video function.
        As an example of a composite device, consider a desktop camera equipped with a built in microphone. Such a device could be configured to have one interface collection dealing with configuration and control of the audio function, while another interface collection deals with its video aspects. One of those, the VideoControl interface, is used to control the inner workings of the function, whereas the other, the VideoStreaming interface, handles the data traffic received from the camera video subsystem.
        Video Interface Collections can be dynamic in devices that support multiple operating modes. Because the VideoControl interface, together with its associated VideoStreaming interface(s), constitutes the ‘logical interface’ to the video function, they must all come into existence at the same moment in time. Changing the operating mode of a device causes the previous Video Interface Collection to be replaced with a new Video Interface Collection, followed by reinitialization of the host software. This specification does not provide a mechanism for the host to initiate such a mode change, which is typically initiated via a physical switch on the device.As stated earlier, video functionality is located at the interface level in the device class hierarchy.The following sections describe the Video Interface Collection, containing a single VideoControl interface and optional VideoStreaming interfaces, together with their associated endpoints that are used for video function control and for data stream transfer.
    中:
        一个设备可以支持多种配置,每个配置内可能有多个接口,每个接口可能会被轮流设置。这些接口可能存在于同一复合设备的不同功能中。几个独立的视频功能可能存在于同一设备内,属于同一功能的接口被分配到视频接口集合用IAD描述。如果设备包含多个独立的视频功能,那么就可能存在多个视频接口集合(个人理解为一个独立的视频功能对应一个集合)。
       比如一个装配有内置麦克风的桌面照相机作为一个例子。有一个接口集合去处理对音频功能的控制与配置,另外一个接口集合则去处理视频方面的控制与配置。在其中一个接口集合中,VC接口会对该功能内部进行控制,另外一个VS接口则去处理来自相机视频子系统传输过来的数据。
        视频接口集合在支持多个操作模式的设备中是动态的。因为VC接口和VS接口组成视频功能中的“逻辑接口”,它们必须在同一时刻同时存在。改变设备的操作模式则之前的视频接口集合也会被新的视频接口集合替换,紧随着由主机软件重新初始化。本说明书中没有提供用于主机的机制来启动这样的模式改变,这是通过设备上的物理开关启动的。
        如上所述,视频功能位于设备类结构层次的接口层。接下来的章节将描述视频接口集合,包含了单个VC接口和可选的VS接口,结合它们的关联端点用于将视频功能控制和数据流传输。

    视频接口集合
        视频接口集合是用于管理同一功能中VC和VS接口的。如果设备包含多个独立的视频功能,那么就可能存在多个视频接口集合。

    视频关联描述符
            一个设备必须使用一个IAD(接口关联描述符)去描述一个Video Interface Collection(视频接口集合),USB协议中并没有专门朝设备索取IAD的命令,AD需作为Configuration描述符的一部分发送给Host端(返回GetDescriptor(Configuration)请求的回应)。在该Configuration描述符的排列顺序中,IAD要放在它所包含的VC,VS描述符之前,且同一个IAD中所有的VC,VS Interface的Interface number必须连贯。

    4、Descriptor(描述符)
        描述符用来描述USB设备性能或特向的数据结构,与设备类相关的信息都是主机向设备获取描述符来得到的。
    在UVC所规定的描述符中除了常用的标准描述符,另外还定义了视频设备的特殊类描述符,主要如下:
    标准描述符
    • 设备描述符(Device Descriptor)
    • 设备限定描述符(Device QualifierDescriptor)
    • 设备配置描述符(Configure Descriptor)
    • 其他速度描述符(Other Speed Descriptor)
    • 字符描述符​(String Descriptor)
    特殊类描述符
    • 接口联合描述符(Interface Association Descriptor)
    • 视频控制接口描述符(VideoControl Interface Descriptor)
    • 视频控制端点描述符VideoControl Endpoint Descriptor
    • 视频流接口描述符(VideoStreaming Interface Descriptor
    • 视频流端点描述符VideoStreaming Endpoint Descriptor
    4.1 描述符的布局



    5、Request (请求)
        请求是主机软件与实体中控制器交流的一种机制。请求都是由主机向设备端发起的功能请求,所有的USB设备都需要支持标准的设备请求和与Class相关的特殊类请求。
    标准请求
        在标准协议中有相关描述,不做详细展开
    特殊类请求
        事实上特殊类请求也可以根据接口来分成两大类:1)、视频控制请求,2)视频流请求。
    1)视频控制请求有:
    • 接口控制请求(Interface Control Request
    • Camera终端控制请求(Camera Terminal Control Request)
    • 选择单元控制请求(Selector Unit Control Request)
    • 处理单元控制请求(Processing Unit Control Request
    • 扩展单元控制请求​(Extension Unit Control Request
    2)视频流请求仅有接口控制请求(Interface Control Request)一种:

        Interface Control Requests因为是用来在主机和设备之间协商数据交互格式和分辨率,流量等信息的,所以一般来说是必须实现的。
        Camera Terminal Control Requests包含了对曝光时间,曝光模式,对焦,变焦,平移等sensor获取数据阶段时的参数控制。
        Processing Unit Control Requests中则包含了亮度,增益,色调,对比度,白平衡等等sensor在获取到图像数据后,图像处理阶段的相关参数。
      不过实际上,以上两者的划分在硬件层次并不是绝对的。很多参数的控制在sensor硬件级别上是同一层次的。不过,将这些功能抽象成这两类,正如在硬件的拓扑结构上将功能模块抽象出来一样,有利于通用化的程序设计。



    暂时先整理这么多,等再行理解后再补充。

    参考资料

    展开全文
  • UVC协议学习以及UVC摄像头抓包对比UVC协议数据帧
  • UVC协议USB视频捕获设备定义

    千次阅读 2017-08-14 18:51:56
    UVC协议USB视频捕获设备定义
  • uvc协议摄像头

    2019-03-22 09:56:16
    协议结构 struct uvc_control { //uvc控制 struct uvc_entity *entity; //uvc实体 struct uvc_control_info info; //uvc控制信息 __u8 index; //索引值 __u8 dirty:1, loaded:1, modified:1, cached:1, ...
  • uvc协议代码

    热门讨论 2013-05-30 17:21:06
    ov7670在STM32F4上的UVC代码
  • 关于摄像头的UVC协议接口!

    万次阅读 2016-09-07 12:54:19
    因为一直做图像的相关工作,最近因为驱动的问题才知道多年前就有了标准的UVC协议了。 简单的搜索了一下相关的资料:    UVC是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已...
  • Android USB Camera(2) : UVC协议分析

    千次阅读 2018-03-13 15:25:12
    1. 前言本文对USB的功能类协议...分析usb协议的重点在于描述符,这里将以实际设备的描述符为线索,贯穿、分析uvc协议。2. UVC功能概述UVC设备都是多Interface设备,这点同普通的u盘不同。UVC设备最起码有两个Interfa...
  • 该压缩包其中包括两个uvc官方文档,包括uvc1.1 和 uvc 1.5,都为usb video class类开发官方文档,有需要的可以进行学习和理解。
  • 文件名大小更新时间UVCCamera-masterUVCCamera-master\.gitignore9412017-04-17UVCCamera-master\.ideaUVCCamera-master\.idea\compiler.xml6862017-04-17UVCCamera-master\.idea\encodings.xml1592017-04-17UVC...
  • [RK3288][Android6.0] USB UVC 协议简结

    千次阅读 热门讨论 2016-11-02 11:08:41
    Platform: ROCKCHIP OS: Android 6.0 ...UVC协议官方文档: http://www.usb.org/developers/docs/devclass_docs/ USB_Video_Example 1.5.pdf 和 UVC 1.5 Class specification.pdf     每个video fu
  • 根据维基百科官方资料显示(度娘上搜了好久都没找到),UVC协议支持的操作系统,具体如下: 1.WIN XP从Sevice Pack 2开始支持UVC1.0(不包括vista及CE6.0),WIN 7增加UVC1.1支持(stream-based and frame-based ...
  • 使用c#自带的DirectShow类对基于uvc协议的摄像头进行亮度参数的更改时,需要打开其自带的一个页面,如果想要实现在代码中更改需要使用DirectShow的扩展类。首先,需要在VideoCaptureDevice.cs 类里添加几个方法 /// ...
  • 用cyusb3014传输视频数据,在FPGA如何实现UVC协议
  • UVC协议官方文档:http://www.usb.org/developers/docs/devclass_docs/ USB_Video_Example 1.5.pdf 和 UVC 1.5 Class specification.pdf 每个video function有一个VideoControl(VC) interface和若干个Video...
  • uvc 协议分析

    千次阅读 2017-02-22 18:25:41
    Bus Hound 6.01 capture on Windows Vista Service Pack 1 (x64). Complements of www.perisoft.netDevice Length Phase Data Delta Cmd.Phase.Ofs(rep) Time
  • 一、ioctl调用流程1.common/drivers/media/video/uvc/uvc_driver.cmodule_init(uvc_init);static int __init uvc_init(void){result = usb_register(&uvc_driver.driver);}struct uvc_driver uvc_driver = {....
  • UVC系列2-探索Android UVC协议

    千次阅读 2019-04-24 19:38:33
    uvc加载摄像头的过程无非是初始化设备,加载设备,获取设备相关参数并加载相关参数到buffer,此时就已经将视频和控制参数加载到buffer了,这篇文章主要关注的是控制相关的参数。 需要关注的两个核心文件是:...
  • 第一种方法:检测是否找到设备:lsusb检查端口:ls /dev/video*安装适合的工具guvcviewsudo add-apt-repository ppa:pj-assis/ppasudo apt-get updatesudo apt-get install guvcview测试摄像头guvcview -d /dev/...
  • USB(UVC协议)摄像头

    千次阅读 2020-03-01 20:02:47
    UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,已成为USB org标准之一。 对于一个 usb 摄像头来说...
  • Linux UVC driver(uvc) 该驱动适用于符合USB视频类(USB Video Class)规范的摄像头设备,它包括V4L2内核设备驱动和用户空间工具补丁。只要符合这类标准,则不同厂商的USB camera设备,不需要特定的driver就能在Linux...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 215
精华内容 86
关键字:

uvc协议