如何在Python上逐帧处理RTSP流?

如何在Python上逐帧处理RTSP流?,python,opencv,rtsp,Python,Opencv,Rtsp,我有一个视频,我需要通过RTSP流。此流将由带有OpenCV的python脚本处理所以,我需要这个流在Python中必须是一帧一帧可读的 我使用的是Windows 10、Opencv 3.4和Python 3.6.3。防火墙已禁用 如果我用opencv打开任意RTSP流,就不会有问题:opencv可以处理来自IP摄像机的标准RTSP流 但是,如果我通过RTSP从VLC流式传输视频,并尝试使用python opencv打开它,它会引发一个错误,这可能取决于ffmpeg: Python代码: imp

我有一个视频,我需要通过RTSP流。此流将由带有OpenCV的python脚本处理所以,我需要这个流在Python中必须是一帧一帧可读的


我使用的是Windows 10、Opencv 3.4和Python 3.6.3。防火墙已禁用

如果我用opencv打开任意RTSP流,就不会有问题:opencv可以处理来自IP摄像机的标准RTSP流

但是,如果我通过RTSP从VLC流式传输视频,并尝试使用python opencv打开它,它会引发一个错误,这可能取决于ffmpeg:

Python代码:

import cv2
vidcap = cv2.VideoCapture("rtsp://127.0.0.1:8554/video")
while True:
    success,image = vidcap.read()
错误:

[rtsp @ 00000234956b24a0] method SETUP failed: 461 Client error
warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:808)
warning: rtsp://127.0.0.1:8554/video (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:809)
我该怎么办?这是opencv上的一个典型错误,但也许有一个解决方法我可以使用。显然,流视频是正确的(我用另一个VLC实例打开了它)


我尝试了几种方法,OpenCV似乎不支持RTSP上的VLC流,我也没有找到任何其他解决方案。

这可能是您的VLC流配置错误?我认为如果你添加用于vlc流的配置会更好…我不这么认为,如果它是真的,我不知道我可以更改什么。我在网上看到了很多关于这个的相同问题,没有人谈论VLC配置问题…嗯,这只是一种可能性。。。在您的情况下,OpenCV使用ffmpeg,因此流媒体和OpenCV使用/识别ffmpeg的配置之间可能存在差异。。。你也可以尝试(如果你的opencv是用它编译的)gstreamer,看看,你需要opencv 3(不确定是哪一个,但3.2可以工作)我在Windows 10、opencv 3.4、Python 3.6.3上。我还尝试了Gstreamer,但没有结果:(另一个可能是防火墙……如果没有,我就没有主意了:(