我想使用一台相机进行两个处理,例如
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中获取图像并执行自己的算法
- 你可以同时运行多个阅读器程序,所以从技术上讲,你可以同时通过两个程序访问单个相机