From dbdb9ca06d3a6a357abe52b393bb398f4e1e8a4a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 01 六月 2023 15:58:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java | 37 +++++++++++++++++++++++++++++++++----
1 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
index f6f42b3..eae3475 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.vmanager.gb28181.play;
-import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.genersoft.iot.vmp.common.InviteInfo;
@@ -25,6 +24,7 @@
import com.genersoft.iot.vmp.service.bean.InviteErrorCode;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
+import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
@@ -116,7 +116,7 @@
// 褰曞儚鏌ヨ浠hannelId浣滀负deviceId鏌ヨ
resultHolder.put(key, uuid, result);
- playService.play(newMediaServerItem, deviceId, channelId, ((code, msg, data) -> {
+ playService.play(newMediaServerItem, deviceId, channelId, (code, msg, data) -> {
WVPResult<StreamContent> wvpResult = new WVPResult<>();
if (code == InviteErrorCode.SUCCESS.getCode()) {
wvpResult.setCode(ErrorCode.SUCCESS.getCode());
@@ -133,10 +133,9 @@
wvpResult.setCode(code);
wvpResult.setMsg(msg);
}
- System.out.println(JSON.toJSONString(wvpResult));
requestMessage.setData(wvpResult);
resultHolder.invokeResult(requestMessage);
- }));
+ });
return result;
}
@@ -339,5 +338,35 @@
return jsonObject;
}
+ @Operation(summary = "鑾峰彇鎴浘")
+ @Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true)
+ @Parameter(name = "channelId", description = "閫氶亾鍥芥爣缂栧彿", required = true)
+ @GetMapping("/snap")
+ public DeferredResult<String> getSnap(String deviceId, String channelId) {
+ if (logger.isDebugEnabled()) {
+ logger.debug("鑾峰彇鎴浘: {}/{}", deviceId, channelId);
+ }
+
+ DeferredResult<String> result = new DeferredResult<>(3 * 1000L);
+ String key = DeferredResultHolder.CALLBACK_CMD_SNAP + deviceId;
+ String uuid = UUID.randomUUID().toString();
+ resultHolder.put(key, uuid, result);
+
+ RequestMessage message = new RequestMessage();
+ message.setKey(key);
+ message.setId(uuid);
+
+ String fileName = deviceId + "_" + channelId + "_" + DateUtil.getNowForUrl() + "jpg";
+ playService.getSnap(deviceId, channelId, fileName, (code, msg, data) -> {
+ if (code == InviteErrorCode.SUCCESS.getCode()) {
+ message.setData(data);
+ }else {
+ message.setData(WVPResult.fail(code, msg));
+ }
+ resultHolder.invokeResult(message);
+ });
+ return result;
+ }
+
}
--
Gitblit v1.8.0