Commit 01519c25746512ef10e9e2ef2d86ea7b60b9046e
1 parent
cf8e40c1
添加首次设置zlm时重启zlm以保证心跳正常。
Showing
3 changed files
with
20 additions
and
5 deletions
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 |