android - 使用 Android NDK 和内核不支持的摄像头的原始 USB 连接实现 UVC 驱动程序

标签 android camera android-ndk usb device-driver

我正在寻找一种方法让 UVC 可兼容 USB 摄像头在默认情况下没有这些 UVC 摄像头的内核驱动程序的其他 Android 设备上工作。

我不想对这些设备进行 root 操作,也不想更改它们的图像/内核,因为普通客户以后应该可以在每台平板电脑上使用相机,而无需特殊要求(应用程序除外)。

您认为在 Android 3.1 及更高版本 (http://developer.android.com/guide/topics/usb/host.html) 中使用 Android 的 USB 类可以建立与未知设备的原始连接吗?我只能将它用于内核已经支持和识别的设备吗?

如果可能的话,我有兴趣使用 Java/NDK 集成 UVC 驱动程序以从中获取视频流。至少这是我的粗略想法。

你认为这可能吗?

最佳答案

如果你在那个 Root过的部分上妥协,那绝对是有可能的。我做了同样的项目,最终成功了。在 uvc 代码中,您应该打开/dev/video1 或 video0 节点,默认情况下在大多数设备上没有用户权限。

简单来说,

这取决于两件事:

1) 连接USB Camera时,是否创建了camera节点。它应该在/dev 目录中,主编号为 81(表示 V4l2 设备)

2) 对于该设备节点,您是否拥有用户权限。

这是您将面临的两个障碍。

第一个问题的解决方案不在我们手中,因为它取决于供应商与供应商。例如,它创建了 Acer 选项卡,但在 Samsung Galaxy 中它没有创建。原因是内核中缺少对 V4L2 或 UVC 模块的支持。

第二个的解决方案是,如果您是根用户,您可以更改节点的权限。

这是一个相当大的项目,如果您是从头开始,应该需要一些时间..祝一切顺利

关于android - 使用 Android NDK 和内核不支持的摄像头的原始 USB 连接实现 UVC 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472330/

相关文章:

android-layout - 首次启动时的帮助屏幕(9 补丁)

android - 为什么我的 Android 应用程序没有出现在启动器中?

android - 如何在Android系统应用程序中升级 native 库

java - 在 onClick 事件后创建对话框

android - 应用程序图标不显示

android - 设置 Parameters.FLASH_MODE_TORCH 在 Droid X 2.3 上不起作用

iphone - 如何在 iOS 7 中强制相机拍摄方形照片

javascript - 如何使用轨道控制添加不同的摄像机?

android - 为 Android 构建 bspatch

android-ndk - CMake: "add_library IMPORTED"检查库是否存在