| | |
| | | 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)->{ |
| | |
| | | }); |
| | | |
| | | // 获取zlm信息 |
| | | logger.info("等待默认zlm接入..."); |
| | | logger.info("[zlm接入]等待默认zlm中..."); |
| | | |
| | | // 获取所有的zlm, 并开启主动连接 |
| | | List<MediaServerItem> all = mediaServerService.getAllFromDatabase(); |
| | |
| | | }); |
| | | } |
| | | Timer timer = new Timer(); |
| | | // 2分钟后未连接到则不再去主动连接, TODO 并对重启前使用此在zlm的通道发送bye |
| | | // 10分钟后未连接到则不再去主动连接, TODO 并对重启前使用此在zlm的通道发送bye |
| | | timer.schedule(new TimerTask() { |
| | | @Override |
| | | public void run() { |
| | |
| | | } |
| | | // TODO 清理数据库中与redis不匹配的zlm |
| | | } |
| | | }, 60 * 1000 * 2); |
| | | }, 60 * 1000 * 10); |
| | | } |
| | | |
| | | @Async |
| | |
| | | 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后重试", |