目录
1回顾
第一篇文章简单的讲解了rtsp、vlc及其安装;第二篇文章简单介绍了实时视频监控;
接下本文将试试我们如何运用相机拍照并保存!
不废话,上才艺!
2抓图实现
2.1添加依赖
<!-- javacv -->
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.5.1</version>
<type>pom</type>
</dependency>
2.2功能实现
public static void main(String[] args) throws IOException {
//rtsp流媒体
String file = "rtsp://admin:123456@192.168.0.106/cam/realmonitor?channel=1&subtype=1";
//创建抓取器
FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(file);
//设置协议
grabber.setOption("rtsp_transport", "tcp");
//设置图片宽高
grabber.setImageWidth(996);
grabber.setImageHeight(996);
log.info("抓图开始...");
grabber.start();
//帧截图
File imgUrl = new File("D:\\ccct\\123.jpg");
while (true){
Frame frame = grabber.grabImage();
if (frame != null) {
//创建bufferedImage对象,生成jpg图片
Java2DFrameConverter converter = new Java2DFrameConverter();
BufferedImage bufferedImage = converter.getBufferedImage(frame);
ImageIO.write(bufferedImage, "jpg", imgUrl);
grabber.stop();
grabber.release();
log.info("抓图成功...");
break;
}
}
}
2.3输出截图
3回顾总结
是不是感觉还是比较简单?就几行代码,当刚拿到这样的需求的时候,其实内心还是很慌张的,当然这只是一种截图方式,部分相机可能厂商会提供一些抓图接口;如果你公司的厂商有提供相关的抓图api那么恭喜你,你可以跳过本文直接进入下一篇文章如何实现视频的保存与上传了。
欢迎转载,转载请注明出处!