一:配置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);
}
}
三:看效果