• 如何将OAK相机当做网络摄像头使用?


    编辑:OAK中国
    首发:oakchina.cn
    喜欢的话,请多多👍⭐️✍

    ▌前言

    Hello,大家好,这里是OAK中国,我是助手君。

    这个月有好几个朋友想把OAK当UVC相机用,本期内容就来谈谈怎么用吧!

    OAK相机也可以用作网络摄像头。要启用此功能,你可以运行DepthAI演示uvc应用程序或使用UVC功能分支。确保使用USB3线,否则在某些情况下,USB2不工作

    ▌使用DepthAI演示脚本

    首先,安装DepthAI

    如果使用QT GUI,请在此选择UVC应用程序。

    或者,直接从终端运行:

    python3 depthai_demo.py --app uvc

      ▌使用UVC特征分支

      【教程】如何将OAK-D-Lite作为一个网络摄像头使用?

      视频链接:B站-OAK中国

      # Skip cloning if you already have depthai-python repo
      git clone https://github.com/luxonis/depthai-python.git
      cd depthai-python
      # Navigate to the custom branch
      git checkout gen2_uvc
      python3 examples/install_requirements.py
      python3 examples/rgb_uvc.py
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      现在,你可以打开你最喜欢的会议应用程序,如Zoom或Slack,然后在网络摄像头选择菜单中选择Luxonis Device: UVC Video Contr

      ▌变通办法

      目前,上述方法存在一些问题。即使在Linux上,UVC节点目前并不适用于所有应用程序。因为UVC代表USB Video Class,使用UVC管道打开OAK PoE系列的设备是不行的。另一个已知问题是在Windows操作系统上使用UVC管道不起作用,因为UVC描述符。以下是解决方法:

      1.Python虚拟相机

      一种选择是使用虚拟相机,如pyvirtualcam模块。你需要pip安装包并安装它的依赖项(如链接中所述)。这里有一个演示代码:

      import pyvirtualcam
      import depthai as dai
      # Create pipeline
      pipeline = dai.Pipeline()
      cam = pipeline.create(dai.node.ColorCamera)
      cam.setColorOrder(dai.ColorCameraProperties.ColorOrder.RGB)
      cam.setPreviewSize(1280,720)
      xout = pipeline.create(dai.node.XLinkOut)
      xout.setStreamName("rgb")
      cam.preview.link(xout.input)
      # Connect to device and start pipeline
      with dai.Device(pipeline) as device, pyvirtualcam.Camera(width=1280, height=720, fps=20) as uvc:
          qRgb = device.getOutputQueue(name="rgb", maxSize=4, blocking=False)
          print("UVC running")
          while True:
              frame = qRgb.get().getFrame()
              uvc.send(frame)
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16

      2.OBS转发UVC数据流

      我们注意到,在一些应用上,比如Discord或Google Meet,Luxonis Device: UVC行不通。一种解决方法是使用OBS代理该流并使用OBS内部的虚拟摄像机。我运行的是Linux,为了使虚拟摄像机工作,我必须安装sudo apt install v4l2loopback-dkms(这也在安装说明中提到)。

      (二)如何将OAK相机当做网络摄像头使用?OBS转发UVC数据流

      视频链接:B站-OAK中国

      这段视频将向你展示如何做到这一点。

      3.OBS捕获cv2窗口

      另一种解决方案是将视频流数据传输到主机,并捕获cv2.imshowOBS内的窗口:

      • 在depthai-python repo内部,运行python3 examples/ColorCamera/rgb_video.py。这将打开一个显示1080P视频流的新窗口。
      • 在OBS中,在源菜单下,单击+,添加新源。
      • 点击Window Capture (Xcomposite)选项,然后选择video
      • 然后,你可以点击Start Video Camera在OBS内部,使用来自OAK PoE设备的视频作为网络摄像头源。

      (三)如何将OAK PoE相机当做网络摄像头使用?

      视频链接:B站-OAK中国

      ▌参考资料

      https://docs.oakchina.cn/en/latest/
      https://www.oakchina.cn/selection-guide/


      OAK中国
      | OpenCV AI Kit在中国区的官方代理商和技术服务商
      | 追踪AI技术和产品新动态

      戳「+关注」获取最新资讯↗↗

    • 相关阅读:
      Day25.组合总和III、电话号码的字母组合
      学习尚硅谷HTML+CSS总结
      参加Ultimate Harvest Moon活动,立即赢取终极版月光女神NFT
      超市结算系统|Springboot+Vue通用超市结算收银系统
      UEFI FD 文件分析
      iOS关于列表布局的几种实现方式小结
      一文详解快速排序详细到极致
      不借助 Javascript,利用 SVG 快速构建马赛克效果
      Apache DolphinScheduler 入门(一篇就够了)
      【附源码】计算机毕业设计SSM网上商城比价系统
    • 原文地址:https://blog.csdn.net/oakchina/article/details/125523176