如何使用opencv VideoCapture方法获取实时帧?

问题描述 投票:0回答:1

我的Opencv版本是4.5.4,使用gstreamer lib编译。

在我的情况下,我正在获取流视频帧。流视频时间和获取视频时间(cv2.VideoCapture)之间存在差距。如果虽然流式传输下一个视频,但 cv2.VideoCapture 无法获取下一个流式视频的帧,因为 opencv 没有到达最后一帧。

如何解决? (当我使用opencv版本3.4.0时,我没有遇到这个问题。)

我的代码(不使用多进程/线程)

def connect_streaming(rtsp_url):
    while True:
        video_cap = cv2.VideoCapture(rtsp_url, cv2.CAP_GSTREAMER)

        while video_cap.isOpened():
            ret, frame = video_cap.read()
            if not ret:
                video_cap.release()
                break
             ...
python opencv gstreamer rtsp
1个回答
0
投票

我解决了。 我认为这是使用线程获取流视频帧的最佳方法。

希望很多遇到同样问题的人在阅读完本文后能够解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.