单摄像头同时访问两个程序,如何



我想使用一台相机进行两个处理,例如

1(使用gstreamer和的直播

2(图像处理

我正在同时进行图像处理和直播,但出现了"设备繁忙"错误。

Error: ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video1' is busy

操作系统:孟德尔Linux

Python版本:Python 3.7.3

OpenCV版本:4.1.1

GStreamer核心库版本1.14.4

任何帮助都将不胜感激。

您可以尝试v4l2loopback,它允许您创建虚拟视频设备。

https://github.com/umlaeute/v4l2loopback

我没有亲自测试,但似乎做到了。

我使用的是ros2。我正在ros2节点上发布我的相机订阅源,并从任何我想要的地方订阅该节点。

您可以按照此链接在ros2节点上发布视频。https://medium.com/swlh/raspberry-pi-ros-2-camera-eef8f8b94304

你可以尝试使用redis,你可以使用这个答案。它可以在windows或linux中使用。

  • 通过此站点安装redis
  • 使用1个程序捕获网络摄像头并发送到redis
  • 使用阅读器程序从redis中获取图像并执行自己的算法
  • 你可以同时运行多个阅读器程序,所以从技术上讲,你可以同时通过两个程序访问单个相机

最新更新