Android 双usb 摄像头支持

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lb5761311/article/details/89329454

公司有一款产品需要支持双USB摄像头,标准的Android设备只支持同时打开一个camera,若要支持两个显示需要修改rk3288 源码,
hardware/rockchip/camera/CameraHal/CameraHal_Module.h

#define CAMERAS_SUPPORT_MAX             2
#define CAMERAS_SUPPORTED_SIMUL_MAX     2

把上面两个都修改为2。本来自己想用Android 官方提供的camera2.来打开双camera ,但是一直提示错误只能同时打开一个。经过与rk 官方沟通发现是我们版本的摄像头接的usb不是主host导致问题。

02-27 06:36:02.674 2425 2494 E RequestThread-0: Timed out while waiting for request to complete.
02-27 06:36:02.675 2425 2494 W RequestHolder: Capture failed for request: 0
有一个摄像头stream on操作失败了。
E/CameraHal: cameraStream(531): cameraStream(531): VIDIOC_STREAMON Failed
[ 91.735262] INFO:: dwc_otg_hcd_do_reserve: Insufficient periodic bandwidth for periodic transfer.
[ 91.735262]
[ 91.735331] ERROR::dwc_otg_hcd_urb_enqueue:570: Enqueue failed adding QTD status -28
[ 91.735331]
[ 91.735378] uvcvideo: Failed to submit URB 0 (-28).

硬件已经没法修改。只能从其他方法解决。所有使用了一个开源第三方的库。

https://gitee.com/lb873100/UvcCameraDemo.git

这个demo 可以正常打开双usb 摄像头。
记得ndk 版本不要太高。我的版本是ndk.dir=C:\xxx\ndk-bundle\android-ndk-r14b,不然编译不过

猜你喜欢

转载自blog.csdn.net/lb5761311/article/details/89329454