From d3e4470cf9f11576573397ed061595ab2c2d5029 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 28 八月 2024 17:23:29 +0800
Subject: [PATCH] 点播定时任务优化
---
ycl-server/src/main/java/com/ycl/task/DeviceSynTask.java | 6 +++---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 25 +++++++++++++++----------
ycl-server/src/main/java/com/ycl/utils/http/HttpUtils.java | 6 +++---
3 files changed, 21 insertions(+), 16 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();
}
diff --git a/ycl-server/src/main/java/com/ycl/task/DeviceSynTask.java b/ycl-server/src/main/java/com/ycl/task/DeviceSynTask.java
index acc1753..0c28b73 100644
--- a/ycl-server/src/main/java/com/ycl/task/DeviceSynTask.java
+++ b/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)
diff --git a/ycl-server/src/main/java/com/ycl/utils/http/HttpUtils.java b/ycl-server/src/main/java/com/ycl/utils/http/HttpUtils.java
index c6d68e0..e446221 100644
--- a/ycl-server/src/main/java/com/ycl/utils/http/HttpUtils.java
+++ b/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;
}
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0