Nougat相机API中的USB网络摄像头支持

8
我正在按照这些说明为树莓派3构建一个Nougat AOSP镜像:https://github.com/tab-pi/platform_manifest。我有一台UVC兼容的USB网络摄像头(Logitech C525),我想通过Android相机API进行访问。

到目前为止,摄像头在UsbManager.getDeviceList()中可见,但Camera.getNumberOfCameras()返回0。

我已经定制了内核,以便在插入摄像头时出现适当权限的/dev/video0
$ adb shell ls -l /dev/video0
crw-rw---- 1 system camera 81,   0 2018-09-20 10:16 /dev/video0

我尝试在我的AOSP树上构建以下HAL,但它们全部失败了: 简言之,我该如何通过Raspberry Pi上的Android Camera API访问USB摄像头?

这似乎取决于您使用的Android版本。对于具有Tremble的版本,官方文档中有一份指南:https://source.android.com/devices/camera/external-usb-cameras。对于Tremble之前的版本,您可以在此处找到基于V4L2的HAL实现:https://github.com/aosp-mirror/platform_hardware_libhardware/tree/master/modules/camera/3_4 - manuel
https://github.com/openxc/android-webcam#usb-webcam-support - manuel
@manuel,我更新了我的问题,并附上了最新实验的结果。 - sdabet
@fiddler 这是真的,尽管这些事件对于这样的应用程序很重要...例如,每当插入USB网络摄像头时,可以选择该应用程序(作为默认)。 - Martin Zeitler
你好,我可以使用这个来打开我的USB相机,但是我想使用navigator.mediadevices来访问它,但它仍然没有出现在那里。有没有办法做到这一点? - ilteris
显示剩余7条评论
2个回答

0
您可以尝试检查位于/device/fsl/位置的init.rc文件,并将back_camera_name设置为uvc。在启动时,它会寻找指定的默认相机,当所提到的相机丢失时,它无法初始化相机驱动程序。我在technexion imx6板上遇到了同样的问题。此外,您还可以找到一个特定于板子的文件,在technexion的情况下是init.i.MX6DL.rc,其中指定了back_camera参数。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接