通过opencv+ffmpeg从RTSP流读取会导致“method SETUP failed: 501 Not Implemented”

问题描述 投票:0回答:1

我有一个摄像头设置并在我的本地网络中运行。 我可以通过 VLC 查看视频流,没有任何问题。 现在我尝试运行以下代码来使用 python + opencv 观察流。

我正在使用:

  • Python 3.11
  • opencv-python 4.8.1.78
import cv2

cap = cv2.VideoCapture(
    "rtsp://192.168.234.127:8554/h264", 
)

while cap.isOpened():
    status, frame = cap.read()
    
    cv2.namedWindow("frame", cv2.WINDOW_NORMAL)
    cv2.imshow("frame", frame)
    
    if cv2.waitKey(20) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

这会导致脚本卡在

cap.read()
,并在后台出现以下错误:
[rtsp @ 0000020008b7cd40] method SETUP failed: 501 Not Implemented
。请注意,
cap.isOpened()
返回
True

我尝试过:

  • 从 3.12 降级到 Python 3.11
  • 在 jupyter 笔记本中运行它
  • 直接从脚本运行它
  • 强制重新安装opencv-python
  • 使用“rtsp://192.168.234.127:8554/jpeg”而不是“rtsp://192.168.234.127:8554/h264”
    • 请注意,这两种方法都适用于 VLC 播放器

编辑:

  • 简化的代码,相同的结果。
python opencv ffmpeg video-streaming rtsp
1个回答
0
投票

Http错误501 - 服务器不支持请求方法,无法处理。尝试检查您的服务器、摄像头。尝试使用 http 与 mp4 或喜欢它。

© www.soinside.com 2019 - 2024. All rights reserved.