Browse Source

log: 添加更多log,分析代码

kindring 1 year ago
parent
commit
8f615ae22b

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

@@ -857,6 +857,7 @@ public class SIPCommander implements ISIPCommander {
         }else{
             // 从mediaServer 中关闭推流通道
             if(ssrcTransaction != null){
+                logger.info("停止语音广播");
                 mediaServerService.releaseSsrc(ssrcTransaction.getMediaServerId(), ssrcTransaction.getSsrc());
                 mediaServerService.closeRTPServer(ssrcTransaction.getMediaServerId(), ssrcTransaction.getStream());
             }

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

@@ -78,6 +78,8 @@ public class ZLMRTPServerFactory {
                 result = openRtpServerResultJson.getInteger("port");
                 Map<String, Object> postParam = new HashMap<>();
                 postParam.put("stream_id", stream);
+                // not call
+                logger.info("portRangeArray closeRtpServer");
                 zlmresTfulUtils.closeRtpServer(mediaServerItem, postParam);
             }else {
                 usedFreelist.add(startPort);
@@ -104,6 +106,7 @@ public class ZLMRTPServerFactory {
                     // 此时重新打开rtpServer
                     Map<String, Object> param = new HashMap<>();
                     param.put("stream_id", streamId);
+                    logger.info("无法创建rtp 服务, 尝试关闭");
                     JSONObject jsonObject = zlmresTfulUtils.closeRtpServer(mediaServerItem, param);
                     if (jsonObject != null ) {
                         if (jsonObject.getInteger("code") == 0) {
@@ -147,7 +150,7 @@ public class ZLMRTPServerFactory {
 
     public boolean closeRtpServer(MediaServerItem serverItem, String streamId) {
         boolean result = false;
-        logger.error("--------主动关闭RTP Server --------------");
+        logger.info("--------主动关闭RTP Server --------------");
         if (serverItem !=null){
             Map<String, Object> param = new HashMap<>();
             param.put("stream_id", streamId);

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

@@ -278,6 +278,7 @@ public class PlayServiceImpl implements IPlayService {
                 } finally {
                     timeoutCallback.run(1, "收流超时");
                     mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
+                    logger.info("点播超时, 关闭rtp通道");
                     mediaServerService.closeRTPServer(mediaServerItem.getId(), ssrcInfo.getStream());
                     streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
                     // 取消订阅消息监听
@@ -369,6 +370,7 @@ public class PlayServiceImpl implements IPlayService {
                     }
                     , (errEvent) -> {
                         dynamicTask.stop(timeOutTaskKey);
+                        logger.info("[未知原因] 关闭推流 closeRTPServer");
                         mediaServerService.closeRTPServer(mediaServerItem.getId(), ssrcInfo.getStream());
                         // 释放ssrc
                         mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
@@ -782,6 +784,7 @@ public class PlayServiceImpl implements IPlayService {
                 logger.error("[录像流]回放超时 发送BYE失败 {}", e.getMessage());
             } catch (SsrcTransactionNotFoundException e) {
                 // 点播超时回复BYE 同时释放ssrc以及此次点播的资源
+                logger.info("回放超时")
                 mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
                 mediaServerService.closeRTPServer(mediaServerItem.getId(), ssrcInfo.getStream());
                 streamSession.remove(deviceId, channelId, ssrcInfo.getStream());
@@ -929,6 +932,7 @@ public class PlayServiceImpl implements IPlayService {
             } catch (InvalidArgumentException | ParseException | SipException e) {
                 logger.error("[录像流]录像下载请求超时, 发送BYE失败 {}", e.getMessage());
             } catch (SsrcTransactionNotFoundException e) {
+                logger.info("下载失败 SsrcTransactionNotFoundException");
                 mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
                 mediaServerService.closeRTPServer(mediaServerItem.getId(), ssrcInfo.getStream());
                 streamSession.remove(deviceId, channelId, ssrcInfo.getStream());
@@ -1003,6 +1007,7 @@ public class PlayServiceImpl implements IPlayService {
                                             hookEvent.call(new InviteStreamInfo(mediaServerItem, null, eventResult.callId, "rtp", ssrcInfo.getStream()));
                                         });
                                     }
+                                    logger.info("下载完成");
                                     // 关闭rtp server
                                     mediaServerService.closeRTPServer(mediaServerItem.getId(), ssrcInfo.getStream());
                                     // 重新开启ssrc server