pycharm+opencv RTSP花屏现象 20C

最近在做视频中的过门检测类项目,软件平台是pycharm,内有opencv库,硬件为
分辨率576乘576的鱼眼摄像机
因此调用了cap = cv2.VideoCapture()函数用于获取视频流
然后获取帧的语句为
while (cap.isOpened()):
ret, frame = cap.read()
虽然就这么看视频没啥问题,但过个十秒就会出现如下错误(程序会卡一下,然后直接跳过去看不见坏帧):
[h264 @ 0x1339480] left block unavailable for requested intra mode
[h264 @ 0x1339480] error while decoding MB 0 33, bytestream 6711

查了资料是h264的传输花屏问题,网上的解决方案包括扩大缓冲区,以及c语言队列比较等方案,可惜看不太懂,因此想问是否有可以让我break掉坏帧的判别方法,附上程序更好,谢谢!
(一句话,需要基于python判别opencv的RTSP坏帧,有思路也行)

5个回答

pycharm只是一个开发环境,你花屏和它没关系。看你怎么一个花法,无非就是编码问题或者解码问题,具体你最好分别排查下。

做一些等待等。

 for(;;) {
        if(!vcap.read(image)) {
            std::cout << "No frame" << std::endl;
            cv::waitKey();
        }
        cv::imshow("Output Window", image);
        if(cv::waitKey(1) >= 0) break;
    }  

用try...except不行吗?

好像可以用多其他协议

解码跟不上呗,改成gstreamer才用硬解码

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问