编辑:OAK中国
首发:oakchina.cn
喜欢的话,请多多⭐️✍
Hello,大家好,这里是OAK中国,我是助手君。
这个月有好几个朋友想把OAK当UVC相机用,本期内容就来谈谈怎么用吧!
OAK相机也可以用作网络摄像头。要启用此功能,你可以运行DepthAI演示uvc应用程序或使用UVC功能分支。确保使用USB3线,否则在某些情况下,USB2不工作。
首先,安装DepthAI。
如果使用QT GUI,请在此选择UVC应用程序。
或者,直接从终端运行:
python3 depthai_demo.py --app 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
现在,你可以打开你最喜欢的会议应用程序,如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)
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.imshow
OBS内的窗口:
python3 examples/ColorCamera/rgb_video.py
。这将打开一个显示1080P视频流的新窗口。+
,添加新源。video
。(三)如何将OAK PoE相机当做网络摄像头使用?
视频链接:B站-OAK中国
https://docs.oakchina.cn/en/latest/
https://www.oakchina.cn/selection-guide/
OAK中国
| OpenCV AI Kit在中国区的官方代理商和技术服务商
| 追踪AI技术和产品新动态
戳「+关注」获取最新资讯↗↗