这篇文章主要讲解了“Android怎么实现外接USB摄像头”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么实现外接USB摄像头”吧!
10年积累的网站设计制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有大通免费网站建设让你可以放心的选择与我们合作。
系统必须支持 android.hardware.usb.host
/system/etc/permissions下需要添加host的声明
<feature name=“android.hardware.usb.host” />
此外,还必须启用Kernel的 UVC 设备内核。
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_MEDIA_USB_SUPPORT=y
要在相应的设备细分版本中启用外接摄像头提供程序,以便添加必要的 SELinux 权限、外接摄像头配置以及外接摄像头提供程序依赖项,请完成以下步骤:
将外接摄像头配置文件和外接摄像头库添加到 device.mk。
+PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
+PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-external-service
+PRODUCT_COPY_FILES +=
+device/manufacturerX/productY/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR )/etc/external_camera_config.xml
将外接摄像头提供程序名称添加到设备 Treble HAL 清单。
<hal format=“hidl”>
<name>android.hardware.camera.provider</name>
<transport arch=“32+64”>passthrough</transport>
<impl level=“generic”></impl>
<version>2.4</version>
<interface>
<name>ICameraProvider</name>
<instance>legacy/0</instance>
+ <instance>external/0</instance>
</interface>
</hal>
(选做)如果设备在 Treble 直通模式下运行,请更新 sepolicy,以便 cameraserver 可以访问 UVC 摄像头。
+# for external camera
+allow cameraserver device:dir r_dir_perms;
+allow cameraserver video_device:dir r_dir_perms;
+allow cameraserver video_device:chr_file rw_file_perms;
external_camera_config.xml的示例
<ExternalCamera> <Provider> <ignore> <!-- Internal video devices to be ignored by external camera HAL --> <id>0</id> <!-- No leading/trailing spaces --> <id>1</id> </ignore> </Provider> <!-- See ExternalCameraUtils.cpp for default values of Device configurations below--> <Device> <!-- Max JPEG buffer size in bytes--> <MaxJpegBufferSize bytes="8388608"/> <!-- 8MB (> 2594x1944 YUV420) --> <!-- Size of v4l2 buffer queue when streaming >= 30fps --> <!-- Larger value: more request can be cached pipeline (less janky) --> <!-- Smaller value: use less memory --> <NumVideoBuffers count="4"/> <!-- Size of v4l2 buffer queue when streaming < 30fps --> <NumStillBuffers count="2"/> <!-- List of maximum fps for various output sizes --> <!-- Any image size smaller than the size listed in Limit row will report fps (as minimum frame duration) up to the fpsBound value. --> <FpsList> <!-- width/height must be increasing, fpsBound must be decreasing--> <Limit width="640" height="480" fpsBound="30.0" /> <Limit width="1280" height="720" fpsBound="30.0" /> <Limit width="1920" height="1080" fpsBound="30.0" /> <!-- image size larger than the last entry will not be supported--> </FpsList> </Device></ExternalCamera>
您可以通过修改 external_camera_config.xml 文件来自定义外接摄像头提供程序。具体而言,客户可以自定义以下参数:
内部摄像头的排除视频节点
支持的图片大小和帧速率上限
Inflight 缓冲区数量(在卡顿与内存之间进行权衡)
除了这些参数之外,您还可以添加自己的参数或开发自己的配置。
感谢各位的阅读,以上就是“Android怎么实现外接USB摄像头”的内容了,经过本文的学习后,相信大家对Android怎么实现外接USB摄像头这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
新闻标题:Android怎么实现外接USB摄像头
网页路径:https://www.cdcxhl.com/article26/iighcg.html
成都网站建设公司_创新互联,为您提供定制网站、网站维护、自适应网站、App设计、定制开发、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联