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

daupos2t  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(137)

我的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
             ...
nfs0ujit

nfs0ujit1#

我解决了这个问题。我认为这是最好的方式来使用线程获取帧的流视频。
我希望很多人,面对同样的问题,解决问题后,阅读它。

相关问题