JavaCV rtsp转图片
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.5.5</version>
</dependency>
public static void main(String[] args) throws Exception {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("rtsp://192.168.0.70:554/h264ESVideoTest");
grabber.setOption("rtsp_transport", "tcp"); // 使用TCP传输方式,避免丢包 grab
grabber.setImageWidth(1024);
grabber.setImageHeight(728);
grabber.start();
Java2DFrameConverter converter = new Java2DFrameConverter();
CanvasFrame canvasFrame = new CanvasFrame("摄像机");
canvasFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
canvasFrame.setAlwaysOnTop(true);
while (true) {
try {
Frame frame = grabber.grabImage();
BufferedImage bufferedImage = converter.convert(frame);
canvasFrame.showImage(bufferedImage);
String filePath = "d://rtsp/" + System.currentTimeMillis() + ".jpg";
ImageIO.write(bufferedImage, "jpg", new File(filePath));
System.out.println(filePath);
} catch (Exception e) {
logger.error("视频获取异常", e);
}
}
}