RTSPstream和OpenCV(Python)

我有一个通过rtsp协议和h264 linux驱动程序在Linux上stream式传输的IP摄像头。 我可以在VLC中看到以下地址和端口的video:

rtsp://192.168.1.2:8080/out.h264 

但是,如果我尝试在Python 2.7.5(MacOS X 10.9)中获得用于OpenCV处理的相同video,请执行以下操作:

 import cv video = cv.CaptureFromFile('rtsp://192.168.1.2:8080/out.h264') 

我得到以下错误:

 WARNING: Couldn't read movie file rtsp://192.168.1.2:8080/out.h264 

这似乎是一个相当简单的,但我坚持下去。 谢谢。

Solutions Collecting From Web of "RTSPstream和OpenCV(Python)"

这对我有用(使用opencv 2.4.9):

 vcap = cv.VideoCapture("rtsp://192.168.1.2:8080/out.h264") while(1): ret, frame = vcap.read() cv.imshow('VIDEO', frame) cv.waitKey(1) 

OpenCV依靠ffmpeg或其他视频后端来处理视频格式和IP摄像机协议。 根据您的平台以及您如何安装OpenCV,您可能没有任何对rtsp的支持。

您可以检查您的OpenCV安装的视频后端支持:

 python -c "import cv2; print(cv2.getBuildInformation())" Video I/O: DC1394 1.x: NO DC1394 2.x: NO FFMPEG: NO avcodec: NO avformat: NO avutil: NO swscale: NO avresample: NO GStreamer: NO OpenNI: NO OpenNI PrimeSensor modulees: NO OpenNI2: NO PvAPI: NO GigEVisionSDK: NO Aravis SDK: NO UniCap: NO UniCap ucil: NO V4L/V4L2: NO/NO XIMEA: NO Xine: NO gPhoto2: NO