Read stream from specific link

2019-03-17 01:15发布

问题:

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/?

回答1:

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!



回答2:

This is worked for me with Mjpeg streamer and OpenCV

cap.open("http://192.168.1.206:8080/?action=stream?dummy=param.mjpg")


标签: opencv mjpeg