我正在测试一个小的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"
1条答案
按热度按时间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