使用Android NDK和原始usb连接为内核不支持的摄像头实现UVC驱动程序
作者:互联网
我正在寻找一种方法来获得UVC隔离式USB摄像头,这些摄像头可以在默认情况下没有内核驱动程序的其他Android设备上运行.
我不想根据这些设备或改变他们的图像/内核,因为通常的客户应该能够在以后的平板电脑上使用相机并且没有特殊要求(应用程序除外).
您是否认为可以使用Android 3.1及更高版本中的Android USB类建立与未知设备的原始连接(http://developer.android.com/guide/topics/usb/host.html)或者我是否可以将它用于内核支持和识别的设备吗?
如果有可能,我会对使用Java / NDK集成UVC驱动程序以获取视频流感兴趣.至少那是我粗略的想法.
你觉得这可能吗?
解决方法:
如果你在那个根深蒂固的部分妥协,这绝对是可能的.我做了同样的项目并最终获得了成功.在uvc代码中,你应该打开/ dev / video1或video0节点,默认情况下,大多数设备都没有用户权限.
简单地说,
这取决于两件事:
1)连接USB摄像头时,是否创建了摄像头节点.它应该在主编号为81的/ dev目录中(表示V4l2设备)
2)对于该设备节点,您是否拥有用户权限.
这些是你将面临的两个障碍.
首先解决方案不在我们手中,因为它取决于供应商和供应商.例如,Acer选项卡它被创建但在三星Galaxy它没有..原因是缺少内核中的V4L2或UVC模块的支持.
第二个解决方案是,如果您是root用户,则可以更改节点的权限.
这是一个相当大的项目,如果你从头开始应该需要一些时间..一切都是最好的
标签:android,camera,android-ndk,usb,device-driver 来源: https://codeday.me/bug/20190630/1333765.html