xiangpei
2024-08-28 d3e4470cf9f11576573397ed061595ab2c2d5029
点播定时任务优化
3个文件已修改
37 ■■■■■ 已修改文件
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/DeviceSynTask.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/utils/http/HttpUtils.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
        }
    }
}
}