Getting RTSP stream with Opencv and python

2020-07-20 00:03发布

问题:

I know this could be the 100th question of this kind, but I dug up google and everything, and I could not find anything working.
I need to get an RTSP stream with opencv in python, and I'm out of ideas.
Here's what I tried so far:

  • Tried to stream with ffserver and ffmpeg but even when I got it working, I could see the stream only in the browser with very high latency, and not working in opencv
  • Tried to stream directly to udp with ffmpeg but again, no luck
  • Tried this script, but all I got was corrupted and unusable images.

Any ideas? I'm running on Mac OSX Sierra, I have compiled OpenCV 3.2.0 with ffmpeg support and I'm using Python 2.7.
My cam is a Sricam SP09 and my RTSP url is the following:

rtsp://973704:888888@192.168.1.78:554/onvif1

回答1:

I had the same problem. You might be able to solve it with some additional codes.

import os

os.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"] = "rtsp_transport;udp"

vcap = cv2.VideoCapture("rtsp://[IP_CAM_ADDRESS]", cv2.CAP_FFMPEG)

Hope to be helpful to somebody.