USB(UVC协议)摄像头

USB(UVC协议)摄像头一 背景知识 1 1 背景 UVC 全称为 USBVideoClas 即 USB 视频类 是一种为 USB 视频捕获设备定义的协议标准 是 Microsoft 与另外几家设备厂商联合推出的为 USB 视频捕获设备定义的协议标准 已成为 USBorg 标准之一 对于一个 usb 摄像头来说 内部大概分为一个 VC 接口和一个 VS 接口 VC 接口内部有许多 unit 和 terminal 用来 控制 摄

一、背景知识

1.1、背景

UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,已成为USB org标准之一。

对于一个 usb 摄像头来说,内部大概分为一个 VC 接口和一个 VS 接口,VC 接口内部有许多 unit 和 terminal 用来“控制”摄像头,比如我们可以通过 Process unit 设置白平衡、曝光等等。对于 VS 接口来说,标准 VS 接口往往含有许多个设置,每一个设置都包含一个实时传输端点,虽然它们的端点地址可能相同,但是它们的最大传输包大小不同,在 Class specific VS 接口中,包含多个 Format ,每一个 Format 包含多个 Frame ,Format 指的 YUYV MJPG 等等,Frame 就是各种分辨率 480*320 640 * 480 等等。以上这些信息,都是通过分析描述符来获得。

1.2、libuvc开源库

 

1.3、数据流

通过驱动获取传感器的数据,获得的数据通过UVC协议上传给上位机,同时,上位机会发送控制命令给设备侧。

二、设备侧开发

 

等待上位机发来的控制消息,监听USB端口的EP0

三、上位机侧开发

VLC或者AMCAP上位机软件调试

 

四、参考文档

1、文档。

https://blog.csdn.net/lizuobin2/article/details/?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/lizuobin2/article/details/

https://blog.csdn.net/lizuobin2/article/details/

2、上位机开发

https://www.cnblogs.com/rollsroyce/p/11680450.html

3、论文的参考

基于UVC协议的USB3.0图像采集系统设计

http://www.docin.com/p-965508430.html

https://www.ixueshu.com/document/3a073adb15ec6629d375020a9855d541318947a18e7f9386.html

https://www.doc88.com/p-9909382029161.html

4、协议文档

https://www.docin.com/p-2000149224.html

5、关于私有扩展单元

https://blog.csdn.net/weixin_/article/details/

https://blog.csdn.net/_/article/details/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231670.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 宝塔服务器搭建网站教程_宝塔linux面板漏洞

    宝塔服务器搭建网站教程_宝塔linux面板漏洞腾讯云免费SSL证书是腾讯云为用户提供的一款免费一年使用的SSL证书,用起来方便、快捷。同时搭配现在很热门的建站神器:宝塔面板,即使小白也能在很短时间内搞定网站域名“小绿锁”。今天老魏详细讲解如何申请腾讯云免费SSL证书,并部署到宝塔面板中。一、注册帐号在腾讯云申请证书首先需要注册腾讯云账号并且完成实名认证。新用户请点我直达腾讯云官网,从右上角的【免费注册】,进入注册页面。注册后要先完成实名认证,…

    2025年10月14日
    5
  • Android中View绘制流程以及invalidate()等相关方法分析

    Android中View绘制流程以及invalidate()等相关方法分析

    2021年12月3日
    46
  • H2内存数据库的函数「建议收藏」

    每个数据库为了使用者的查询简便性以及使用效率,都有专门提供一些函数给使用者进行使用,H2也同样如此,虽然没有oracle那么多强大的函数,但是一般需求的使用还是能够满足,下面就简单介绍下都有哪些函数一、函数的分类以及名称1、聚合函数(AggregateFunctions) AVGBOOL_ANDBOOL_ORCOUNTGROUP_CONCAT MAXMIN…

    2022年4月15日
    38
  • 开发工具-Java SDK下载地址「建议收藏」

    开发工具-Java SDK下载地址「建议收藏」更新记录2022年6月14日加入更多的下载地址。2022年6月10日完善标题。下载地址:https://www.oracle.com/java/technologies/downloads/https://docs.microsoft.com/en-us/java/openjdk/downloadhttps://jdk.java.net/archive/…

    2022年10月20日
    3
  • Oracle NUMBER类型细讲

    Oracle NUMBER类型细讲1>.NUMBER类型细讲:Oraclenumberdatatype语法:NUMBER[(precision[,scale])]简称:precision–>p     scale    –>sNUMBER(p,s)范围:1保存数据范围:-1.0e-130保存在机器内部的范围:1~22bytes有效为:从左边第一个不为0的数算起的位数。s的情况:s>0  

    2022年7月24日
    11
  • 零基础学Java(6)控制流程「建议收藏」

    零基础学Java(6)控制流程「建议收藏」控制流程与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程。块作用域我们首先要了解块(block)的概念。块是指由若干条Java语句组成的语句,并用一对大括号括起来。块确定了变

    2022年7月29日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号