python - 多个 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() 和单个帧,我必须有两个管道和两个捕获对象。我希望我说得够清楚了。
提前感谢您的帮助!
解决方案
推荐阅读
- laravel - Nuxt Auth 在刷新后将我重定向回登录页面,即使成功登录
- mysql - 由于提取格式 2021-02-07T15:32:54,Coldfusion 和 mySQL 5.6.41 返回日期时间错误
- javascript - 具有自定义字体的 HTML Textarea 自动宽度最初返回错误的 scrollWidth
- c++ - Winsock 套接字不接收数据包 cpp
- python - Matplotlib:线图点未与 X 值对齐
- java - 将抽屉和工具栏菜单上的 ID 链接到 nav_graph 不起作用
- javascript - Javascript 从标签中选择按文本选择
- javascript - 如何测试上下文菜单是否打开或显示?
- python - Discord py cogs 不加载命令
- android - Ionic & Capacitor - Android 闪屏响应