Commit 88878940af45660450d33ace9a5fe89f091838df

Authored by 648540858
1 parent 9b9a13ab

修复录像下载

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