在Android应用程序上使用USB Camera

时间:2012-01-22 19:21:50

标签: android camera usb

我需要在Android 3.2上显示连接到平板电脑的USB摄像头传输的视频。

我该怎么做?

我无法使用平板电脑的相机,因为我的平板电脑已固定在机上。

3 个答案:

答案 0 :(得分:34)

(我在2012年写的时候没有支持USB摄像头。我不再在Android上工作..所以我无法解释如何使用最新Android的API。如果你知道更好的解决方案请发布它在这里。)

只有当USB摄像头内的传感器符合UVC标准(当今大多数摄像机都符合标准)时,讨论仍然适用。

截至本文发布之日(2012年3月1日),没有默认的Android API可用于外置摄像头。因此,如果您对该项目非常认真,那么您所做的工作将涉及编写与内核驱动程序对话的固件,然后在Android应用程序层上显示数据。

插入USB相机时,首先需要检查的东西很少。

1)你的相机是否从USB端口供电?(为此你的USB端口应该有USB-OTG支持 - USB端口可以作为目标和主机,检查是否有灯在相机上(如果有的话)发光与否?)

2)是否在/ dev目录中创建了节点?(仅在内核启用了v4l2和UVC支持的情况下,才会创建节点)。如果创建了节点,现在您可以访问USB摄像头的真实硬件,从此处可以轻松完成工作。检查android文件系统中的ls -l / dev / v *并检查是否正在创建video0或video1。

4)如果创建了节点,则需要编写固件(UVC)并从真实硬件中获取帧。它(UVC)支持与v4l2层通信的不同ioctl调用。内核并将获取帧。

这些帧主要是格式YUYV422或YUYV420格式。

收到帧后,转换为RGB或Jpeg(Android支持转换)并在画布或imageview上显示您喜欢的内容。

对于录制,您可能必须使用ffmpeg进行编码。这会将图像转换为视频。

答案 1 :(得分:1)

在开始之前,值得检查的一件事是USB线是否可以与鼠标,键盘和USB驱动器配合使用(您需要在某些设备上使用StickMount应用程序才能使USB驱动器正常工作)。

我也希望在Android上安装一个USB网络摄像头,并试图重现http://brain.cc.kogakuin.ac.jp/research/usb-e.html所做的事情。最后我听说蓝牙网络摄像头开箱即用。

答案 2 :(得分:-3)

现在(2017年)有支持USB视频输入的Android应用程序:

https://play.google.com/store/apps/details?id=labsp.android.viewer&hl=it

可能是一个" Y形"需要OTG电缆(" Y形" OTG电缆允许为外部设备供电)