From 9f5b9db2c8cdbcf74bd2eecefc3557d4048b8d4c Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 28 八月 2024 17:54:51 +0800 Subject: [PATCH] 打通大华OSD --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 5cd3093..050a9cf 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -669,8 +669,8 @@ if (0 == wvpResult.getCode()) { log.error("璇锋眰鎴愬姛"); StreamContent data = (StreamContent) wvpResult.getData(); - log.error("鎷垮埌鍙栨祦鍝嶅簲缁撴灉锛�" + data); String rtspUrl = data.getRtsp(); + log.error("鐩爣鍦板潃锛�" + rtspUrl); if (StringUtils.hasText(rtspUrl)) { try { // 鍒涘缓FFmpegFrameGrabber瀵硅薄 @@ -678,18 +678,23 @@ grabber.start(); // 寮�濮嬫崟鑾� Frame frame; - if ((frame = grabber.grabFrame()) != null) { - // 灏嗗抚杞崲涓哄浘鐗� - Java2DFrameConverter converter = new Java2DFrameConverter(); - BufferedImage image = converter.convert(frame); - File outputfile = new File(serverConfig.getUrl() + PlatformConfig.getUploadPath() + deviceId + IdUtils.fastSimpleUUID() + ".png"); - ImageIO.write(image, "png", outputfile); - String imgPath = outputfile.getAbsolutePath(); - System.out.println("Saved " + imgPath); - return imgPath; + String imgPath; + while (true) { + frame = grabber.grabFrame(); + if (Objects.nonNull(frame)) { + // 灏嗗抚杞崲涓哄浘鐗� + Java2DFrameConverter converter = new Java2DFrameConverter(); + BufferedImage image = converter.convert(frame); + File outputfile = new File(serverConfig.getUrl() + PlatformConfig.getUploadPath() + deviceId + IdUtils.fastSimpleUUID() + ".png"); + ImageIO.write(image, "png", outputfile); + imgPath = outputfile.getAbsolutePath(); + log.error("鍥剧墖鍦板潃锛� " + imgPath); + break; + } } grabber.stop(); // 鍋滄鎹曡幏 grabber.release(); // 閲婃斁璧勬簮 + return imgPath; } catch (IOException e) { e.printStackTrace(); } -- Gitblit v1.8.0