Android怎么实现外接USB摄像头

这篇文章主要讲解了“Android怎么实现外接USB摄像头”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么实现外接USB摄像头”吧!

10年积累的网站设计制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有大通免费网站建设让你可以放心的选择与我们合作。

实现

系统必须支持 android.hardware.usb.host

/system/etc/permissions下需要添加host的声明
<feature name=“android.hardware.usb.host” />

此外&#xff0c;还必须启用Kernel的 UVC 设备内核。

+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_MEDIA_USB_SUPPORT=y

要在相应的设备细分版本中启用外接摄像头提供程序&#xff0c;以便添加必要的 SELinux 权限、外接摄像头配置以及外接摄像头提供程序依赖项&#xff0c;请完成以下步骤&#xff1a;

  • 将外接摄像头配置文件和外接摄像头库添加到 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>

  • &#xff08;选做&#xff09;如果设备在 Treble 直通模式下运行&#xff0c;请更新 sepolicy&#xff0c;以便 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 文件来自定义外接摄像头提供程序。具体而言&#xff0c;客户可以自定义以下参数&#xff1a;

  • 内部摄像头的排除视频节点

  • 支持的图片大小和帧速率上限

  • Inflight 缓冲区数量&#xff08;在卡顿与内存之间进行权衡&#xff09;

除了这些参数之外&#xff0c;您还可以添加自己的参数或开发自己的配置。

感谢各位的阅读,以上就是“Android怎么实现外接USB摄像头”的内容了,经过本文的学习后,相信大家对Android怎么实现外接USB摄像头这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!

新闻标题:Android怎么实现外接USB摄像头
网页路径:https://www.cdcxhl.com/article26/iighcg.html

成都网站建设公司_创新互联,为您提供定制网站网站维护自适应网站App设计定制开发手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设