648540858 пре 2 година
родитељ
комит
9889f908c8

+ 2 - 8
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java

@@ -14,7 +14,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderProvider;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderProvider;
 import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
 import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
-import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
+import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
@@ -24,7 +24,6 @@ import com.genersoft.iot.vmp.media.zlm.dto.hook.HookParam;
 import com.genersoft.iot.vmp.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import com.genersoft.iot.vmp.utils.DateUtil;
 import com.genersoft.iot.vmp.utils.DateUtil;
-import com.genersoft.iot.vmp.utils.GitUtil;
 import gov.nist.javax.sip.message.SIPRequest;
 import gov.nist.javax.sip.message.SIPRequest;
 import gov.nist.javax.sip.message.SIPResponse;
 import gov.nist.javax.sip.message.SIPResponse;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
@@ -74,16 +73,11 @@ public class SIPCommander implements ISIPCommander {
     @Autowired
     @Autowired
     private ZlmHttpHookSubscribe subscribe;
     private ZlmHttpHookSubscribe subscribe;
 
 
-    @Autowired
-    private GitUtil gitUtil;
-
-
-
     @Autowired
     @Autowired
     private IMediaServerService mediaServerService;
     private IMediaServerService mediaServerService;
 
 
     @Autowired
     @Autowired
-    private ZLMRTPServerFactory zlmrtpServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
 
 
     /**
     /**

+ 2 - 4
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java

@@ -1,7 +1,6 @@
 package com.genersoft.iot.vmp.gb28181.transmit.cmd.impl;
 package com.genersoft.iot.vmp.gb28181.transmit.cmd.impl;
 
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
 import com.genersoft.iot.vmp.common.InviteSessionType;
 import com.genersoft.iot.vmp.common.InviteSessionType;
 import com.genersoft.iot.vmp.conf.DynamicTask;
 import com.genersoft.iot.vmp.conf.DynamicTask;
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.conf.UserSetting;
@@ -14,7 +13,6 @@ import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderPlarformProvider;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderPlarformProvider;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
-import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
@@ -69,7 +67,7 @@ public class SIPCommanderFroPlatform implements ISIPCommanderForPlatform {
     private SipSubscribe sipSubscribe;
     private SipSubscribe sipSubscribe;
 
 
     @Autowired
     @Autowired
-    private ZLMServerFactory ZLMServerFactory;
+    private ZLMServerFactory zlmserverfactory;
 
 
     @Autowired
     @Autowired
     private SipLayer sipLayer;
     private SipLayer sipLayer;
@@ -844,7 +842,7 @@ public class SIPCommanderFroPlatform implements ISIPCommanderForPlatform {
         MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId);
         MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId);
         if (mediaServerItem != null) {
         if (mediaServerItem != null) {
             mediaServerService.releaseSsrc(mediaServerItem.getId(), sendRtpItem.getSsrc());
             mediaServerService.releaseSsrc(mediaServerItem.getId(), sendRtpItem.getSsrc());
-            zlmrtpServerFactory.closeRtpServer(mediaServerItem, sendRtpItem.getStream());
+            zlmserverfactory.closeRtpServer(mediaServerItem, sendRtpItem.getStream());
         }
         }
         SIPRequest byeRequest = headerProviderPlatformProvider.createByeRequest(platform, sendRtpItem);
         SIPRequest byeRequest = headerProviderPlatformProvider.createByeRequest(platform, sendRtpItem);
         if (byeRequest == null) {
         if (byeRequest == null) {

+ 5 - 5
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/AckRequestProcessor.java

@@ -66,7 +66,7 @@ public class AckRequestProcessor extends SIPRequestProcessorParent implements In
 	private IDeviceService deviceService;
 	private IDeviceService deviceService;
 
 
 	@Autowired
 	@Autowired
-	private ZLMServerFactory ZLMServerFactory;
+	private ZLMServerFactory zlmServerFactory;
 
 
 	@Autowired
 	@Autowired
 	private ZlmHttpHookSubscribe hookSubscribe;
 	private ZlmHttpHookSubscribe hookSubscribe;
@@ -168,19 +168,19 @@ public class AckRequestProcessor extends SIPRequestProcessorParent implements In
 		JSONObject startSendRtpStreamResult = null;
 		JSONObject startSendRtpStreamResult = null;
 		if (sendRtpItem.getLocalPort() != 0) {
 		if (sendRtpItem.getLocalPort() != 0) {
 			if (sendRtpItem.isTcpActive()) {
 			if (sendRtpItem.isTcpActive()) {
-				startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpPassive(mediaInfo, param);
+				startSendRtpStreamResult = zlmServerFactory.startSendRtpPassive(mediaInfo, param);
 			}else {
 			}else {
 				param.put("dst_url", sendRtpItem.getIp());
 				param.put("dst_url", sendRtpItem.getIp());
 				param.put("dst_port", sendRtpItem.getPort());
 				param.put("dst_port", sendRtpItem.getPort());
-				startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);
+				startSendRtpStreamResult = zlmServerFactory.startSendRtpStream(mediaInfo, param);
 			}
 			}
 		}else {
 		}else {
 			if (sendRtpItem.isTcpActive()) {
 			if (sendRtpItem.isTcpActive()) {
-				startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpPassive(mediaInfo, param);
+				startSendRtpStreamResult = zlmServerFactory.startSendRtpPassive(mediaInfo, param);
 			}else {
 			}else {
 				param.put("dst_url", sendRtpItem.getIp());
 				param.put("dst_url", sendRtpItem.getIp());
 				param.put("dst_port", sendRtpItem.getPort());
 				param.put("dst_port", sendRtpItem.getPort());
-				startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);
+				startSendRtpStreamResult = zlmServerFactory.startSendRtpStream(mediaInfo, param);
 			}
 			}
 		}
 		}
 		return startSendRtpStreamResult;
 		return startSendRtpStreamResult;

+ 9 - 29
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java

@@ -7,19 +7,14 @@ import com.genersoft.iot.vmp.conf.SipConfig;
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.conf.UserSetting;
 import com.genersoft.iot.vmp.gb28181.bean.*;
 import com.genersoft.iot.vmp.gb28181.bean.*;
 import com.genersoft.iot.vmp.gb28181.session.AudioBroadcastManager;
 import com.genersoft.iot.vmp.gb28181.session.AudioBroadcastManager;
-import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
 import com.genersoft.iot.vmp.gb28181.session.SSRCFactory;
 import com.genersoft.iot.vmp.gb28181.session.SSRCFactory;
 import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver;
 import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver;
 import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
 import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
-import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
-import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.ISIPRequestProcessor;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.ISIPRequestProcessor;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager;
 import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager;
-import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
-import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.dto.*;
 import com.genersoft.iot.vmp.media.zlm.dto.*;
@@ -103,17 +98,11 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
     private AudioBroadcastManager audioBroadcastManager;
     private AudioBroadcastManager audioBroadcastManager;
 
 
     @Autowired
     @Autowired
-    private ZLMServerFactory ZLMServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
     @Autowired
     @Autowired
     private IMediaServerService mediaServerService;
     private IMediaServerService mediaServerService;
 
 
-    @Autowired
-    private ISIPCommander commander;
-
-    @Autowired
-    private ZLMRESTfulUtils zlmresTfulUtils;
-
     @Autowired
     @Autowired
     private ZlmHttpHookSubscribe zlmHttpHookSubscribe;
     private ZlmHttpHookSubscribe zlmHttpHookSubscribe;
 
 
@@ -126,18 +115,9 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
     @Autowired
     @Autowired
     private ZLMMediaListManager mediaListManager;
     private ZLMMediaListManager mediaListManager;
 
 
-    @Autowired
-    private DeferredResultHolder resultHolder;
-
-    @Autowired
-    private ZlmHttpHookSubscribe subscribe;
-
     @Autowired
     @Autowired
     private SipConfig config;
     private SipConfig config;
 
 
-    @Autowired
-    private VideoStreamSessionManager streamSession;
-
 
 
     @Autowired
     @Autowired
     private RedisGbPlayMsgListener redisGbPlayMsgListener;
     private RedisGbPlayMsgListener redisGbPlayMsgListener;
@@ -375,7 +355,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
                         streamTypeStr = "UDP";
                         streamTypeStr = "UDP";
                     }
                     }
                     logger.info("[上级Invite] {}, 平台:{}, 通道:{}, 收流地址:{}:{},收流方式:{}, ssrc:{}", sessionName, username, channelId, addressStr, port, streamTypeStr, ssrc);
                     logger.info("[上级Invite] {}, 平台:{}, 通道:{}, 收流地址:{}:{},收流方式:{}, ssrc:{}", sessionName, username, channelId, addressStr, port, streamTypeStr, ssrc);
-                    SendRtpItem sendRtpItem = ZLMServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
+                    SendRtpItem sendRtpItem = zlmServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
                             device.getDeviceId(), channelId, mediaTransmissionTCP, platform.isRtcp());
                             device.getDeviceId(), channelId, mediaTransmissionTCP, platform.isRtcp());
 
 
                     if (tcpActive != null) {
                     if (tcpActive != null) {
@@ -578,10 +558,10 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
                             CallIdHeader callIdHeader, MediaServerItem mediaServerItem,
                             CallIdHeader callIdHeader, MediaServerItem mediaServerItem,
                             int port, Boolean tcpActive, boolean mediaTransmissionTCP,
                             int port, Boolean tcpActive, boolean mediaTransmissionTCP,
                             String channelId, String addressStr, String ssrc, String requesterId) {
                             String channelId, String addressStr, String ssrc, String requesterId) {
-            Boolean streamReady = ZLMServerFactory.isStreamReady(mediaServerItem, gbStream.getApp(), gbStream.getStream());
+            Boolean streamReady = zlmServerFactory.isStreamReady(mediaServerItem, gbStream.getApp(), gbStream.getStream());
             if (streamReady != null && streamReady) {
             if (streamReady != null && streamReady) {
                 // 自平台内容
                 // 自平台内容
-                SendRtpItem sendRtpItem = ZLMServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
+                SendRtpItem sendRtpItem = zlmServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
                         gbStream.getApp(), gbStream.getStream(), channelId, mediaTransmissionTCP, platform.isRtcp());
                         gbStream.getApp(), gbStream.getStream(), channelId, mediaTransmissionTCP, platform.isRtcp());
 
 
             if (sendRtpItem == null) {
             if (sendRtpItem == null) {
@@ -618,10 +598,10 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
                             String channelId, String addressStr, String ssrc, String requesterId) {
                             String channelId, String addressStr, String ssrc, String requesterId) {
         // 推流
         // 推流
         if (streamPushItem.isSelf()) {
         if (streamPushItem.isSelf()) {
-            Boolean streamReady = ZLMServerFactory.isStreamReady(mediaServerItem, gbStream.getApp(), gbStream.getStream());
+            Boolean streamReady = zlmServerFactory.isStreamReady(mediaServerItem, gbStream.getApp(), gbStream.getStream());
             if (streamReady != null && streamReady) {
             if (streamReady != null && streamReady) {
                 // 自平台内容
                 // 自平台内容
-                SendRtpItem sendRtpItem = ZLMServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
+                SendRtpItem sendRtpItem = zlmServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
                         gbStream.getApp(), gbStream.getStream(), channelId, mediaTransmissionTCP, platform.isRtcp());
                         gbStream.getApp(), gbStream.getStream(), channelId, mediaTransmissionTCP, platform.isRtcp());
 
 
                 if (sendRtpItem == null) {
                 if (sendRtpItem == null) {
@@ -736,7 +716,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
             mediaListManager.addChannelOnlineEventLister(gbStream.getApp(), gbStream.getStream(), (app, stream, serverId) -> {
             mediaListManager.addChannelOnlineEventLister(gbStream.getApp(), gbStream.getStream(), (app, stream, serverId) -> {
                 dynamicTask.stop(callIdHeader.getCallId());
                 dynamicTask.stop(callIdHeader.getCallId());
                 if (serverId.equals(userSetting.getServerId())) {
                 if (serverId.equals(userSetting.getServerId())) {
-                    SendRtpItem sendRtpItem = ZLMServerFactory.createSendRtpItem(mediaServerItem, addressStr, finalPort, ssrc, requesterId,
+                    SendRtpItem sendRtpItem = zlmServerFactory.createSendRtpItem(mediaServerItem, addressStr, finalPort, ssrc, requesterId,
                             app, stream, channelId, mediaTransmissionTCP, platform.isRtcp());
                             app, stream, channelId, mediaTransmissionTCP, platform.isRtcp());
 
 
                     if (sendRtpItem == null) {
                     if (sendRtpItem == null) {
@@ -1011,7 +991,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
                         mediaTransmissionTCP ? (tcpActive ? "TCP主动" : "TCP被动") : "UDP", sdp.getSessionName().getValue());
                         mediaTransmissionTCP ? (tcpActive ? "TCP主动" : "TCP被动") : "UDP", sdp.getSessionName().getValue());
                 CallIdHeader callIdHeader = (CallIdHeader) request.getHeader(CallIdHeader.NAME);
                 CallIdHeader callIdHeader = (CallIdHeader) request.getHeader(CallIdHeader.NAME);
 
 
-                SendRtpItem sendRtpItem = zlmrtpServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
+                SendRtpItem sendRtpItem = zlmServerFactory.createSendRtpItem(mediaServerItem, addressStr, port, ssrc, requesterId,
                         device.getDeviceId(), broadcastCatch.getChannelId(),
                         device.getDeviceId(), broadcastCatch.getChannelId(),
                         mediaTransmissionTCP, false);
                         mediaTransmissionTCP, false);
 
 
@@ -1045,7 +1025,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
 
 
                 redisCatchStorage.updateSendRTPSever(sendRtpItem);
                 redisCatchStorage.updateSendRTPSever(sendRtpItem);
 
 
-                Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServerItem, broadcastCatch.getApp(), broadcastCatch.getStream());
+                Boolean streamReady = zlmServerFactory.isStreamReady(mediaServerItem, broadcastCatch.getApp(), broadcastCatch.getStream());
                 if (streamReady) {
                 if (streamReady) {
                     sendOk(device, sendRtpItem, sdp, request, mediaServerItem, mediaTransmissionTCP, ssrc);
                     sendOk(device, sendRtpItem, sdp, request, mediaServerItem, mediaTransmissionTCP, ssrc);
                 } else {
                 } else {

+ 3 - 3
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/BroadcastNotifyMessageHandler.java

@@ -8,7 +8,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.NotifyMessageHandler;
 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.NotifyMessageHandler;
-import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
+import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.service.IDeviceService;
 import com.genersoft.iot.vmp.service.IDeviceService;
@@ -65,7 +65,7 @@ public class BroadcastNotifyMessageHandler extends SIPRequestProcessorParent imp
     private AudioBroadcastManager audioBroadcastManager;
     private AudioBroadcastManager audioBroadcastManager;
 
 
     @Autowired
     @Autowired
-    private ZLMRTPServerFactory zlmrtpServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
     @Autowired
     @Autowired
     private IRedisCatchStorage redisCatchStorage;
     private IRedisCatchStorage redisCatchStorage;
@@ -163,7 +163,7 @@ public class BroadcastNotifyMessageHandler extends SIPRequestProcessorParent imp
                                     }
                                     }
                                 }else {
                                 }else {
                                     // 发流
                                     // 发流
-                                    JSONObject jsonObject = zlmrtpServerFactory.startSendRtp(mediaServerItem, sendRtpItem);
+                                    JSONObject jsonObject = zlmServerFactory.startSendRtp(mediaServerItem, sendRtpItem);
                                     if (jsonObject != null && jsonObject.getInteger("code") == 0 ) {
                                     if (jsonObject != null && jsonObject.getInteger("code") == 0 ) {
                                         logger.info("[语音喊话] 自动推流成功, device: {}, channel: {}", device.getDeviceId(), targetId);
                                         logger.info("[语音喊话] 自动推流成功, device: {}, channel: {}", device.getDeviceId(), targetId);
                                     }else {
                                     }else {

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java

@@ -67,7 +67,7 @@ public class ZLMHttpHookListener {
     private AudioBroadcastManager audioBroadcastManager;
     private AudioBroadcastManager audioBroadcastManager;
 
 
     @Autowired
     @Autowired
-    private ZLMRTPServerFactory zlmrtpServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
     @Autowired
     @Autowired
     private IPlayService playService;
     private IPlayService playService;

+ 5 - 5
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java

@@ -87,7 +87,7 @@ public class MediaServerServiceImpl implements IMediaServerService {
 
 
 
 
     @Autowired
     @Autowired
-    private ZLMServerFactory ZLMServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
     @Autowired
     @Autowired
     private EventPublisher publisher;
     private EventPublisher publisher;
@@ -183,7 +183,7 @@ public class MediaServerServiceImpl implements IMediaServerService {
         }
         }
         int rtpServerPort;
         int rtpServerPort;
         if (mediaServerItem.isRtpEnable()) {
         if (mediaServerItem.isRtpEnable()) {
-            rtpServerPort = zlmrtpServerFactory.createRTPServer(mediaServerItem, streamId, ssrcCheck?Integer.parseInt(ssrc):0, port, onlyAuto, reUsePort, tcpMode);
+            rtpServerPort = zlmServerFactory.createRTPServer(mediaServerItem, streamId, ssrcCheck?Integer.parseInt(ssrc):0, port, onlyAuto, reUsePort, tcpMode);
         } else {
         } else {
             rtpServerPort = mediaServerItem.getRtpProxyPort();
             rtpServerPort = mediaServerItem.getRtpProxyPort();
         }
         }
@@ -201,7 +201,7 @@ public class MediaServerServiceImpl implements IMediaServerService {
         if (mediaServerItem == null) {
         if (mediaServerItem == null) {
             return;
             return;
         }
         }
-        ZLMServerFactory.closeRtpServer(mediaServerItem, streamId);
+        zlmServerFactory.closeRtpServer(mediaServerItem, streamId);
     }
     }
 
 
     @Override
     @Override
@@ -210,7 +210,7 @@ public class MediaServerServiceImpl implements IMediaServerService {
             callback.run(false);
             callback.run(false);
             return;
             return;
         }
         }
-        ZLMServerFactory.closeRtpServer(mediaServerItem, streamId, callback);
+        zlmServerFactory.closeRtpServer(mediaServerItem, streamId, callback);
     }
     }
 
 
     @Override
     @Override
@@ -221,7 +221,7 @@ public class MediaServerServiceImpl implements IMediaServerService {
 
 
     @Override
     @Override
     public Boolean updateRtpServerSSRC(MediaServerItem mediaServerItem, String streamId, String ssrc) {
     public Boolean updateRtpServerSSRC(MediaServerItem mediaServerItem, String streamId, String ssrc) {
-        return ZLMServerFactory.updateRtpServerSSRC(mediaServerItem, streamId, ssrc);
+        return zlmServerFactory.updateRtpServerSSRC(mediaServerItem, streamId, ssrc);
     }
     }
 
 
     @Override
     @Override

+ 3 - 13
src/main/java/com/genersoft/iot/vmp/service/impl/PlatformServiceImpl.java

@@ -10,7 +10,6 @@ import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
 import com.genersoft.iot.vmp.gb28181.session.SSRCFactory;
 import com.genersoft.iot.vmp.gb28181.session.SSRCFactory;
 import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
 import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform;
-import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
@@ -59,15 +58,6 @@ public class PlatformServiceImpl implements IPlatformService {
     @Autowired
     @Autowired
     private ParentPlatformMapper platformMapper;
     private ParentPlatformMapper platformMapper;
 
 
-    @Autowired
-    private PlatformCatalogMapper catalogMapper;
-
-    @Autowired
-    private PlatformChannelMapper platformChannelMapper;
-
-    @Autowired
-    private PlatformGbStreamMapper platformGbStreamMapper;
-
     @Autowired
     @Autowired
     private IRedisCatchStorage redisCatchStorage;
     private IRedisCatchStorage redisCatchStorage;
 
 
@@ -84,7 +74,7 @@ public class PlatformServiceImpl implements IPlatformService {
     private DynamicTask dynamicTask;
     private DynamicTask dynamicTask;
 
 
     @Autowired
     @Autowired
-    private ZLMServerFactory ZLMServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
     @Autowired
     @Autowired
     private SubscribeHolder subscribeHolder;
     private SubscribeHolder subscribeHolder;
@@ -365,7 +355,7 @@ public class PlatformServiceImpl implements IPlatformService {
                 param.put("vhost", "__defaultVhost__");
                 param.put("vhost", "__defaultVhost__");
                 param.put("app", sendRtpItem.getApp());
                 param.put("app", sendRtpItem.getApp());
                 param.put("stream", sendRtpItem.getStream());
                 param.put("stream", sendRtpItem.getStream());
-                ZLMServerFactory.stopSendRtpStream(mediaInfo, param);
+                zlmServerFactory.stopSendRtpStream(mediaInfo, param);
             }
             }
         }
         }
     }
     }
@@ -437,7 +427,7 @@ public class PlatformServiceImpl implements IPlatformService {
             // 如果zlm不存在这个流,则删除数据即可
             // 如果zlm不存在这个流,则删除数据即可
             MediaServerItem mediaServerItemForStreamInfo = mediaServerService.getOne(inviteInfo.getStreamInfo().getMediaServerId());
             MediaServerItem mediaServerItemForStreamInfo = mediaServerService.getOne(inviteInfo.getStreamInfo().getMediaServerId());
             if (mediaServerItemForStreamInfo != null) {
             if (mediaServerItemForStreamInfo != null) {
-                Boolean ready = zlmrtpServerFactory.isStreamReady(mediaServerItemForStreamInfo, inviteInfo.getStreamInfo().getApp(), inviteInfo.getStreamInfo().getStream());
+                Boolean ready = zlmServerFactory.isStreamReady(mediaServerItemForStreamInfo, inviteInfo.getStreamInfo().getApp(), inviteInfo.getStreamInfo().getStream());
                 if (!ready) {
                 if (!ready) {
                     // 错误存在于redis中的数据
                     // 错误存在于redis中的数据
                     inviteStreamService.removeInviteInfo(inviteInfo);
                     inviteStreamService.removeInviteInfo(inviteInfo);

+ 15 - 16
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java

@@ -20,7 +20,6 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
 import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
 import com.genersoft.iot.vmp.media.zlm.*;
 import com.genersoft.iot.vmp.media.zlm.*;
-import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommanderFroPlatform;
 import com.genersoft.iot.vmp.media.zlm.AssistRESTfulUtils;
 import com.genersoft.iot.vmp.media.zlm.AssistRESTfulUtils;
 import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
 import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
@@ -89,7 +88,7 @@ public class PlayServiceImpl implements IPlayService {
     private IRedisCatchStorage redisCatchStorage;
     private IRedisCatchStorage redisCatchStorage;
 
 
     @Autowired
     @Autowired
-    private ZLMRTPServerFactory zlmrtpServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
     @Autowired
     @Autowired
     private IInviteStreamService inviteStreamService;
     private IInviteStreamService inviteStreamService;
@@ -101,7 +100,7 @@ public class PlayServiceImpl implements IPlayService {
     private ZLMRESTfulUtils zlmresTfulUtils;
     private ZLMRESTfulUtils zlmresTfulUtils;
 
 
     @Autowired
     @Autowired
-    private ZLMServerFactory ZLMServerFactory;
+    private ZLMServerFactory zlmserverfactory;
 
 
     @Autowired
     @Autowired
     private AssistRESTfulUtils assistRESTfulUtils;
     private AssistRESTfulUtils assistRESTfulUtils;
@@ -175,7 +174,7 @@ public class PlayServiceImpl implements IPlayService {
                 String mediaServerId = streamInfo.getMediaServerId();
                 String mediaServerId = streamInfo.getMediaServerId();
                 MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
                 MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
 
 
-                Boolean ready = ZLMServerFactory.isStreamReady(mediaInfo, "rtp", streamId);
+                Boolean ready = zlmserverfactory.isStreamReady(mediaInfo, "rtp", streamId);
                 if (ready != null && ready) {
                 if (ready != null && ready) {
                     callback.run(InviteErrorCode.SUCCESS.getCode(), InviteErrorCode.SUCCESS.getMsg(), streamInfo);
                     callback.run(InviteErrorCode.SUCCESS.getCode(), InviteErrorCode.SUCCESS.getMsg(), streamInfo);
                     inviteStreamService.call(InviteSessionType.PLAY, device.getDeviceId(), channelId, null,
                     inviteStreamService.call(InviteSessionType.PLAY, device.getDeviceId(), channelId, null,
@@ -195,7 +194,7 @@ public class PlayServiceImpl implements IPlayService {
         if (mediaServerItem.isRtpEnable()) {
         if (mediaServerItem.isRtpEnable()) {
             streamId = String.format("%s_%s", device.getDeviceId(), channelId);
             streamId = String.format("%s_%s", device.getDeviceId(), channelId);
         }
         }
-        SSRCInfo ssrcInfo = mediaServerService.openRTPServer(mediaServerItem, streamId, null, device.isSsrcCheck(),  false, 0, false, device.getStreamModeForParam());
+        SSRCInfo ssrcInfo = mediaServerService.openRTPServer(mediaServerItem, streamId, null, device.isSsrcCheck(),  false, 0, false, false,device.getStreamModeForParam());
         if (ssrcInfo == null) {
         if (ssrcInfo == null) {
             callback.run(InviteErrorCode.ERROR_FOR_RESOURCE_EXHAUSTION.getCode(), InviteErrorCode.ERROR_FOR_RESOURCE_EXHAUSTION.getMsg(), null);
             callback.run(InviteErrorCode.ERROR_FOR_RESOURCE_EXHAUSTION.getCode(), InviteErrorCode.ERROR_FOR_RESOURCE_EXHAUSTION.getMsg(), null);
             inviteStreamService.call(InviteSessionType.PLAY, device.getDeviceId(), channelId, null,
             inviteStreamService.call(InviteSessionType.PLAY, device.getDeviceId(), channelId, null,
@@ -279,7 +278,7 @@ public class PlayServiceImpl implements IPlayService {
         param.put("recv_stream_id", sendRtpItem.getReceiveStream());
         param.put("recv_stream_id", sendRtpItem.getReceiveStream());
         param.put("close_delay_ms", userSetting.getPlayTimeout() * 1000);
         param.put("close_delay_ms", userSetting.getPlayTimeout() * 1000);
 
 
-        zlmrtpServerFactory.startSendRtpPassive(mediaServerItem, param, jsonObject -> {
+        zlmServerFactory.startSendRtpPassive(mediaServerItem, param, jsonObject -> {
             if (jsonObject == null || jsonObject.getInteger("code") != 0 ) {
             if (jsonObject == null || jsonObject.getInteger("code") != 0 ) {
                 mediaServerService.releaseSsrc(mediaServerItem.getId(), sendRtpItem.getSsrc());
                 mediaServerService.releaseSsrc(mediaServerItem.getId(), sendRtpItem.getSsrc());
                 logger.info("[语音对讲]失败 deviceId: {}, channelId: {}", device.getDeviceId(), channelId);
                 logger.info("[语音对讲]失败 deviceId: {}, channelId: {}", device.getDeviceId(), channelId);
@@ -1240,7 +1239,7 @@ public class PlayServiceImpl implements IPlayService {
             SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(device.getDeviceId(), channelId, null, null);
             SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(device.getDeviceId(), channelId, null, null);
             if (sendRtpItem != null && sendRtpItem.isOnlyAudio()) {
             if (sendRtpItem != null && sendRtpItem.isOnlyAudio()) {
                 // 查询流是否存在,不存在则认为是异常状态
                 // 查询流是否存在,不存在则认为是异常状态
-                Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServerItem, sendRtpItem.getApp(), sendRtpItem.getStream());
+                Boolean streamReady = zlmServerFactory.isStreamReady(mediaServerItem, sendRtpItem.getApp(), sendRtpItem.getStream());
                 if (streamReady) {
                 if (streamReady) {
                     logger.warn("语音广播已经开启: {}", channelId);
                     logger.warn("语音广播已经开启: {}", channelId);
                     event.call("语音广播已经开启");
                     event.call("语音广播已经开启");
@@ -1253,7 +1252,7 @@ public class PlayServiceImpl implements IPlayService {
         SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(device.getDeviceId(), channelId, null, null);
         SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(device.getDeviceId(), channelId, null, null);
         if (sendRtpItem != null) {
         if (sendRtpItem != null) {
             MediaServerItem mediaServer = mediaServerService.getOne(sendRtpItem.getMediaServerId());
             MediaServerItem mediaServer = mediaServerService.getOne(sendRtpItem.getMediaServerId());
-            Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServer, "rtp", sendRtpItem.getReceiveStream());
+            Boolean streamReady = zlmServerFactory.isStreamReady(mediaServer, "rtp", sendRtpItem.getReceiveStream());
             if (streamReady) {
             if (streamReady) {
                 logger.warn("[语音对讲] 进行中: {}", channelId);
                 logger.warn("[语音对讲] 进行中: {}", channelId);
                 event.call("语音对讲进行中");
                 event.call("语音对讲进行中");
@@ -1284,7 +1283,7 @@ public class PlayServiceImpl implements IPlayService {
             if (sendRtpItem != null && sendRtpItem.isOnlyAudio()) {
             if (sendRtpItem != null && sendRtpItem.isOnlyAudio()) {
                 // 查询流是否存在,不存在则认为是异常状态
                 // 查询流是否存在,不存在则认为是异常状态
                 MediaServerItem mediaServerServiceOne = mediaServerService.getOne(sendRtpItem.getMediaServerId());
                 MediaServerItem mediaServerServiceOne = mediaServerService.getOne(sendRtpItem.getMediaServerId());
-                Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServerServiceOne, sendRtpItem.getApp(), sendRtpItem.getStream());
+                Boolean streamReady = zlmServerFactory.isStreamReady(mediaServerServiceOne, sendRtpItem.getApp(), sendRtpItem.getStream());
                 if (streamReady) {
                 if (streamReady) {
                     logger.warn("语音广播通道使用中: {}", channelId);
                     logger.warn("语音广播通道使用中: {}", channelId);
                     return true;
                     return true;
@@ -1466,19 +1465,19 @@ public class PlayServiceImpl implements IPlayService {
             JSONObject startSendRtpStreamResult = null;
             JSONObject startSendRtpStreamResult = null;
             if (sendRtpItem.getLocalPort() != 0) {
             if (sendRtpItem.getLocalPort() != 0) {
                 if (sendRtpItem.isTcpActive()) {
                 if (sendRtpItem.isTcpActive()) {
-                    startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpPassive(mediaInfo, param);
+                    startSendRtpStreamResult = zlmServerFactory.startSendRtpPassive(mediaInfo, param);
                 } else {
                 } else {
                     param.put("dst_url", sendRtpItem.getIp());
                     param.put("dst_url", sendRtpItem.getIp());
                     param.put("dst_port", sendRtpItem.getPort());
                     param.put("dst_port", sendRtpItem.getPort());
-                    startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);
+                    startSendRtpStreamResult = zlmServerFactory.startSendRtpStream(mediaInfo, param);
                 }
                 }
             } else {
             } else {
                 if (sendRtpItem.isTcpActive()) {
                 if (sendRtpItem.isTcpActive()) {
-                    startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpPassive(mediaInfo, param);
+                    startSendRtpStreamResult = zlmServerFactory.startSendRtpPassive(mediaInfo, param);
                 } else {
                 } else {
                     param.put("dst_url", sendRtpItem.getIp());
                     param.put("dst_url", sendRtpItem.getIp());
                     param.put("dst_port", sendRtpItem.getPort());
                     param.put("dst_port", sendRtpItem.getPort());
-                    startSendRtpStreamResult = zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);
+                    startSendRtpStreamResult = zlmServerFactory.startSendRtpStream(mediaInfo, param);
                 }
                 }
             }
             }
             if (startSendRtpStreamResult != null) {
             if (startSendRtpStreamResult != null) {
@@ -1542,7 +1541,7 @@ public class PlayServiceImpl implements IPlayService {
             if (sendRtpItem != null && sendRtpItem.isOnlyAudio()) {
             if (sendRtpItem != null && sendRtpItem.isOnlyAudio()) {
                 // 查询流是否存在,不存在则认为是异常状态
                 // 查询流是否存在,不存在则认为是异常状态
                 MediaServerItem mediaServer = mediaServerService.getOne(sendRtpItem.getMediaServerId());
                 MediaServerItem mediaServer = mediaServerService.getOne(sendRtpItem.getMediaServerId());
-                Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServer, sendRtpItem.getApp(), sendRtpItem.getStream());
+                Boolean streamReady = zlmServerFactory.isStreamReady(mediaServer, sendRtpItem.getApp(), sendRtpItem.getStream());
                 if (streamReady) {
                 if (streamReady) {
                     logger.warn("[语音对讲] 正在语音广播,无法开启语音通话: {}", channelId);
                     logger.warn("[语音对讲] 正在语音广播,无法开启语音通话: {}", channelId);
                     event.call("正在语音广播");
                     event.call("正在语音广播");
@@ -1556,7 +1555,7 @@ public class PlayServiceImpl implements IPlayService {
         SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(device.getDeviceId(), channelId, stream, null);
         SendRtpItem sendRtpItem = redisCatchStorage.querySendRTPServer(device.getDeviceId(), channelId, stream, null);
         if (sendRtpItem != null) {
         if (sendRtpItem != null) {
             MediaServerItem mediaServer = mediaServerService.getOne(sendRtpItem.getMediaServerId());
             MediaServerItem mediaServer = mediaServerService.getOne(sendRtpItem.getMediaServerId());
-            Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServer, "rtp", sendRtpItem.getReceiveStream());
+            Boolean streamReady = zlmServerFactory.isStreamReady(mediaServer, "rtp", sendRtpItem.getReceiveStream());
             if (streamReady) {
             if (streamReady) {
                 logger.warn("[语音对讲] 进行中: {}", channelId);
                 logger.warn("[语音对讲] 进行中: {}", channelId);
                 event.call("语音对讲进行中");
                 event.call("语音对讲进行中");
@@ -1608,7 +1607,7 @@ public class PlayServiceImpl implements IPlayService {
             param.put("app", sendRtpItem.getApp());
             param.put("app", sendRtpItem.getApp());
             param.put("stream", sendRtpItem.getStream());
             param.put("stream", sendRtpItem.getStream());
             param.put("ssrc", sendRtpItem.getSsrc());
             param.put("ssrc", sendRtpItem.getSsrc());
-            zlmrtpServerFactory.stopSendRtpStream(mediaServer, param);
+            zlmServerFactory.stopSendRtpStream(mediaServer, param);
         }
         }
 
 
         ssrcFactory.releaseSsrc(mediaServerId, sendRtpItem.getSsrc());
         ssrcFactory.releaseSsrc(mediaServerId, sendRtpItem.getSsrc());

+ 2 - 2
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamCloseResponseListener.java

@@ -58,7 +58,7 @@ public class RedisPushStreamCloseResponseListener implements MessageListener {
     private IMediaServerService mediaServerService;
     private IMediaServerService mediaServerService;
 
 
     @Autowired
     @Autowired
-    private ZLMServerFactory ZLMServerFactory;
+    private ZLMServerFactory zlmServerFactory;
 
 
 
 
     private Map<String, PushStreamResponseEvent> responseEvents = new ConcurrentHashMap<>();
     private Map<String, PushStreamResponseEvent> responseEvents = new ConcurrentHashMap<>();
@@ -89,7 +89,7 @@ public class RedisPushStreamCloseResponseListener implements MessageListener {
                         logger.info("[REDIS消息-推流结束] 停止向上级推流:{}", streamId);
                         logger.info("[REDIS消息-推流结束] 停止向上级推流:{}", streamId);
                         MediaServerItem mediaInfo = mediaServerService.getOne(sendRtpItem.getMediaServerId());
                         MediaServerItem mediaInfo = mediaServerService.getOne(sendRtpItem.getMediaServerId());
                         redisCatchStorage.deleteSendRTPServer(sendRtpItem.getPlatformId(), sendRtpItem.getChannelId(), sendRtpItem.getCallId(), sendRtpItem.getStream());
                         redisCatchStorage.deleteSendRTPServer(sendRtpItem.getPlatformId(), sendRtpItem.getChannelId(), sendRtpItem.getCallId(), sendRtpItem.getStream());
-                        zlmrtpServerFactory.stopSendRtpStream(mediaInfo, param);
+                        zlmServerFactory.stopSendRtpStream(mediaInfo, param);
 
 
                         try {
                         try {
                             commanderFroPlatform.streamByeCmd(parentPlatform, sendRtpItem);
                             commanderFroPlatform.streamByeCmd(parentPlatform, sendRtpItem);

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java

@@ -125,7 +125,7 @@ public class RtpController {
             }
             }
 
 
         }
         }
-        int localPort = zlmServerFactory.createRTPServer(mediaServerItem, stream, ssrcInt, null, false, tcpMode);
+        int localPort = zlmServerFactory.createRTPServer(mediaServerItem, stream, ssrcInt, null, false, false, tcpMode);
         // 注册回调如果rtp收流超时则通过回调发送通知
         // 注册回调如果rtp收流超时则通过回调发送通知
         if (callBack != null) {
         if (callBack != null) {
             HookSubscribeForRtpServerTimeout hookSubscribeForRtpServerTimeout = HookSubscribeFactory.on_rtp_server_timeout(ssrc, null, mediaServerItem.getId());
             HookSubscribeForRtpServerTimeout hookSubscribeForRtpServerTimeout = HookSubscribeFactory.on_rtp_server_timeout(ssrc, null, mediaServerItem.getId());