合并主线

pull/1411/head
648540858 2024-04-09 10:40:16 +08:00
parent b1b6fae22c
commit bbf19c7909
10 changed files with 13 additions and 91 deletions

View File

@ -20,13 +20,18 @@ import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorP
import com.genersoft.iot.vmp.gb28181.utils.SipUtils; import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.event.hook.Hook; import com.genersoft.iot.vmp.media.event.hook.Hook;
import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
import com.genersoft.iot.vmp.media.event.hook.HookType; import com.genersoft.iot.vmp.media.event.hook.HookType;
import com.genersoft.iot.vmp.media.service.IMediaServerService; import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager; import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager;
import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory; import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
import com.genersoft.iot.vmp.media.event.hook.HookSubscribe; import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
import com.genersoft.iot.vmp.media.zlm.dto.*; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
import com.genersoft.iot.vmp.service.*; import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
import com.genersoft.iot.vmp.service.IInviteStreamService;
import com.genersoft.iot.vmp.service.IPlayService;
import com.genersoft.iot.vmp.service.IStreamProxyService;
import com.genersoft.iot.vmp.service.IStreamPushService;
import com.genersoft.iot.vmp.service.bean.ErrorCallback; import com.genersoft.iot.vmp.service.bean.ErrorCallback;
import com.genersoft.iot.vmp.service.bean.InviteErrorCode; import com.genersoft.iot.vmp.service.bean.InviteErrorCode;
import com.genersoft.iot.vmp.service.bean.MessageForPushChannel; import com.genersoft.iot.vmp.service.bean.MessageForPushChannel;

View File

@ -2,9 +2,7 @@ package com.genersoft.iot.vmp.media.bean;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.genersoft.iot.vmp.media.abl.bean.hook.OnStreamArriveABLHookParam;
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.media.zlm.dto.hook.OriginType;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List; import java.util.List;
@ -178,42 +176,6 @@ public class MediaInfo {
return mediaInfo; return mediaInfo;
} }
public static MediaInfo getInstance(OnStreamArriveABLHookParam param, MediaServer mediaServer) {
MediaInfo mediaInfo = new MediaInfo();
mediaInfo.setApp(param.getApp());
mediaInfo.setStream(param.getStream());
mediaInfo.setMediaServer(mediaServer);
mediaInfo.setReaderCount(param.getReaderCount());
mediaInfo.setOnline(true);
mediaInfo.setVideoCodec(param.getVideoCodec());
switch (param.getNetworkType()) {
case 21:
mediaInfo.setOriginType(OriginType.RTMP_PUSH.ordinal());
break;
case 23:
mediaInfo.setOriginType(OriginType.RTSP_PUSH.ordinal());
break;
case 30:
case 31:
case 32:
case 33:
mediaInfo.setOriginType(OriginType.PULL.ordinal());
break;
default:
mediaInfo.setOriginType(OriginType.UNKNOWN.ordinal());
break;
}
mediaInfo.setWidth(param.getWidth());
mediaInfo.setHeight(param.getHeight());
mediaInfo.setAudioCodec(param.getAudioCodec());
mediaInfo.setAudioChannels(param.getAudioChannels());
mediaInfo.setAudioSampleRate(param.getAudioSampleRate());
return mediaInfo;
}
public Integer getReaderCount() { public Integer getReaderCount() {
return readerCount; return readerCount;
} }

View File

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.media.bean; package com.genersoft.iot.vmp.media.bean;
import com.genersoft.iot.vmp.media.abl.bean.hook.OnRecordMp4ABLHookParam;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam; import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam;
public class RecordInfo { public class RecordInfo {
@ -24,12 +23,6 @@ public class RecordInfo {
return recordInfo; return recordInfo;
} }
public static RecordInfo getInstance(OnRecordMp4ABLHookParam hookParam) {
RecordInfo recordInfo = new RecordInfo();
recordInfo.setFileName(hookParam.getFileName());
return recordInfo;
}
public String getFileName() { public String getFileName() {
return fileName; return fileName;
} }

View File

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.media.event.media; package com.genersoft.iot.vmp.media.event.media;
import com.genersoft.iot.vmp.media.abl.bean.hook.OnStreamArriveABLHookParam;
import com.genersoft.iot.vmp.media.bean.MediaInfo; import com.genersoft.iot.vmp.media.bean.MediaInfo;
import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam; import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
@ -23,15 +22,6 @@ public class MediaArrivalEvent extends MediaEvent {
mediaArrivalEvent.setCallId(hookParam.getCallId()); mediaArrivalEvent.setCallId(hookParam.getCallId());
return mediaArrivalEvent; return mediaArrivalEvent;
} }
public static MediaArrivalEvent getInstance(Object source, OnStreamArriveABLHookParam hookParam, MediaServer mediaServer){
MediaArrivalEvent mediaArrivalEvent = new MediaArrivalEvent(source);
mediaArrivalEvent.setMediaInfo(MediaInfo.getInstance(hookParam, mediaServer));
mediaArrivalEvent.setApp(hookParam.getApp());
mediaArrivalEvent.setStream(hookParam.getStream());
mediaArrivalEvent.setMediaServer(mediaServer);
mediaArrivalEvent.setCallId(hookParam.getCallId());
return mediaArrivalEvent;
}
private MediaInfo mediaInfo; private MediaInfo mediaInfo;

