一:配置opencv,网络上面很多配置opencv的文章,这里就不多说了,https://blog.csdn.net/sinat_38102206/article/details/81156589
二:上代码
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.4.4</version>
</dependency>
@Test
public void testzc() throws FrameGrabber.Exception {
String file = "rtsp://192.168.2.38:5554/2";
FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(file);
grabber.setOption("rtsp_transport", "tcp"); // 使用tcp的方式,不然会丢包很严重
// 一直报错的原因!!!就是因为是 2560 * 1440的太大了。。
grabber.setImageWidth(960);
grabber.setImageHeight(540);
System.out.println("grabber start");
grabber.start();
CanvasFrame canvasFrame = new CanvasFrame("sdsaf");
canvasFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
canvasFrame.setAlwaysOnTop(true);
OpenCVFrameConverter.ToMat converter = new OpenCVFrameConverter.ToMat();
// OpenCVFrameConverter.ToIplImage converter = new OpenCVFrameConverter.ToIplImage();
while (true){
Frame frame = grabber.grabImage();
opencv_core.Mat mat = converter.convertToMat(frame);
canvasFrame.showImage(frame);
}
}
三:看效果