Java, OpenCV, & an Axis Camera

I grabbed the latest copy of the JDK, OpenCV, and Eclipse and I want to simply read in the live video stream from an Axis M1013 camera and display it.

I’ve spent a few hours at it and found plenty of other posts with code they used to connect to the camera but it appears to be no luck for me.

Here’s what I have:


import org.opencv.core.Core;
import org.opencv.highgui.VideoCapture;

public class HelloCV {

    public static void main(String] args) {
        System.out.println("Welcome to OpenCV " + Core.VERSION);
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        
        VideoCapture capture = new VideoCapture();
        capture.open("http://10.25.86.11/mjpg/video.mjpg");

        if (capture.isOpened()) 
            System.out.println("Video link open.");
        else 
            System.out.println("Video link not open.");    
    }

}

But the connection never opens, here’s the output:


Welcome to OpenCV 2.4.10.0
Video link not open.

I can use that url in VLC to view the live stream, so I am of the belief that the camera is correctly configured and the network is properly set up. Suggestions greatly appreciated.

Try waiting a few seconds between calling capture.open(); and checking to see if it’s open. This sort of process can take a few seconds to finish up.

I polled the isOpened() command for a while, and added a delay after the open, same result.

The open() command returns false, is that normal?

I also set up a test in python, with the same results.

As an update, I found this chunk of code, and it showed the video feed:

Although that snippet is in python, that’s one step closer to solving the mystery here. I still want to know how to use the opencv VideoCapture class so that I can program in Java, suggestions very much appreciated.

The solution for python was on:

But I still need a java solution… Any help would be appreciated.

I finally have it working in Java and python. I simply copied opencv/sources/3rdparty/ffmgeg/opencv_ffmpeg_64.dll to c:\windows\system32\opencv_ffmpeg2410_64.dll
and ran the java application and it worked as expected~!