【问题标题】:Delay/Lag in OpenCV VideoCaptureOpenCV VideoCapture 中的延迟/滞后
【发布时间】:2021-01-12 11:29:02
【问题描述】:

我正在尝试在带有 opencv 4.5 的 Ubuntu 20.04 上使用 opencv 的 VideoCapture 类从 ip 摄像头读取 rtsp 流。 ubuntu 上的视频有延迟,但当我在 Windows 10 机器上运行相同的代码时没有延迟。

cap.set(cv2.CAP_PROP_BUFFERSIZE, size) 返回 false 并且相机默认缓冲区大小不会改变。

cap = cv2.VideoCapture("rtsp://admin:@dmin123@192.168.1.64")
while (cap.isOpened()):
    ret, frame = cap.read()
    cv2.imshow("Live", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'): #press q to quit
        break
cap.release()

当我使用带有以下参数的 ffplay 播放流时,流运行良好:

'''ffplay -fflags nobuffer -flags low_delay -tune zerolatency -framedrop -rtsp_transport tcp "rtsp://192.168.1.64"'''

在如何减少/处理我的代码中的滞后方面需要帮助。

【问题讨论】:

标签: python opencv ubuntu ffmpeg


【解决方案1】:

我有同样的问题兄弟)

其实我已经做了一些研究,并且有我的结果

在 openCV 4.5.1 中,某些后端支持 CAP_PROP_BUFFERSIZE 属性,但并非全部支持。您可以轻松检查您的后端是否支持此属性。只需查看cap.get(CAP_PROP_BUFFERSIZE) 的结果即可。如果它返回 0,那么你的后端不支持这个属性。据我了解 OpenCV 的源代码,只有 aravisDC1394V4L 后端支持此属性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 2013-04-15
    • 1970-01-01
    相关资源
    最近更新 更多