[h264 @ 000002bxxxxxxxx]红色警告信息
在使用cv2读取海康威视摄像头的时候报红色警告
每次报错都不一样,都是类似于下面这种,报错信息如下:
[h264 @ 000002b13ece0180] error while decoding MB 153 60, bytestream -6
[h264 @ 000002b17fc92240] error while decoding MB 104 23, bytestream -9
[h264 @ 000002b12ed1f2c0] error while decoding MB 32 31, bytestream -5
经过测试报错代码行:
cap = cv2.VideoCapture('rtsp:xxxxxxxx')
while cap.isOpend():
ret,img = cap.read()
if ret:
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('gray',gray)
cv2.waitKey(1)
因为读取视频流的数据损坏、丢失或不完整等原因导致ret==None或者ret==False
如何解决:
只需要再if下面多一个else重新读取视频流就可以啦,完整代码如下:
cap = cv2.VideoCapture('rtsp:xxxxxxxx')
while cap.isOpend():
ret,img = cap.read()
if ret:
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('gray',gray)
cv2.waitKey(1)
else:
if cap.isOpend():
cap.release()
cap = cv2.VideoCapture('rtsp:xxxxxxxx')