| | |
| | | logger.info("流变化:注册 app->{}, stream->{}", event.getApp(), event.getStream()); |
| | | addCount(event.getMediaServer().getId()); |
| | | String type = OriginType.values()[event.getMediaInfo().getOriginType()].getType(); |
| | | if (event.getApp().equals("onvif")) { |
| | | type = "onvif"; |
| | | } |
| | | redisCatchStorage.addStream(event.getMediaServer(), type, event.getApp(), event.getStream(), event.getMediaInfo()); |
| | | } |
| | | } |
| | |
| | | if ("rtsp".equals(event.getSchema())) { |
| | | logger.info("流变化:注销, app->{}, stream->{}", event.getApp(), event.getStream()); |
| | | removeCount(event.getMediaServer().getId()); |
| | | String type; |
| | | MediaInfo mediaInfo = redisCatchStorage.getStreamInfo( |
| | | event.getApp(), event.getStream(), event.getMediaServer().getId()); |
| | | if (event.getApp().equals("onvif")) { |
| | | type = "onvif"; |
| | | }else { |
| | | type = OriginType.values()[mediaInfo.getOriginType()].getType(); |
| | | if (mediaInfo == null) { |
| | | return; |
| | | } |
| | | String type = OriginType.values()[mediaInfo.getOriginType()].getType(); |
| | | redisCatchStorage.removeStream(mediaInfo.getMediaServer().getId(), type, event.getApp(), event.getStream()); |
| | | } |
| | | |
| | |
| | | logger.info("[添加媒体节点] 失败, mediaServer的类型: {},未找到对应的实现类", mediaServer.getType()); |
| | | return; |
| | | } |
| | | |
| | | mediaServerMapper.add(mediaServer); |
| | | if (mediaServer.isStatus()) { |
| | | mediaNodeServerService.online(mediaServer); |
| | |
| | | return false; |
| | | } |
| | | return mediaNodeServerService.stopSendRtp(mediaInfo, app, stream, ssrc); |
| | | } |
| | | |
| | | @Override |
| | | public boolean initStopSendRtp(MediaServer mediaInfo, String app, String stream, String ssrc) { |
| | | IMediaNodeServerService mediaNodeServerService = nodeServerServiceMap.get(mediaInfo.getType()); |
| | | if (mediaNodeServerService == null) { |
| | | logger.info("[stopSendRtp] 失败, mediaServer的类型: {},未找到对应的实现类", mediaInfo.getType()); |
| | | return false; |
| | | } |
| | | return mediaNodeServerService.initStopSendRtp(mediaInfo, app, stream, ssrc); |
| | | } |
| | | |
| | | @Override |
| | |
| | | sendRtpItem.setRtcp(rtcp); |
| | | return sendRtpItem; |
| | | } |
| | | |
| | | @Override |
| | | public MediaServer getMediaServerByAppAndStream(String app, String stream) { |
| | | List<MediaServer> mediaServerList = getAll(); |
| | | for (MediaServer mediaServer : mediaServerList) { |
| | | MediaInfo mediaInfo = getMediaInfo(mediaServer, app, stream); |
| | | if (mediaInfo != null) { |
| | | return mediaServer; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |