第三阶段应用层——2.3 视频监控—uvc驱动框架分析

视频监控—uvc驱动框架分析

  • 硬件平台:韦东山嵌入式Linxu开发板(S3C2440.v3)
  • 软件平台:运行于VMware Workstation 12 Player下UbuntuLTS16.04_x64 系统
  • 参考资料:USB_Video_Example 1.5、UVC 1.5 Class specification
  • 开发环境:Linux-3.4.2内核、arm-linux-gcc-4.3.2工具链、源码分析版本为:Linux-2.6.31.14
  • 源码仓库:https://gitee.com/d_1254436976/Embedded-Linux-Phase-3


一、UVC

    UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准,在不需要安装任何的驱动程序下即插即用

    视频设备的USB设备类定义适用于用于操作视频和视频相关功能的复合设备中的所有设备或函数。包括桌面摄像机(或“网络摄像机”)、数字摄像机、模拟视频转换器、模拟和数字电视调谐器以及支持视频流的静态图像摄像机,也适用于使用时间编码器压缩视频的视频设备。


二、以usb摄像头为例分析uvc框架


1、usb摄像头的拓扑结构

在这里插入图片描述

整个拓扑结构主要分为两大部分:

  • VideoControl Interface(视频控制接口)控制特定视频功能的功能行为,主机可以操作Unit(单元)和Terminal(终端)内部的视频功能
    在这个部分中,有一个Video Function部分,有以下的Unit(单元)和Terminal(终端)组成

    1. Input Terminal(输入终端):作为视频功能的“外部世界”和视频功能内部其他单元之间的接口。它充当数据流进视频功能的容器
      功能:在从数据源中提取数据之后表示传入数据的来源。数据可以包括音频和与视频流相关联的元数据

      在这里插入图片描述
    1. Output Terminal(输出终端):作为视频功能内部单元与“外部世界”之间的接口。它作为视频信息的出口,流出视频功能。
      功能:表示传出数据的接收器

      在这里插入图片描述
    1. Camera Terminal(摄像头终端)控制传输视频流的设备组件的机械(或等效的数字)特征。因此,它只适用于具有可控制镜头或传感器特性的视频捕捉设备
    1. Selector Unit(选择单元)从n个输入数据流中选择,并将它们不改变地路由到单个输出流(类似多路选择器)。它表示一个源选择器,能够在许多源中进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值