View File

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.media.event.media; package com.genersoft.iot.vmp.media.event.media;
import com.genersoft.iot.vmp.media.abl.bean.hook.ABLHookParam;
import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam; import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
@ -20,12 +19,4 @@ public class MediaDepartureEvent extends MediaEvent {
mediaDepartureEven.setMediaServer(mediaServer); mediaDepartureEven.setMediaServer(mediaServer);
return mediaDepartureEven; return mediaDepartureEven;
} }
public static MediaDepartureEvent getInstance(Object source, ABLHookParam hookParam, MediaServer mediaServer){
MediaDepartureEvent mediaDepartureEven = new MediaDepartureEvent(source);
mediaDepartureEven.setApp(hookParam.getApp());
mediaDepartureEven.setStream(hookParam.getStream());
mediaDepartureEven.setMediaServer(mediaServer);
return mediaDepartureEven;
}
} }

View File

@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.media.event.media; package com.genersoft.iot.vmp.media.event.media;
import com.genersoft.iot.vmp.media.abl.bean.hook.ABLHookParam;
import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamNotFoundHookParam; import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamNotFoundHookParam;
@ -20,12 +19,4 @@ public class MediaNotFoundEvent extends MediaEvent {
mediaDepartureEven.setMediaServer(mediaServer); mediaDepartureEven.setMediaServer(mediaServer);
return mediaDepartureEven; return mediaDepartureEven;
} }
public static MediaNotFoundEvent getInstance(Object source, ABLHookParam hookParam, MediaServer mediaServer){
MediaNotFoundEvent mediaDepartureEven = new MediaNotFoundEvent(source);
mediaDepartureEven.setApp(hookParam.getApp());
mediaDepartureEven.setStream(hookParam.getStream());
mediaDepartureEven.setMediaServer(mediaServer);
return mediaDepartureEven;
}
} }

View File

@ -1,7 +1,5 @@
package com.genersoft.iot.vmp.media.event.media; package com.genersoft.iot.vmp.media.event.media;
import com.genersoft.iot.vmp.media.abl.ABLHttpHookListener;
import com.genersoft.iot.vmp.media.abl.bean.hook.OnRecordMp4ABLHookParam;
import com.genersoft.iot.vmp.media.bean.RecordInfo; import com.genersoft.iot.vmp.media.bean.RecordInfo;
import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam; import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRecordMp4HookParam;
@ -26,16 +24,6 @@ public class MediaRecordMp4Event extends MediaEvent {
return mediaRecordMp4Event; return mediaRecordMp4Event;
} }
public static MediaRecordMp4Event getInstance(ABLHttpHookListener source, OnRecordMp4ABLHookParam hookParam, MediaServer mediaServer) {
MediaRecordMp4Event mediaRecordMp4Event = new MediaRecordMp4Event(source);
mediaRecordMp4Event.setApp(hookParam.getApp());
mediaRecordMp4Event.setStream(hookParam.getStream());
RecordInfo recordInfo = RecordInfo.getInstance(hookParam);
mediaRecordMp4Event.setRecordInfo(recordInfo);
mediaRecordMp4Event.setMediaServer(mediaServer);
return mediaRecordMp4Event;
}
public RecordInfo getRecordInfo() { public RecordInfo getRecordInfo() {
return recordInfo; return recordInfo;
} }

View File

@ -74,6 +74,7 @@ public class ZLMMediaServerStatusManger {
logger.info("[ZLM-添加待上线节点] ID" + mediaServerItem.getId()); logger.info("[ZLM-添加待上线节点] ID" + mediaServerItem.getId());
offlineZlmPrimaryMap.put(mediaServerItem.getId(), mediaServerItem); offlineZlmPrimaryMap.put(mediaServerItem.getId(), mediaServerItem);
offlineZlmTimeMap.put(mediaServerItem.getId(), System.currentTimeMillis()); offlineZlmTimeMap.put(mediaServerItem.getId(), System.currentTimeMillis());
execute();
} }
} }

View File

@ -2,13 +2,14 @@ package com.genersoft.iot.vmp.service.redisMsg;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.InviteStreamType;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem; import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
import com.genersoft.iot.vmp.media.service.IMediaServerService; import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
import com.genersoft.iot.vmp.service.IStreamPushService; import com.genersoft.iot.vmp.service.IStreamPushService;
import com.genersoft.iot.vmp.service.bean.MessageForPushChannel; import com.genersoft.iot.vmp.service.bean.MessageForPushChannel;
import com.genersoft.iot.vmp.service.bean.MessageForPushChannelResponse; import com.genersoft.iot.vmp.service.bean.MessageForPushChannelResponse;
@ -24,6 +25,7 @@ import org.springframework.stereotype.Component;
import javax.sip.InvalidArgumentException; import javax.sip.InvalidArgumentException;
import javax.sip.SipException; import javax.sip.SipException;
import java.text.ParseException; import java.text.ParseException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;

View File

@ -4,7 +4,6 @@ import com.alibaba.fastjson2.JSONArray;
import com.genersoft.iot.vmp.conf.exception.ControllerException; import com.genersoft.iot.vmp.conf.exception.ControllerException;
import com.genersoft.iot.vmp.conf.security.JwtUtils; import com.genersoft.iot.vmp.conf.security.JwtUtils;
import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import com.genersoft.iot.vmp.service.ICloudRecordService; import com.genersoft.iot.vmp.service.ICloudRecordService;
import com.genersoft.iot.vmp.media.service.IMediaServerService; import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.service.bean.CloudRecordItem; import com.genersoft.iot.vmp.service.bean.CloudRecordItem;