Commit 88878940af45660450d33ace9a5fe89f091838df

Authored by 648540858
1 parent 9b9a13ab

修复录像下载

src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
1 package com.genersoft.iot.vmp.gb28181.session; 1 package com.genersoft.iot.vmp.gb28181.session;
2 2
3 -import java.util.ArrayList;  
4 -import java.util.List;  
5 -  
6 import com.genersoft.iot.vmp.common.VideoManagerConstants; 3 import com.genersoft.iot.vmp.common.VideoManagerConstants;
7 import com.genersoft.iot.vmp.conf.UserSetting; 4 import com.genersoft.iot.vmp.conf.UserSetting;
8 import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo; 5 import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
@@ -13,6 +10,9 @@ import org.springframework.beans.factory.annotation.Autowired; @@ -13,6 +10,9 @@ import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Component; 10 import org.springframework.stereotype.Component;
14 import org.springframework.util.ObjectUtils; 11 import org.springframework.util.ObjectUtils;
15 12
  13 +import java.util.ArrayList;
  14 +import java.util.List;
  15 +
16 /** 16 /**
17 * @description:视频流session管理器,管理视频预览、预览回放的通信句柄 17 * @description:视频流session管理器,管理视频预览、预览回放的通信句柄
18 * @author: swwheihei 18 * @author: swwheihei
@@ -53,8 +53,6 @@ public class VideoStreamSessionManager { @@ -53,8 +53,6 @@ public class VideoStreamSessionManager {
53 53
54 RedisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() 54 RedisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()
55 + "_" + deviceId + "_" + channelId + "_" + callId + "_" + stream, ssrcTransaction); 55 + "_" + deviceId + "_" + channelId + "_" + callId + "_" + stream, ssrcTransaction);
56 - RedisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()  
57 - + "_" + deviceId + "_" + channelId + "_" + callId + "_" + stream, ssrcTransaction);  
58 } 56 }
59 57
60 public SsrcTransaction getSsrcTransaction(String deviceId, String channelId, String callId, String stream){ 58 public SsrcTransaction getSsrcTransaction(String deviceId, String channelId, String callId, String stream){
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -565,10 +565,11 @@ public class SIPCommander implements ISIPCommander { @@ -565,10 +565,11 @@ public class SIPCommander implements ISIPCommander {
565 if (inviteStreamCallback != null) { 565 if (inviteStreamCallback != null) {
566 inviteStreamCallback.call(new InviteStreamInfo(mediaServerItem, null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()).getCallId(), "rtp", ssrcInfo.getStream())); 566 inviteStreamCallback.call(new InviteStreamInfo(mediaServerItem, null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()).getCallId(), "rtp", ssrcInfo.getStream()));
567 } 567 }
  568 +
568 sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent, okEvent -> { 569 sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent, okEvent -> {
569 ResponseEvent responseEvent = (ResponseEvent) okEvent.event; 570 ResponseEvent responseEvent = (ResponseEvent) okEvent.event;
570 SIPResponse response = (SIPResponse) responseEvent.getResponse(); 571 SIPResponse response = (SIPResponse) responseEvent.getResponse();
571 - streamSession.put(device.getDeviceId(), channelId,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()).getCallId(), ssrcInfo.getStream(), ssrcInfo.getSsrc(), mediaServerItem.getId(), response, VideoStreamSessionManager.SessionType.download); 572 + streamSession.put(device.getDeviceId(), channelId, response.getCallIdHeader().getCallId(), ssrcInfo.getStream(), ssrcInfo.getSsrc(), mediaServerItem.getId(), response, VideoStreamSessionManager.SessionType.download);
572 }); 573 });
573 } 574 }
574 575
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageRequestProcessor.java
@@ -67,6 +67,7 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement @@ -67,6 +67,7 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement
67 @Override 67 @Override
68 public void process(RequestEvent evt) { 68 public void process(RequestEvent evt) {
69 SIPRequest sipRequest = (SIPRequest)evt.getRequest(); 69 SIPRequest sipRequest = (SIPRequest)evt.getRequest();
  70 + logger.info("接收到消息:" + evt.getRequest());
70 logger.debug("接收到消息:" + evt.getRequest()); 71 logger.debug("接收到消息:" + evt.getRequest());
71 String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest()); 72 String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
72 CallIdHeader callIdHeader = sipRequest.getCallIdHeader(); 73 CallIdHeader callIdHeader = sipRequest.getCallIdHeader();
@@ -94,7 +95,7 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement @@ -94,7 +95,7 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement
94 if (device == null && parentPlatform == null) { 95 if (device == null && parentPlatform == null) {
95 // 不存在则回复404 96 // 不存在则回复404
96 responseAck(request, Response.NOT_FOUND, "device "+ deviceId +" not found"); 97 responseAck(request, Response.NOT_FOUND, "device "+ deviceId +" not found");
97 - logger.warn("[设备未找到 ]: {}", deviceId); 98 + logger.warn("[设备未找到 ]deviceId: {}, callId: {}", deviceId, callIdHeader.getCallId());
98 if (sipSubscribe.getErrorSubscribe(callIdHeader.getCallId()) != null){ 99 if (sipSubscribe.getErrorSubscribe(callIdHeader.getCallId()) != null){
99 DeviceNotFoundEvent deviceNotFoundEvent = new DeviceNotFoundEvent(evt.getDialog()); 100 DeviceNotFoundEvent deviceNotFoundEvent = new DeviceNotFoundEvent(evt.getDialog());
100 deviceNotFoundEvent.setCallId(callIdHeader.getCallId()); 101 deviceNotFoundEvent.setCallId(callIdHeader.getCallId());