I need to read stream from mjpeg with OpenCV library. In more details, I need to read http://194.126.108.66:8887/
. But when I try to do it with
VideoCapture ipCam;
ipCam.open("http://194.126.108.66:8887/")
I get the error icvOpenAvi_XINE(): Unable to initialize video driver
.
I have tested this code with another link to mjpeg - http://c-cam.uchicago.edu/mjpg/video.mjpg
It works fine.
What is the difference between these 2 links? And how to read http://194.126.108.66:8887/
?
OpenCV expects a filename extension for its VideoCapture argument, even though one isn't always necessary (like in your case).
You can "trick" it by passing in a dummy parameter which ends in the mjpg extension:
ipCam.open("http://194.126.108.66:8887/?dummy=param.mjpg")
This worked in my similar OpenCV Python case, so good luck!