IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android平台下支持UVC路线、概念(一) -> 正文阅读

[移动开发]Android平台下支持UVC路线、概念(一)

Android平台下外接摄像头涉及到的几个概念:

1. UVC,什么是UVC

The?USB video device class?(also?USB video class?or?UVC) is a?USB?device class?that describes devices capable of streaming video like?webcams, digital?camcorders,?transcoders, analog video converters and?still-image cameras.

UVC是一个定义USB视频设备的标准。而UVC设备则可以很莽撞地理解为USB摄像头\USB视频采集卡等,一个USB接口的提供视频流的设备。

2. UVC规范标准

简介

https://en.wikipedia.org/wiki/USB_video_device_class

具体规范可以从usb.org下载,最新规范版本1.5,2012/06/06

Video Class v1.5 document set | USB-IF

要关心的是标准定义了UVC(可以理解为USB摄像头)支持什么信号格式,信号格式一般就图像的数据类型,压缩信号(H.264\HEVC\MJPG等),裸数据(YUV系),图像分辨率,图像帧率。这里是多对多关系。

例如某款UVC采集卡,支持MJPG 1080P@10或MJPG 1080P@30,同时也支持YUY2 4K@30 或?YUY2 720P@60、YUY2 720P@50、YUY2 720P@30、YUY2 720P@20,一共7种信号格式可以选择。

3. OTG,什么是OTG

https://en.wikipedia.org/wiki/USB_On-The-Go

OTG是一种让宿主设备(手机、平板)作为usb host的角色,允许其他usb设备(U盘、鼠标、UVC设备)连接上去。

4. 为什么需要OTG

都是USB接口支持USB协议互相通信,为什么要整一个OTG概念出来?

1). 标准的USB协议使用一种master/slave架构,一个设备要么是master,要么就是slave。而作为master设备(一个)支配整个bus(总线)可称为host角色,其他的USB设备(多个)则为slave。

2). 当一个USB设备(slave)进入进USB bus,host会开始设立沟通渠道、数据处理等杂事。这样的好处是USB设备会变得简单易用好匹配好开发,因为事情都交给host干了。

3). 当两个USB slave设备要交互数据时怎么办?当然是host通过bus从USB?A设备读取数据,再通过bus写到USB B设备里。

4).?举个例子,PC一般是作为host,而连接PC的例如USB鼠标、USB键盘、USB打印机、U盘,他们都是slave。那手机呢?手机一般是salve,以方便手机连接电脑(host)时进行数据交互。

5). 那U盘接到手机怎么办?他们都是slave,没法通信。所以OTG来了,OTG允许一个设备可以是host,也可以是slave,两种角色都能当,但不能同时当。手机打开了OTG模式,那这手机就变成host角色,这时候接上U盘就能读取到U盘了,同时这手机接上电脑,就无法进行数据交互了,电脑也访问不了手机,因为手机跟电脑都是host。

总结:

1. Android手机必须支持OTG,不然什么USB设备怼上去也不起作用。

2. Android平台下怎么去访问UVC,拿到视频流数据。这里包括USB层协议,UVC层协议。

3. Andoird平台下如何打开一个USB设备,这里涉及到权限问题。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:00:30  更:2021-10-01 17:02:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:35:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码