Opencv cv2.VideoCapture()停止读取rtsp ip摄像机

时间:2019-02-18 19:43:59

标签: opencv face-detection ip-camera opencv4

您好,我正在学习opencv,并且正在通过rtsp://读一个IP摄像机

videoStream = "rtsp://admin:123456@10.0.0.1:554/Streaming/Channels/1"
capture = cv2.VideoCapture(videoStream)

正在阅读此信息流,并在opencv中进行了人脸检测 但是1或2分钟后,我的脚本崩溃了h264消息,我的opencv代码给了我一个错误:

[h264 @ 0x27e49570] error while decoding MB 55 12, bytestream -12
no video

如果我使用网络,则不会发生

有人可以帮助我,如何获得用于面部检测的IP摄像机流的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

在处理任何帧之前,可以确保相机已打开并且获取的帧有效。

videoStream = "rtsp://admin:123456@10.0.0.1:554/Streaming/Channels/1"
capture = cv2.VideoCapture(videoStream)

while True:
    if capture.isOpened():
        status, frame = capture.read()
        if status:
            # Process frames here
            ...

如果您无法访问相机或出现损坏的相框,则可以使用cv2.error来捕捉。

try:
   ...
except cv2.error as e:
   ...