如何检索 FFMPEG(从 OpenCV 调用)Python 解码错误

How to retrieve FFMPEG (called from OpenCV) Python decoding error

尝试从 IP 摄像机读取视频流时使用:

stream = cv2.VideoCapture(src)
(grabbed, frame) = stream.read()

grabbed returns 正确,但有时帧会损坏(可能是由于高 CPU 负载)。终端上显示如下所示的内部 Opencv 错误:

[h264 @ 0x25e99400] error while decoding MB 87 29, bytestream -5

有没有办法捕获这个错误?请注意,我尝试了明显的 try:exceptcv2.error 等。在这种损坏的帧的情况下,最好重新启动与相机的连接。

可以使用 wurlitzer

从 Python 检索任何 cpp output/error
from wurlitzer import pipes
with pipes() as (out, err):
   <any call to cpp code>

c_error = err.read()