Commit 88878940af45660450d33ace9a5fe89f091838df
1 parent
9b9a13ab
修复录像下载
Showing
3 changed files
with
7 additions
and
7 deletions
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()); |