合并主线
parent
b1b6fae22c
commit
bbf19c7909
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue