第一节:认识UVCCamera

一、什么是UVC?

 	   UVC,全称为:USB video class或USB video device class。是Microsoft与另外几家设备厂商联合推出的
 	为USB视频捕获设备定义的协议标准。

二、为什么Android要使用UVCCamera?

1、名词解释:

  OTG是On-the-go的英文缩写,是无线通讯设备或是移动设备的一项拓展功能。(官方解释太正式了,看简单版的吧!)
	        
  简单版 :OTG是让设备支持外接U盘,通过一个USB线,可以像电脑一样,读取U盘里的文件或者写入;

2、为什么Android要使用UVCCamera?

     在Android手机上 如果我们使用 USBCamera设备 就得需要OTG功能,大部分手机的OTG功能都被厂商屏蔽掉了,
  如果想用就得ROOT设备(用户如果装一个app就得root设备,不现实!!)
  
  而开源项目UVCCamera,实现了手机无需root就支持USBCamera设备的检测、连接、预览和音视频数据采集等功能。
  
  UVCCamera开源项目链接 : https://github.com/saki4510t/UVCCamera
	                

三、了解每个Demo的效果

1)USBCameraTest0
	        显示如何使用SurfaceView来启动/停止预览。
	
2)USBCameraTest
	        显示如何启动/停止预览。这与USBCameraTest0几乎相同,
	        但是使用自定义的TextureView来显示相机图像而不是使用SurfaceView。
	
3)USBCameraTest2
	        演示如何使用MediaCodec编码器将UVC相机(无音频)的视频记录为.MP4​​文件。
	        此示例需要API>=18,因为MediaMuxer仅支持API>=184)USBCameraTest3
	        演示如何将音频(来自内部麦克风)的视频(来自UVC相机)录制为.MP4​​文件。
	        这也显示了几种捕捉静止图像的方式。此示例可能最适用于您的定制应用程序的基础项目。
	        
5)USBCameraTest4
	        显示了访问UVC相机并将视频图像保存到后台服务的方式。
	        这是最复杂的示例之一,因为这需要使用AIDL的IPC。
	
6)USBCameraTest5
	        和USBCameraTest3几乎相同,但使用IFrameCallback接口保存视频图像,
	        而不是使用来自MediaCodec编码器的输入Surface。
	        在大多数情况下,您不应使用IFrameCallback来保存图像,因为IFrameCallback比使用Surface要慢很多。
	        但是,如果您想获取视频帧数据并自行处理它们或将它们作为字节缓冲区传递给其他外部库,
	        则IFrameCallback将非常有用。
	
7)USBCameraTest6
	        这显示了如何将视频图像分割为多个Surface。你可以在这个应用程序中看到视频图像并排观看。
	        这个例子还展示了如何使用EGL来渲染图像。
	        如果您想在添加视觉效果/滤镜效果后显示视频图像,则此示例可能会对您有所帮助。
	
8)USBCameraTest7
	        这显示了如何使用两个摄像头并显示来自每个摄像头的视频图像。这仍然是实验性的,可能有一些问题。
	
9)usbCameraTest8
	        这显示了如何设置/获取uvc控件。目前这只支持亮度和对比度。

四、UVCCamera项目模块介绍

1、整个UVCCamera框架包括:

	• Java层封装
	
	• libjpeg-turbo1500.so、libusb100.so、libuvc.so、libUVCCamera.so这几个库
	
	• 库的源码

2、库文件功能介绍
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值