opencv Python -开放式计算机视觉:无法从文件RSTP读取视频流

ttcibm8c  于 2023-02-05  发布在  Python
关注(0)|答案(1)|浏览(540)

我正在测试一个小的python脚本,通过RTSP从一个IP摄像头捕获图像。我可以通过VLC正常打开视频,也可以通过CLI使用ffmpeg打开视频,但是使用OpenCV和Python3,我得到错误:OpenCV: Couldn't read video stream from file "rtsp://admin:admin123456@192.168.15.2:8554/profile0 "
还有,我可以用Python脚本打开本地的IdeMP4视频。在使用带有OpenCV的RTSP时,这似乎是个问题。
下面是代码:

import cv2
import os

os.environ['OPENCV_FFMPEG_CAPTURE_OPTIONS'] = 'rtsp_transport;udp' # Use tcp instead of udp if stream is unstable

cap = cv2.VideoCapture("rtsp://admin:admin123456@192.168.15.2:8554/profile0")

if not cap.isOpened():
    print('Cannot open RTSP stream')
    exit(-1)

while True:
    success, img = cap.read()
    cv2.imshow('RTSP stream', img)

    if cv2.waitKey(1) & 0xFF == ord('q'):  # Keep running until you press `q`
        cap.release()
        break

cv2.destroyAllWindows()

尝试运行python脚本时,我收到错误:OpenCV: Couldn't read video stream from file rtsp://admin:admin123456@192.168.15.2:8554/profile0"

qmelpv7a

qmelpv7a1#

我在MacOS 12.5上也有类似的问题。
我的cv2.getBuildInformation()上有FFMPEG: YES,但仍然得到错误OpenCV: Couldn't read video stream from file
然而,使用相同的conda环境(相同的opencv-python版本),但通过jupyter笔记本而不是脚本,不会出现错误,文件读取也没有问题!

解决日期:

我的问题是VS代码没有访问磁盘的权限。这解决了我的问题,只是我需要给予VSCode而不是终端权限:https://stackoverflow.com/a/59250494/20581881
see screenshot here

相关问题