首页 > 解决方案 > 多个 Gstreamer 管道同时运行

问题描述

我是 Gstreamer 的新手,并试图找到一种同时执行两个 rtsp 流的有效方法。我目前正在做的方式是在我的 Python 脚本中定义两个单独的管道并通过 cv2.VideoCapture() 运行它们。当我运行单个管道时,一切正常,但是当两个管道运行时,我会得到几秒钟的延迟,这是我无法容忍的。我知道必须有一种更有效的方法来做到这一点,如果有人帮助我,我真的很感激。

为清楚起见,我的单管道代码如下所示:

gst1 = 'rtspsrc location=rtspt://my.rtsp.link ! queue ! rtph264depay ! h264parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! videoconvert ! video/x-raw, format=BGR ! appsink sync=false'

cap1 = cv2.VideoCapture(gst1, cv2.CAP_GSTREAMER) 随后是一个读取帧等的while循环。我有两个用于流式传输两个IP摄像机,它显然减慢了流速度。我的目标是在单个框架(画中画)内显示它们,这就是为什么我不能使用打开两个单独窗口的管道。对于 cv2.VideoCapture() 和单个帧,我必须有两个管道和两个捕获对象。我希望我说得够清楚了。

提前感谢您的帮助!

标签: pythongstreamerpipelinertsp

解决方案


推荐阅读