适用于Android usb网络摄像头的V4L2补丁

时间:2012-04-26 12:51:15

标签: android v4l2

我一直在尝试使用https://bitbucket.org/neuralassembly/simplewebcam作为指南,在我的Acer A500上安装USB网络摄像头。

根据我设备上的配置文件,它符合所有要求,应用程序运行但我仍然无法让它工作。

我在这里找到了一个V4L2补丁:http://code.google.com/p/android-m912/downloads/detail?name=v4l2_camera_v2.patch但我不知道如何处理它。

我很感激能帮助我编译/安装此补丁的任何人。

由于

保罗

Acer A500 CWM 3.2植根于ADHOC wifi支持

4 个答案:

答案 0 :(得分:1)

UVC合规性不是问题。 Acer A500运行Android,根据您的查询,您似乎试图让Android摄像头应用程序识别USB网络摄像头。

您遇到的问题是平板电脑上的Android框架只能识别内置摄像头,并且不支持枚举底层Linux内核支持的USB摄像头。您引用的patch应该可以解决此问题。它修改了Android相机框架,以增加对通用v4l2相机的支持。不幸的是,这不适用于Acer A500,而是适用于完全不同的设备(Gigabyte M912X)。

要在Acer A500上添加对USB摄像头的支持,需要:

  • 访问android源代码。
  • 修改相机框架(相机 - HAL,相机服务)。
  • 构建它并将相机-HAL和框架二进制文件推送到设备上。

答案 1 :(得分:1)

@TheCodeArtist,我目前的大部分活动都是围绕在Android设备上运行的网络摄像头。根据使用Acer A500的个人经验,您无需对任何来源进行任何修改即可使用兼容UVC的网络摄像头! - 尤其是视频部分。

。 Acer A500上的Android实现已经安装了video4linux2驱动程序作为基本内核的一部分。它需要的是一个可用的/ dev / video?运行。

我建议您使用adb连接到平板电脑@ 1358628。尝试使用adb ipaddress_of_the Acer_A500:5555,如果平板电脑已植根或通过USB将平板电脑连接到您的开发系统。将相机插入Acer A500并检查avialble / dev / video?消耗点。

1。使用 adb connect“address_of_camera:5555” 2连接到Acer A500。使用 adb设备确保您已连接到平板电脑。然后
4.请尝试 ls -l dev / video?。检查视频一词末尾的数字 - 视频?部分回复。例如,如果您注意到 ../ video1,.. / video2。

在此之后,关闭电源并拔下网络摄像头。重复上一次练习:查看../video?清单。你应该注意到一个丢失的../video?条目。如果您不相机,则不符合UVC标准。如果您确认网络摄像头的品牌和型号,我可以为您验证。

请尝试此建议,让我知道结果

答案 2 :(得分:1)

仅当您需要将USB网络摄像头作为本机摄像头而没有任何第三方应用程序(主要使用jni和v4l2调用并操纵数据)时,才需要修补程序。您提到的修补程序修改了android框架以获取USB网络摄像头。你需要你的设备aosp源来应用补丁,请注意这个补丁是旧的,所以可能相关的源现在不一样了。

simplewebcam无效的最可能原因是视频设备节点与源中提到的默认值0不匹配。插入网络摄像头后执行ls -l /dev/video*检查创建的视频节点。因此,修改代码中的视频节点索引。如果您通过执行chmod 666 /dev/videoX来获取权限被拒绝错误,也可以更改设备的写入权限,其中x是网络摄像头视频设备索引。

答案 3 :(得分:0)

您能解释一下您尝试使用平板电脑进行网络摄像头的确切操作吗?如果你有一个最近的网络摄像头,它将符合UVC - 这意味着你不需要任何额外的外部驱动程序来使用webcab

请在此URL查看此列表,看看你使用的相机符合UVC标准。 http://www.ideasonboard.org/uvc/#devices

您需要的是应用程序需要知道如何识别和“呼叫”并使用网络摄像头。您从该大学研究网站上引用的示例可以与您的网络摄像头模型一起使用。
继续构建该示例singlecam或doublecam应用程序,您的网络摄像头应该能够显示其输出