| | |
| | | public static final String SYSTEM_INFO_DISK_PREFIX = "VMP_SYSTEM_INFO_DISK_"; |
| | | |
| | | public static final String REGISTER_EXPIRE_TASK_KEY_PREFIX = "VMP_device_register_expire_"; |
| | | public static final String PUSH_STREAM_LIST = "VMP_PUSH_STREAM_LIST_"; |
| | | |
| | | |
| | | |
| | |
| | | || param.getOriginType() == OriginType.RTC_PUSH.ordinal()) { |
| | | param.setSeverId(userSetting.getServerId()); |
| | | zlmMediaListManager.addPush(param); |
| | | |
| | | // 冗余数据,自己系统中自用 |
| | | redisCatchStorage.addPushListItem(param.getApp(), param.getStream(), param); |
| | | } |
| | | } else { |
| | | // 兼容流注销时类型从redis记录获取 |
| | |
| | | if (onStreamChangedHookParam != null) { |
| | | type = OriginType.values()[onStreamChangedHookParam.getOriginType()].getType(); |
| | | redisCatchStorage.removeStream(mediaInfo.getId(), type, param.getApp(), param.getStream()); |
| | | if ("PUSH".equalsIgnoreCase(type)) { |
| | | // 冗余数据,自己系统中自用 |
| | | redisCatchStorage.removePushListItem(param.getApp(), param.getStream(), param.getMediaServerId()); |
| | | } |
| | | } |
| | | GbStream gbStream = storager.getGbStream(param.getApp(), param.getStream()); |
| | | if (gbStream != null) { |
| | |
| | | redisCatchStorage.sendStreamChangeMsg(type, jsonObject); |
| | | // 移除redis内流的信息 |
| | | redisCatchStorage.removeStream(mediaServerItem.getId(), "PUSH", offlineOnStreamChangedHookParam.getApp(), offlineOnStreamChangedHookParam.getStream()); |
| | | // 冗余数据,自己系统中自用 |
| | | redisCatchStorage.removePushListItem(offlineOnStreamChangedHookParam.getApp(), offlineOnStreamChangedHookParam.getStream(), mediaServerItem.getId()); |
| | | } |
| | | } |
| | | |
| | |
| | | jsonObject.put("register", false); |
| | | jsonObject.put("mediaServerId", mediaServerId); |
| | | redisCatchStorage.sendStreamChangeMsg(type, jsonObject); |
| | | |
| | | // 冗余数据,自己系统中自用 |
| | | redisCatchStorage.removePushListItem(onStreamChangedHookParam.getApp(), onStreamChangedHookParam.getStream(), mediaServerId); |
| | | } |
| | | } |
| | | } |
| | |
| | | void sendPlatformStartPlayMsg(MessageForPushChannel messageForPushChannel); |
| | | |
| | | void sendPlatformStopPlayMsg(MessageForPushChannel messageForPushChannel); |
| | | |
| | | void addPushListItem(String app, String stream, OnStreamChangedHookParam param); |
| | | |
| | | void removePushListItem(String app, String stream, String mediaServerId); |
| | | } |
| | |
| | | logger.info("[redis发送通知] 发送 上级平台停止观看 {}: {}/{}->{}", key, msg.getApp(), msg.getStream(), msg.getPlatFormId()); |
| | | redisTemplate.convertAndSend(key, JSON.toJSON(msg)); |
| | | } |
| | | |
| | | @Override |
| | | public void addPushListItem(String app, String stream, OnStreamChangedHookParam param) { |
| | | String key = VideoManagerConstants.PUSH_STREAM_LIST + app + "_" + stream; |
| | | redisTemplate.opsForValue().set(key, param); |
| | | } |
| | | |
| | | @Override |
| | | public void removePushListItem(String app, String stream, String mediaServerId) { |
| | | String key = VideoManagerConstants.PUSH_STREAM_LIST + app + "_" + stream; |
| | | OnStreamChangedHookParam param = (OnStreamChangedHookParam)redisTemplate.opsForValue().get(key); |
| | | if (param != null && param.getMediaServerId().equalsIgnoreCase(mediaServerId)) { |
| | | redisTemplate.delete(key); |
| | | } |
| | | |
| | | } |
| | | } |