Java 无法使用OpenCV打开/查看/抓取/读取IP摄像头

Java 无法使用OpenCV打开/查看/抓取/读取IP摄像头,java,macos,opencv,camera,Java,Macos,Opencv,Camera,我正在使用OpenCV获取IP摄像头的流和帧。以下是我的代码片段: import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgproc.Imgproc; import org.opencv.videoio.VideoCapture; import org.opencv.videoio.Videoio; import org.opencv.imgcodecs.*; import org.opencv.

我正在使用OpenCV获取IP摄像头的流和帧。以下是我的代码片段:

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgproc.Imgproc;
import org.opencv.videoio.VideoCapture;
import org.opencv.videoio.Videoio;
import org.opencv.imgcodecs.*;
import org.opencv.core.Rect;
import org.opencv.core.Size;

public class Main {
    public static void main(String[] args) {
    String newCameraIP  = "http://10.12.18.11/mjpg/video.mjpg";
    VideoCapture cap = new VideoCapture();
    if (cap.open(newCameraIP)) {
        System.out.println("Camera opened from " + newCameraIP);
    } else {
        System.out.println("No camera found at " + newCameraIP + ". Trying USB ports...");
    }
USB摄像头工作正常,但当我尝试使用IP摄像头时,我收到以下错误消息:
<强> VIEOIO(CVCRATEFICACEPATURION AFTAST(文件名)):引发未知的C++异常!

我在OSX上使用Python时遇到了这个问题。我的解决方案是使用--with-ffmpeg标志重新构建opencv。

你怎么会认为
VideoCapture
了解URL?C++和java API只能打开本地文件。你必须先下载数据。@JimGarrison这实际上解释了很多。。。我将如何下载数据?我是在我的代码内还是单独做?使用OpenCV和ffmpeg支持怎么样?p、 我需要实时执行此操作,因为我正在将其用于视觉处理。
cvCreateFileCapture
(使用可用的ffmpeg库)可用于URL。刚刚在@MBo上检查过,您认为错误与ffmpeg库有关吗?
AVFoundation
类似于ffmpeg中的某些内容。您是否尝试从其他软件(如VLC)使用此摄像头?