OpenCV cv2.VideoCapture () останавливается для чтения IP-камеры RTSP - PullRequest
0 голосов
/ 18 февраля 2019

Здравствуйте, я изучаю OpenCV и я читаю IP-камеру через rtsp: //

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 голосов
/ 23 марта 2019

Перед обработкой любых кадров вы можете убедиться, что камера открыта и что полученные кадры действительны.

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:
   ...
...