diff --git a/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiScreenshotServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiScreenshotServiceImpl.java index 62f7821f6..13036713f 100644 --- a/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiScreenshotServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/aiot/service/impl/AiScreenshotServiceImpl.java @@ -3,6 +3,8 @@ package com.genersoft.iot.vmp.aiot.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.genersoft.iot.vmp.aiot.service.IAiScreenshotService; +import com.genersoft.iot.vmp.streamProxy.bean.StreamProxy; +import com.genersoft.iot.vmp.streamProxy.dao.StreamProxyMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -42,6 +44,9 @@ public class AiScreenshotServiceImpl implements IAiScreenshotService { @Autowired private StringRedisTemplate stringRedisTemplate; + @Autowired + private StreamProxyMapper streamProxyMapper; + @Value("${ai.screenshot.callback-url:}") private String callbackUrl; @@ -83,6 +88,15 @@ public class AiScreenshotServiceImpl implements IAiScreenshotService { fields.put("callback_url", callbackUrl); } + // 查询 rtsp_url 放入请求,供 Edge 对无 ROI 摄像头临时连接截图 + StreamProxy proxy = streamProxyMapper.selectByCameraCode(cameraCode); + if (proxy != null) { + String rtspUrl = proxy.getSrcUrl(); + if (rtspUrl != null && !rtspUrl.isEmpty()) { + fields.put("rtsp_url", rtspUrl); + } + } + try { MapRecord record = MapRecord.create(SNAP_REQUEST_STREAM, fields); RecordId recordId = stringRedisTemplate.opsForStream().add(record);