From 01519c25746512ef10e9e2ef2d86ea7b60b9046e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 17 十二月 2021 16:06:23 +0800
Subject: [PATCH] 添加首次设置zlm时重启zlm以保证心跳正常。
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java | 4 ++++
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 19 +++++++++++++++----
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java | 2 +-
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
index e4bcd31..c5e01d8 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -238,6 +238,10 @@
return sendPost(mediaServerItem, "stopSendRtp",param, null);
}
+ public JSONObject restartServer(MediaServerItem mediaServerItem) {
+ return sendPost(mediaServerItem, "restartServer",null, null);
+ }
+
public JSONObject addStreamProxy(MediaServerItem mediaServerItem, String app, String stream, String url, boolean enable_hls, boolean enable_mp4, String rtp_type) {
Map<String, Object> param = new HashMap<>();
param.put("vhost", "__defaultVhost__");
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
index fcba07f..56ffbf0 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -40,7 +40,7 @@
MediaServerItem getMediaServerForMinimumLoad();
- void setZLMConfig(MediaServerItem mediaServerItem);
+ void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
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 5b17068..cd5f8ab 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
@@ -373,7 +373,7 @@
redisUtil.set(key, serverItem);
resetOnlineServerItem(serverItem);
updateMediaServerKeepalive(serverItem.getId(), null);
- setZLMConfig(serverItem);
+ setZLMConfig(serverItem, "0".equals(zlmServerConfig.getHookEnable()));
publisher.zlmOnlineEventPublish(serverItem.getId());
}
@@ -448,9 +448,10 @@
/**
* 瀵箊lm鏈嶅姟鍣ㄨ繘琛屽熀纭�閰嶇疆
* @param mediaServerItem 鏈嶅姟ID
+ * @param restart 鏄惁閲嶅惎zlm
*/
@Override
- public void setZLMConfig(MediaServerItem mediaServerItem) {
+ public void setZLMConfig(MediaServerItem mediaServerItem, boolean restart) {
logger.info("[ ZLM锛歿} ]-[ {}:{} ]璁剧疆zlm",
mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
String protocol = sslEnabled ? "https" : "http";
@@ -483,12 +484,22 @@
JSONObject responseJSON = zlmresTfulUtils.setServerConfig(mediaServerItem, param);
if (responseJSON != null && responseJSON.getInteger("code") == 0) {
- logger.info("[ ZLM锛歿} ]-[ {}:{} ]璁剧疆zlm鎴愬姛",
- mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
+ if (restart) {
+ logger.info("[ ZLM锛歿} ]-[ {}:{} ]璁剧疆zlm鎴愬姛, 寮�濮嬮噸鍚互淇濊瘉閰嶇疆鐢熸晥",
+ mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
+ zlmresTfulUtils.restartServer(mediaServerItem);
+ }else {
+ logger.info("[ ZLM锛歿} ]-[ {}:{} ]璁剧疆zlm鎴愬姛",
+ mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
+ }
+
+
}else {
logger.info("[ ZLM锛歿} ]-[ {}:{} ]璁剧疆zlm澶辫触",
mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
}
+
+
}
--
Gitblit v1.8.0