首页 > 技术文章 > java中使用opencv获取rtsp视频流

zqk9412 2022-02-16 09:34 原文

jdk1.8+windows10+idea+opencv3.*

安装opencv3.3.0之后,把下边文件夹中的两个文件复制到lib下边,没有的话新建一个lib文件夹

 

 

 

 

 

 

 

 

 

 

然后是导入jar包文件

 

 

选择自己安装opencv路径下的jar包导入。

 

 

然后是例子代码

import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgproc.Imgproc;
import org.opencv.videoio.VideoCapture;

public class Video {


    public static void main(String[] args) {


        System.load(ClassLoader.getSystemResource("lib/opencv_java330.dll").getPath());
        System.load(ClassLoader.getSystemResource("lib/opencv_ffmpeg330_64.dll").getPath());

        VideoCapture vc = new VideoCapture();
        boolean isOpen = vc.open("rtsp://10.73.130.119:8554/live");

        System.out.println("isOpen="+isOpen);

        Mat mat = new Mat();
        String winName = "showFrame";
        int height = 600,width = 800;
        HighGui.namedWindow(winName);
        HighGui.resizeWindow(winName, width, height);
        while(vc.read(mat)){
            // 重置大小
            Mat dst = new Mat();
//            Imgproc.resize(mat, dst, new Size(width,height));
            // 显示
            HighGui.imshow(winName, mat);
            // waitkey 必须要,否则无法显示
            int key = HighGui.waitKey(1);
            System.out.println("key="+key);
            //esc键退出
            if(key == 27){
                break;
            }
            //拿到了每帧之后要干嘛就是后面逻辑的事情了
        }
        HighGui.destroyAllWindows();
        vc.release();
    }
}

  

rtsp://10.73.130.119:8554/live这个路径一定要可以使用,可以现在vlc上连接测试。vlc可以自行百度。

这个时候运行代码没有问题,结束。

 

推荐阅读