RTSP stream and OpenCV (Python)
this works for me (using 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 relies on ffmpeg or other video backends for handling video formats and IP camera protocols. Depending on your platform and how you installed OpenCV, you may not have any support for rtsp.
You can check video backend support for your OpenCV installation:
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 Modules: 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
struggled for a while on this...
finally this got it going for me.
On Android
Install: https://play.google.com/store/apps/details?id=com.miv.rtspcameraStart rtsp server on android
On PC, create python script
import cv2import numpy as npimport osos.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"] = "rtsp_transport;udp"vcap = cv2.VideoCapture("rtsp://192.168.1.2:5554/camera", cv2.CAP_FFMPEG)while(1): ret, frame = vcap.read() if ret == False: print("Frame is empty") break; else: cv2.imshow('VIDEO', frame) cv2.waitKey(1)
Change “192.168.1.2” to your android device address.
Run python script