VideoCapture具有大图像的高延迟,并且在一段时间后无法获取

时间:2018-08-13 20:51:36

标签: python opencv video-streaming mjpeg

我当前正在使用opencv 3 python实现从ipcamera读取mjpeg帧,mjpeg流的分辨率约为1920 x1080。我遇到的问题是:

1)流延迟大约3-4秒,对于我的应用程序来说太高了。

2)一段时间获取图像后,self.video.read()开始失败。

有什么办法可以解决video.read()失败的根本原因吗?以及如何改善流式传输延迟?

我从IP摄像机读取的代码如下:

class VideoCamera(object):
    def __init__(self):

        self.videoStreamAddress = "rtsp://ipaddress/stream=1"


    def __del__(self):
        self.video.release()

    def get_frame(self):


        self.video = cv2.VideoCapture(self.videoStreamAddress, cv2.CAP_FFMPEG)

        error = False
        success, image = self.video.read()

        if success:
            ret, current_buffer = cv2.imencode('.png', image)
        else:

            error = True
            print('exception')


        return current_buffer, error;

0 个答案:

没有答案