648540858
2022-02-24 a42dda2bd3cc1cf8c20cc61e7ad9211eadecbaf3
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -63,10 +63,9 @@
            mediaServerService.addToDatabase(mediaConfig.getMediaSerItem());
        }else {
            MediaServerItem mediaSerItem = mediaConfig.getMediaSerItem();
            mediaSerItem.setId(defaultMediaServer.getId());
            mediaServerService.updateToDatabase(mediaSerItem);
        }
        mediaServerService.syncCatchFromDatabase();
        // 订阅 zlm启动事件, 新的zlm也会从这里进入系统
        hookSubscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_server_started,null,
                (MediaServerItem mediaServerItem, JSONObject response)->{
@@ -89,7 +88,7 @@
                });
        // 获取zlm信息
        logger.info("等待默认zlm接入...");
        logger.info("[zlm接入]等待默认zlm中...");
        // 获取所有的zlm, 并开启主动连接
        List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
@@ -104,7 +103,7 @@
            });
        }
        Timer timer = new Timer();
        // 2分钟后未连接到则不再去主动连接, TODO 并对重启前使用此在zlm的通道发送bye
        // 10分钟后未连接到则不再去主动连接, TODO 并对重启前使用此在zlm的通道发送bye
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
@@ -117,7 +116,7 @@
            }
            //  TODO 清理数据库中与redis不匹配的zlm
            }
        }, 60 * 1000 * 2);
        }, 60 * 1000 * 10);
    }
    @Async
@@ -145,7 +144,6 @@
            JSONArray data = responseJSON.getJSONArray("data");
            if (data != null && data.size() > 0) {
                ZLMServerConfig = JSON.parseObject(JSON.toJSONString(data.get(0)), ZLMServerConfig.class);
                ZLMServerConfig.setIp(mediaServerItem.getIp());
            }
        } else {
            logger.error("[ {} ]-[ {}:{} ]第{}次主动连接失败, 2s后重试",