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(); } ycl-server/src/main/java/com/ycl/task/DeviceSynTask.java
@@ -1,6 +1,7 @@ package com.ycl.task; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.github.pagehelper.PageInfo; import com.ycl.platform.domain.entity.DeviceInfo; @@ -9,7 +10,6 @@ import com.ycl.platform.wvp.WVPResult; import com.ycl.utils.http.HttpUtils; import lombok.RequiredArgsConstructor; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @@ -38,8 +38,8 @@ String result = HttpUtils.sendGet(rtspServer + "/api/device/query/devices?page=1&count=15"); WVPResult wvpResult = JSON.parseObject(result, WVPResult.class); if (0 == wvpResult.getCode()) { PageInfo<Device> page = (PageInfo) wvpResult.getData(); List<Device> list = page.getList(); JSONObject data = (JSONObject) wvpResult.getData(); List<Device> list = data.getList("list", Device.class); if (! CollectionUtils.isEmpty(list)) { list.stream().forEach(item -> { DeviceInfo device = new LambdaQueryChainWrapper<>(deviceInfoMapper) ycl-server/src/main/java/com/ycl/utils/http/HttpUtils.java
@@ -16,7 +16,7 @@ /** * 通用http发送方法 * * * @author ruoyi */ public class HttpUtils @@ -74,7 +74,7 @@ { result.append(line); } log.info("recv - {}", result); // log.info("recv - {}", result); } catch (ConnectException e) { @@ -263,4 +263,4 @@ return true; } } } }