【发布时间】:2019-02-18 01:36:02
【问题描述】:
我正在按照以下说明为 Raspberry Pi 3 构建 Nougat AOSP 映像:https://github.com/tab-pi/platform_manifest。我有一个 UVC-compatible USB 网络摄像头 (Logitech C525),我想通过 Android Camera 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,但都失败了:
-
https://github.com/jollen/libv4l2-android:
fatal error: 'ui/CameraHardwareInterface.h' file not found -
https://github.com/antmicro/android-camera-hal:
error: use of undeclared identifier 'kMaxStride'no member named 'I422ToABGRRow_NEON' in namespace 'libyuv' -
https://github.com/aosp-mirror/platform_hardware_libhardware/tree/master/modules/camera/3_4
ninja: error: 'out/target/product/rpi3/obj/STATIC_LIBRARIES/libgtest_prod_intermediates/export_includes', needed by 'out/target/product/rpi3/obj/SHARED_LIBRARIES/camera.v4l2_intermediates/import_includes', missing and no known rule to make it
简而言之,如何通过树莓派上的 Android Camera API 访问 USB 摄像头?
【问题讨论】:
-
这似乎取决于您使用的 Android 版本。对于带有 Tremble 的版本,官方文档中有一个指南:source.android.com/devices/camera/external-usb-cameras。对于 Tremble 之前的版本,您可以在此处找到基于 V4L2 的 HAL 实现:github.com/aosp-mirror/platform_hardware_libhardware/tree/…
-
@manuel 由于Android版本是Nougat,我认为Treble不可用,对吧?
-
对。奥利奥是第一个与颤抖一起出现的。您是否尝试过第二个链接?这个应该适用于牛轧糖。
-
您是否启用了 V4L2?您是否看到 /dev/video0 并且权限是否足够?
标签: android raspberry-pi android-camera android-source android-usb