| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | |
| | | } |
| | | result.add(mediaServerItem); |
| | | } |
| | | result.sort((serverItem1, serverItem2)->{ |
| | | int sortResult = 0; |
| | | try { |
| | | sortResult = format.parse(serverItem1.getCreateTime()).compareTo(format.parse(serverItem2.getCreateTime())); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return sortResult; |
| | | }); |
| | | return result; |
| | | } |
| | | |
| | |
| | | result.setMsg("保存失败,媒体服务ID [ " + zlmServerConfig.getGeneralMediaServerId() + " ] 已存在,请修改媒体服务器配置"); |
| | | return result; |
| | | } |
| | | mediaServerItem.setId(zlmServerConfig.getGeneralMediaServerId()); |
| | | zlmServerConfig.setIp(mediaServerItem.getIp()); |
| | | mediaServerMapper.add(mediaServerItem); |
| | | handLeZLMServerConfig(zlmServerConfig); |
| | | result.setCode(0); |
| | | result.setMsg("success"); |
| | |
| | | */ |
| | | @Override |
| | | public void handLeZLMServerConfig(ZLMServerConfig zlmServerConfig) { |
| | | logger.info("[ {} ]-[ {}:{} ]已连接", |
| | | logger.info("[ ZLM:{} ]-[ {}:{} ]已连接", |
| | | zlmServerConfig.getGeneralMediaServerId(), zlmServerConfig.getIp(), zlmServerConfig.getHttpPort()); |
| | | |
| | | MediaServerItem serverItem = mediaServerMapper.queryOne(zlmServerConfig.getGeneralMediaServerId()); |
| | |
| | | } |
| | | if (StringUtils.isEmpty(serverItem.getId())) { |
| | | serverItem.setId(zlmServerConfig.getGeneralMediaServerId()); |
| | | } |
| | | if (redisUtil.get(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId()) == null) { |
| | | SsrcConfig ssrcConfig = new SsrcConfig(serverItem.getId(), null, sipConfig.getDomain()); |
| | | serverItem.setSsrcConfig(ssrcConfig); |
| | | redisUtil.set(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId(), serverItem); |
| | | } |
| | | |
| | | serverItem.setStatus(true); |
| | | mediaServerMapper.update(serverItem); |
| | | resetOnlineServerItem(serverItem); |
| | |
| | | */ |
| | | @Override |
| | | public void setZLMConfig(MediaServerItem mediaServerItem) { |
| | | logger.info("[ {} ]-[ {}:{} ]设置zlm", |
| | | logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm", |
| | | mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort()); |
| | | String protocol = sslEnabled ? "https" : "http"; |
| | | String hookPrex = String.format("%s://%s:%s/index/hook", protocol, mediaServerItem.getHookIp(), serverPort); |
| | |
| | | param.put("hook.on_stream_changed",String.format("%s/on_stream_changed", hookPrex)); |
| | | param.put("hook.on_stream_none_reader",String.format("%s/on_stream_none_reader", hookPrex)); |
| | | param.put("hook.on_stream_not_found",String.format("%s/on_stream_not_found", hookPrex)); |
| | | param.put("hook.on_server_keepalive",String.format("%s/on_server_keepalive", hookPrex)); |
| | | param.put("hook.timeoutSec","20"); |
| | | param.put("general.streamNoneReaderDelayMS","-1".equals(mediaServerItem.getStreamNoneReaderDelayMS())?"3600000":mediaServerItem.getStreamNoneReaderDelayMS() ); |
| | | |
| | | JSONObject responseJSON = zlmresTfulUtils.setServerConfig(mediaServerItem, param); |
| | | |
| | | if (responseJSON != null && responseJSON.getInteger("code") == 0) { |
| | | logger.info("[ {} ]-[ {}:{} ]设置zlm成功", |
| | | logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm成功", |
| | | mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort()); |
| | | }else { |
| | | logger.info("[ {} ]-[ {}:{} ]设置zlm失败", |
| | | logger.info("[ ZLM:{} ]-[ {}:{} ]设置zlm失败", |
| | | mediaServerItem.getId(), mediaServerItem.getIp(), mediaServerItem.getHttpPort()); |
| | | } |
| | | } |