From 25b400cbe3f602b85239485d0e21f7ca6ce8fe50 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 20 四月 2023 14:38:22 +0800
Subject: [PATCH] 更新readme
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
index 7a8ac98..523b10f 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -116,7 +116,7 @@
@PostMapping(value = "/on_server_keepalive", produces = "application/json;charset=UTF-8")
public HookResult onServerKeepalive(@RequestBody OnServerKeepaliveHookParam param) {
- logger.info("[ZLM HOOK] 鏀跺埌zlm蹇冭烦锛�" + param.getMediaServerId());
+// logger.info("[ZLM HOOK] 鏀跺埌zlm蹇冭烦锛�" + param.getMediaServerId());
taskExecutor.execute(() -> {
List<ZlmHttpHookSubscribe.Event> subscribes = this.subscribe.getSubscribes(HookType.on_server_keepalive);
@@ -253,6 +253,24 @@
result.setEnable_mp4(true);
}
}
+ if (mediaInfo.getRecordAssistPort() > 0 && userSetting.getRecordPath() == null) {
+ logger.info("鎺ㄦ祦鏃跺彂鐜板皻鏈缃綍鍍忚矾寰勶紝浠巃ssist鏈嶅姟涓鍙�");
+ JSONObject info = assistRESTfulUtils.getInfo(mediaInfo, null);
+ if (info != null && info.getInteger("code") != null && info.getInteger("code") == 0 ) {
+ JSONObject dataJson = info.getJSONObject("data");
+ if (dataJson != null) {
+ String recordPath = dataJson.getString("record");
+ userSetting.setRecordPath(recordPath);
+ result.setMp4_save_path(recordPath);
+ // 淇敼zlm涓殑褰曞儚璺緞
+ if (mediaInfo.isAutoConfig()) {
+ taskExecutor.execute(() -> {
+ mediaServerService.setZLMConfig(mediaInfo, false);
+ });
+ }
+ }
+ }
+ }
return result;
}
@@ -377,7 +395,7 @@
List<SendRtpItem> sendRtpItems = redisCatchStorage.querySendRTPServerByStream(param.getStream());
if (sendRtpItems.size() > 0) {
for (SendRtpItem sendRtpItem : sendRtpItems) {
- if (sendRtpItem.getApp().equals(param.getApp())) {
+ if (sendRtpItem != null && sendRtpItem.getApp().equals(param.getApp())) {
String platformId = sendRtpItem.getPlatformId();
ParentPlatform platform = storager.queryParentPlatByServerGBId(platformId);
Device device = deviceService.getDevice(platformId);
@@ -385,6 +403,7 @@
try {
if (platform != null) {
commanderFroPlatform.streamByeCmd(platform, sendRtpItem);
+ redisCatchStorage.deleteSendRTPServer(platformId, sendRtpItem.getChannelId(), sendRtpItem.getCallId(), sendRtpItem.getStreamId());
} else {
cmder.streamByeCmd(device, sendRtpItem.getChannelId(), param.getStream(), sendRtpItem.getCallId());
}
--
Gitblit v1.8.0