Commit 01519c25746512ef10e9e2ef2d86ea7b60b9046e

Authored by 648540858
1 parent cf8e40c1

添加首次设置zlm时重启zlm以保证心跳正常。

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -238,6 +238,10 @@ public class ZLMRESTfulUtils { @@ -238,6 +238,10 @@ public class ZLMRESTfulUtils {
238 return sendPost(mediaServerItem, "stopSendRtp",param, null); 238 return sendPost(mediaServerItem, "stopSendRtp",param, null);
239 } 239 }
240 240
  241 + public JSONObject restartServer(MediaServerItem mediaServerItem) {
  242 + return sendPost(mediaServerItem, "restartServer",null, null);
  243 + }
  244 +
241 public JSONObject addStreamProxy(MediaServerItem mediaServerItem, String app, String stream, String url, boolean enable_hls, boolean enable_mp4, String rtp_type) { 245 public JSONObject addStreamProxy(MediaServerItem mediaServerItem, String app, String stream, String url, boolean enable_hls, boolean enable_mp4, String rtp_type) {
242 Map<String, Object> param = new HashMap<>(); 246 Map<String, Object> param = new HashMap<>();
243 param.put("vhost", "__defaultVhost__"); 247 param.put("vhost", "__defaultVhost__");
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -40,7 +40,7 @@ public interface IMediaServerService { @@ -40,7 +40,7 @@ public interface IMediaServerService {
40 40
41 MediaServerItem getMediaServerForMinimumLoad(); 41 MediaServerItem getMediaServerForMinimumLoad();
42 42
43 - void setZLMConfig(MediaServerItem mediaServerItem); 43 + void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
44 44
45 SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId); 45 SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
46 46
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -373,7 +373,7 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR @@ -373,7 +373,7 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
373 redisUtil.set(key, serverItem); 373 redisUtil.set(key, serverItem);
374 resetOnlineServerItem(serverItem); 374 resetOnlineServerItem(serverItem);
375 updateMediaServerKeepalive(serverItem.getId(), null); 375 updateMediaServerKeepalive(serverItem.getId(), null);
376 - setZLMConfig(serverItem); 376 + setZLMConfig(serverItem, "0".equals(zlmServerConfig.getHookEnable()));
377 publisher.zlmOnlineEventPublish(serverItem.getId()); 377 publisher.zlmOnlineEventPublish(serverItem.getId());
378 378
379 } 379 }
@@ -448,9 +448,10 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR @@ -448,9 +448,10 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
448 /** 448 /**
449 * 对zlm服务器进行基础配置 449 * 对zlm服务器进行基础配置
450 * @param mediaServerItem 服务ID 450 * @param mediaServerItem 服务ID
  451 + * @param restart 是否重启zlm
451 */ 452 */
452 @Override 453 @Override
453 - public void setZLMConfig(MediaServerItem mediaServerItem) { 454 + public void setZLMConfig(MediaServerItem mediaServerItem, boolean restart) {
454 logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm", 455 logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm",
455 mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort()); 456 mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
456 String protocol = sslEnabled ? "https" : "http"; 457 String protocol = sslEnabled ? "https" : "http";
@@ -483,12 +484,22 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR @@ -483,12 +484,22 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
483 JSONObject responseJSON = zlmresTfulUtils.setServerConfig(mediaServerItem, param); 484 JSONObject responseJSON = zlmresTfulUtils.setServerConfig(mediaServerItem, param);
484 485
485 if (responseJSON != null && responseJSON.getInteger("code") == 0) { 486 if (responseJSON != null && responseJSON.getInteger("code") == 0) {
486 - logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm成功",  
487 - mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort()); 487 + if (restart) {
  488 + logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm成功, 开始重启以保证配置生效",
  489 + mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
  490 + zlmresTfulUtils.restartServer(mediaServerItem);
  491 + }else {
  492 + logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm成功",
  493 + mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
  494 + }
  495 +
  496 +
488 }else { 497 }else {
489 logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm失败", 498 logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm失败",
490 mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort()); 499 mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort());
491 } 500 }
  501 +
  502 +
492 } 503 }
493 504
494 505