From f84eebdb75a6af1894b057b0255b01992bdd4f03 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 27 七月 2022 16:16:12 +0800
Subject: [PATCH] 优化部分hook订阅
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java | 11 +----------
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 8 +++++++-
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 5 +++--
src/main/java/com/genersoft/iot/vmp/service/impl/RedisPushStreamStatusMsgListener.java | 6 +++---
4 files changed, 14 insertions(+), 16 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 11dd817..b1f0fec 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
@@ -108,6 +108,7 @@
subscribe.response(null, json);
}
}
+ mediaServerService.updateMediaServerKeepalive(mediaServerId, json.getJSONObject("data"));
JSONObject ret = new JSONObject();
ret.put("code", 0);
@@ -619,10 +620,15 @@
subscribe.response(null, jsonObject);
}
}
+
+ ZLMServerConfig zlmServerConfig = JSONObject.toJavaObject(jsonObject, ZLMServerConfig.class);
+ if (zlmServerConfig !=null ) {
+ mediaServerService.zlmServerOnline(zlmServerConfig);
+ }
JSONObject ret = new JSONObject();
ret.put("code", 0);
ret.put("msg", "success");
- return new ResponseEntity<String>(ret.toString(),HttpStatus.OK);
+ return new ResponseEntity<>(ret.toString(),HttpStatus.OK);
}
private Map<String, String> urlParamToMap(String params) {
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
index 138af7a..1bfb730 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -75,18 +75,8 @@
if (startGetMedia != null) {
startGetMedia.remove(zlmServerConfig.getGeneralMediaServerId());
}
- mediaServerService.zlmServerOnline(zlmServerConfig);
}
});
-
- // 璁㈤槄 zlm淇濇椿浜嬩欢, 褰搝lm绂荤嚎鏃跺仛涓氬姟鐨勫鐞�
- hookSubscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_server_keepalive,new JSONObject(),
- (MediaServerItem mediaServerItem, JSONObject response)->{
- String mediaServerId = response.getString("mediaServerId");
- if (mediaServerId !=null ) {
- mediaServerService.updateMediaServerKeepalive(mediaServerId, response.getJSONObject("data"));
- }
- });
// 鑾峰彇zlm淇℃伅
logger.info("[zlm] 绛夊緟榛樿zlm涓�...");
@@ -113,6 +103,7 @@
}
startGetMedia = null;
}
+ hookSubscribe.removeSubscribe(ZLMHttpHookSubscribe.HookType.on_server_started, new JSONObject());
// TODO 娓呯悊鏁版嵁搴撲腑涓巖edis涓嶅尮閰嶇殑zlm
}, 60 * 1000 );
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index a07a9f3..bba86a7 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -355,14 +355,15 @@
*/
@Override
public void zlmServerOnline(ZLMServerConfig zlmServerConfig) {
- logger.info("[ZLM] 姝e湪杩炴帴 : {} -> {}:{}",
- zlmServerConfig.getGeneralMediaServerId(), zlmServerConfig.getIp(), zlmServerConfig.getHttpPort());
MediaServerItem serverItem = mediaServerMapper.queryOne(zlmServerConfig.getGeneralMediaServerId());
if (serverItem == null) {
logger.warn("[鏈敞鍐岀殑zlm] 鎷掓帴鎺ュ叆锛歿}鏉ヨ嚜{}锛歿}", zlmServerConfig.getGeneralMediaServerId(), zlmServerConfig.getIp(),zlmServerConfig.getHttpPort() );
logger.warn("璇锋鏌LM鐨�<general.mediaServerId>閰嶇疆鏄惁涓嶹VP鐨�<media.id>涓�鑷�");
return;
+ }else {
+ logger.info("[ZLM] 姝e湪杩炴帴 : {} -> {}:{}",
+ zlmServerConfig.getGeneralMediaServerId(), zlmServerConfig.getIp(), zlmServerConfig.getHttpPort());
}
serverItem.setHookAliveInterval(zlmServerConfig.getHookAliveInterval());
if (serverItem.getHttpPort() == 0) {
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/RedisPushStreamStatusMsgListener.java b/src/main/java/com/genersoft/iot/vmp/service/impl/RedisPushStreamStatusMsgListener.java
index 8606702..50e894a 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/RedisPushStreamStatusMsgListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/RedisPushStreamStatusMsgListener.java
@@ -66,7 +66,7 @@
@Override
public void onMessage(Message message, byte[] bytes) {
// TODO 澧炲姞闃熷垪
- logger.warn("[REDIS 娑堟伅-鎺ㄦ祦璁惧鐘舵�佸彉鍖朷锛� {}", new String(message.getBody()));
+ logger.warn("[REDIS娑堟伅-鎺ㄦ祦璁惧鐘舵�佸彉鍖朷锛� {}", new String(message.getBody()));
taskQueue.offer(message);
if (!taskQueueHandlerRun) {
@@ -76,7 +76,7 @@
Message msg = taskQueue.poll();
PushStreamStatusChangeFromRedisDto statusChangeFromPushStream = JSON.parseObject(msg.getBody(), PushStreamStatusChangeFromRedisDto.class);
if (statusChangeFromPushStream == null) {
- logger.warn("[REDIS 娑堟伅]鎺ㄦ祦璁惧鐘舵�佸彉鍖栨秷鎭В鏋愬け璐�");
+ logger.warn("[REDIS娑堟伅]鎺ㄦ祦璁惧鐘舵�佸彉鍖栨秷鎭В鏋愬け璐�");
return;
}
// 鍙栨秷瀹氭椂浠诲姟
@@ -106,7 +106,7 @@
// 鍚姩鏃惰缃墍鏈夋帹娴侀�氶亾绂荤嚎锛屽彂璧锋煡璇㈣姹�
redisCatchStorage.sendStreamPushRequestedMsgForStatus();
dynamicTask.startDelay(VideoManagerConstants.VM_MSG_GET_ALL_ONLINE_REQUESTED, ()->{
- logger.info("[REDIS 娑堟伅]鏈敹鍒皉edis鍥炲鎺ㄦ祦璁惧鐘舵�侊紝鎵ц鎺ㄦ祦璁惧绂荤嚎");
+ logger.info("[REDIS娑堟伅]鏈敹鍒皉edis鍥炲鎺ㄦ祦璁惧鐘舵�侊紝鎵ц鎺ㄦ祦璁惧绂荤嚎");
// 浜旂鏀朵笉鍒拌姹傚氨璁剧疆閫氶亾绂荤嚎锛岀劧鍚庨�氱煡涓婄骇绂荤嚎
streamPushService.allStreamOffline();
}, 5000);
--
Gitblit v1.8.0