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 90a73b3e..716f1dff 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 @@ -649,19 +649,18 @@ public class MediaServerServiceImpl implements IMediaServerService { MediaServerItem mediaServerItem = getOne(mediaServerId); if (mediaServerItem == null) { // 缓存不存在,从数据库查询,如果数据库不存在则是错误的 - MediaServerItem mediaServerItemFromDatabase = getOneFromDatabase(mediaServerId); - if (mediaServerItemFromDatabase == null) { - return; - } - // zlm连接重试 - logger.warn("[更新ZLM 保活信息]失败,未找到流媒体信息,尝试重连zlm"); -// reloadZlm(); - mediaServerItem = getOne(mediaServerId); + mediaServerItem = getOneFromDatabase(mediaServerId); if (mediaServerItem == null) { - // zlm连接重试 logger.warn("[更新ZLM 保活信息]失败,未找到流媒体信息"); return; } + // zlm连接重试 + logger.warn("[更新ZLM 保活信息]尝试链接zml id {}", mediaServerId); + SsrcConfig ssrcConfig = new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getDomain()); + mediaServerItem.setSsrcConfig(ssrcConfig); + String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetting.getServerId() + "_" + mediaServerItem.getId(); + RedisUtil.set(key, mediaServerItem); + clearRTPServer(mediaServerItem); } final String zlmKeepaliveKey = zlmKeepaliveKeyPrefix + mediaServerItem.getId(); dynamicTask.stop(zlmKeepaliveKey);