4

您好,我正在学习 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

如果我使用网络可以它不会发生

有人可以帮助我了解如何让网络摄像机流式传输进行面部检测的最佳方式是什么?

4

1 回答 1

2

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

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:
   ...
于 2019-03-22T21:03:09.507 回答