From a53dce38c2f58c0bfd37203e46dc57aa56025f45 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 17 十一月 2022 18:22:24 +0800 Subject: [PATCH] Merge pull request #673 from 648540858/wvp-28181-2.0-multi-network --- src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java | 550 +++++++++++++++++++++++++++++++++--------------------- 1 files changed, 334 insertions(+), 216 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java b/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java index 93d837c..460f418 100644 --- a/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java +++ b/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java @@ -2,8 +2,10 @@ import io.swagger.v3.oas.annotations.media.Schema; +import java.io.Serializable; + @Schema(description = "娴佷俊鎭�") -public class StreamInfo { +public class StreamInfo implements Serializable, Cloneable{ @Schema(description = "搴旂敤鍚�") private String app; @@ -13,54 +15,56 @@ private String deviceID; @Schema(description = "閫氶亾缂栧彿") private String channelId; - @Schema(description = "HTTP-FLV娴佸湴鍧�") - private String flv; @Schema(description = "IP") private String ip; + + @Schema(description = "HTTP-FLV娴佸湴鍧�") + private StreamURL flv; + @Schema(description = "HTTPS-FLV娴佸湴鍧�") - private String https_flv; + private StreamURL https_flv; @Schema(description = "Websocket-FLV娴佸湴鍧�") - private String ws_flv; + private StreamURL ws_flv; @Schema(description = "Websockets-FLV娴佸湴鍧�") - private String wss_flv; + private StreamURL wss_flv; @Schema(description = "HTTP-FMP4娴佸湴鍧�") - private String fmp4; + private StreamURL fmp4; @Schema(description = "HTTPS-FMP4娴佸湴鍧�") - private String https_fmp4; + private StreamURL https_fmp4; @Schema(description = "Websocket-FMP4娴佸湴鍧�") - private String ws_fmp4; + private StreamURL ws_fmp4; @Schema(description = "Websockets-FMP4娴佸湴鍧�") - private String wss_fmp4; + private StreamURL wss_fmp4; @Schema(description = "HLS娴佸湴鍧�") - private String hls; + private StreamURL hls; @Schema(description = "HTTPS-HLS娴佸湴鍧�") - private String https_hls; + private StreamURL https_hls; @Schema(description = "Websocket-HLS娴佸湴鍧�") - private String ws_hls; + private StreamURL ws_hls; @Schema(description = "Websockets-HLS娴佸湴鍧�") - private String wss_hls; + private StreamURL wss_hls; @Schema(description = "HTTP-TS娴佸湴鍧�") - private String ts; + private StreamURL ts; @Schema(description = "HTTPS-TS娴佸湴鍧�") - private String https_ts; + private StreamURL https_ts; @Schema(description = "Websocket-TS娴佸湴鍧�") - private String ws_ts; + private StreamURL ws_ts; @Schema(description = "Websockets-TS娴佸湴鍧�") - private String wss_ts; + private StreamURL wss_ts; @Schema(description = "RTMP娴佸湴鍧�") - private String rtmp; + private StreamURL rtmp; @Schema(description = "RTMPS娴佸湴鍧�") - private String rtmps; + private StreamURL rtmps; @Schema(description = "RTSP娴佸湴鍧�") - private String rtsp; + private StreamURL rtsp; @Schema(description = "RTSPS娴佸湴鍧�") - private String rtsps; + private StreamURL rtsps; @Schema(description = "RTC娴佸湴鍧�") - private String rtc; + private StreamURL rtc; @Schema(description = "RTCS娴佸湴鍧�") - private String rtcs; + private StreamURL rtcs; @Schema(description = "娴佸獟浣揑D") private String mediaServerId; @Schema(description = "娴佺紪鐮佷俊鎭�") @@ -74,6 +78,190 @@ @Schema(description = "鏄惁鏆傚仠锛堝綍鍍忓洖鏀句娇鐢級") private boolean pause; + + public void setFlv(StreamURL flv) { + this.flv = flv; + } + + public void setHttps_flv(StreamURL https_flv) { + this.https_flv = https_flv; + } + + public void setWs_flv(StreamURL ws_flv) { + this.ws_flv = ws_flv; + } + + public void setWss_flv(StreamURL wss_flv) { + this.wss_flv = wss_flv; + } + + public void setFmp4(StreamURL fmp4) { + this.fmp4 = fmp4; + } + + public void setHttps_fmp4(StreamURL https_fmp4) { + this.https_fmp4 = https_fmp4; + } + + public void setWs_fmp4(StreamURL ws_fmp4) { + this.ws_fmp4 = ws_fmp4; + } + + public void setWss_fmp4(StreamURL wss_fmp4) { + this.wss_fmp4 = wss_fmp4; + } + + public void setHls(StreamURL hls) { + this.hls = hls; + } + + public void setHttps_hls(StreamURL https_hls) { + this.https_hls = https_hls; + } + + public void setWs_hls(StreamURL ws_hls) { + this.ws_hls = ws_hls; + } + + public void setWss_hls(StreamURL wss_hls) { + this.wss_hls = wss_hls; + } + + public void setTs(StreamURL ts) { + this.ts = ts; + } + + public void setHttps_ts(StreamURL https_ts) { + this.https_ts = https_ts; + } + + public void setWs_ts(StreamURL ws_ts) { + this.ws_ts = ws_ts; + } + + public void setWss_ts(StreamURL wss_ts) { + this.wss_ts = wss_ts; + } + + public void setRtmp(StreamURL rtmp) { + this.rtmp = rtmp; + } + + public void setRtmps(StreamURL rtmps) { + this.rtmps = rtmps; + } + + public void setRtsp(StreamURL rtsp) { + this.rtsp = rtsp; + } + + public void setRtsps(StreamURL rtsps) { + this.rtsps = rtsps; + } + + public void setRtc(StreamURL rtc) { + this.rtc = rtc; + } + + public void setRtcs(StreamURL rtcs) { + this.rtcs = rtcs; + } + + public void setRtmp(String host, int port, int sslPort, String app, String stream, String callIdParam) { + String file = String.format("%s/%s/%s", app, stream, callIdParam); + this.rtmp = new StreamURL("rtmp", host, port, file); + if (sslPort != 0) { + this.rtmps = new StreamURL("rtmps", host, sslPort, file); + } + } + + public void setRtsp(String host, int port, int sslPort, String app, String stream, String callIdParam) { + String file = String.format("%s/%s/%s", app, stream, callIdParam); + this.rtsp = new StreamURL("rtsp", host, port, file); + if (sslPort != 0) { + this.rtsps = new StreamURL("rtsps", host, sslPort, file); + } + } + + public void setFlv(String host, int port, int sslPort, String app, String stream, String callIdParam) { + String file = String.format("%s/%s.live.flv%s", app, stream, callIdParam); + this.flv = new StreamURL("http", host, port, file); + this.ws_flv = new StreamURL("ws", host, port, file); + if (sslPort != 0) { + this.https_flv = new StreamURL("https", host, sslPort, file); + this.wss_flv = new StreamURL("wss", host, sslPort, file); + } + } + + public void setFmp4(String host, int port, int sslPort, String app, String stream, String callIdParam) { + String file = String.format("%s/%s.live.mp4%s", app, stream, callIdParam); + this.fmp4 = new StreamURL("http", host, port, file); + this.ws_fmp4 = new StreamURL("ws", host, port, file); + if (sslPort != 0) { + this.https_fmp4 = new StreamURL("https", host, sslPort, file); + this.wss_fmp4 = new StreamURL("wss", host, sslPort, file); + } + } + + public void setHls(String host, int port, int sslPort, String app, String stream, String callIdParam) { + String file = String.format("%s/%s/hls.m3u8%s", app, stream, callIdParam); + this.hls = new StreamURL("http", host, port, file); + this.ws_hls = new StreamURL("ws", host, port, file); + if (sslPort != 0) { + this.https_hls = new StreamURL("https", host, sslPort, file); + this.wss_hls = new StreamURL("wss", host, sslPort, file); + } + } + + public void setTs(String host, int port, int sslPort, String app, String stream, String callIdParam) { + String file = String.format("%s/%s.live.ts%s", app, stream, callIdParam); + this.ts = new StreamURL("http", host, port, file); + this.ws_ts = new StreamURL("ws", host, port, file); + if (sslPort != 0) { + this.https_ts = new StreamURL("https", host, sslPort, file); + this.wss_ts = new StreamURL("wss", host, sslPort, file); + } + } + + public void setRtc(String host, int port, int sslPort, String app, String stream, String callIdParam) { + String file = String.format("index/api/webrtc?app=%s&stream=%s&type=play%s", app, stream, callIdParam); + this.rtc = new StreamURL("http", host, port, file); + if (sslPort != 0) { + this.rtcs = new StreamURL("https", host, sslPort, file); + } + } + + public void channgeStreamIp(String localAddr) { + this.flv.setHost(localAddr); + this.ws_flv.setHost(localAddr); + this.hls.setHost(localAddr); + this.ws_hls.setHost(localAddr); + this.ts.setHost(localAddr); + this.ws_ts.setHost(localAddr); + this.fmp4.setHost(localAddr); + this.ws_fmp4.setHost(localAddr); + this.rtc.setHost(localAddr); + if (this.https_flv != null) { + this.https_flv.setHost(localAddr); + this.wss_flv.setHost(localAddr); + this.https_hls.setHost(localAddr); + this.wss_hls.setHost(localAddr); + this.wss_ts.setHost(localAddr); + this.https_fmp4.setHost(localAddr); + this.wss_fmp4.setHost(localAddr); + this.rtcs.setHost(localAddr); + } + this.rtsp.setHost(localAddr); + if (this.rtsps != null) { + this.rtsps.setHost(localAddr); + } + this.rtmp.setHost(localAddr); + if (this.rtmps != null) { + this.rtmps.setHost(localAddr); + } + + } + public static class TransactionInfo{ public String callId; @@ -108,94 +296,6 @@ this.channelId = channelId; } - public String getFlv() { - return flv; - } - - public void setFlv(String flv) { - this.flv = flv; - } - - public String getWs_flv() { - return ws_flv; - } - - public void setWs_flv(String ws_flv) { - this.ws_flv = ws_flv; - } - - public String getRtmp() { - return rtmp; - } - - public void setRtmp(String rtmp) { - this.rtmp = rtmp; - } - - public String getHls() { - return hls; - } - - public void setHls(String hls) { - this.hls = hls; - } - - public String getRtsp() { - return rtsp; - } - - public void setRtsp(String rtsp) { - this.rtsp = rtsp; - } - - public Object getTracks() { - return tracks; - } - - public void setTracks(Object tracks) { - this.tracks = tracks; - } - - public String getFmp4() { - return fmp4; - } - - public void setFmp4(String fmp4) { - this.fmp4 = fmp4; - } - - public String getWs_fmp4() { - return ws_fmp4; - } - - public void setWs_fmp4(String ws_fmp4) { - this.ws_fmp4 = ws_fmp4; - } - - public String getWs_hls() { - return ws_hls; - } - - public void setWs_hls(String ws_hls) { - this.ws_hls = ws_hls; - } - - public String getTs() { - return ts; - } - - public void setTs(String ts) { - this.ts = ts; - } - - public String getWs_ts() { - return ws_ts; - } - - public void setWs_ts(String ws_ts) { - this.ws_ts = ws_ts; - } - public String getStream() { return stream; } @@ -204,20 +304,108 @@ this.stream = stream; } - public String getRtc() { + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public StreamURL getFlv() { + return flv; + } + + public StreamURL getHttps_flv() { + return https_flv; + } + + public StreamURL getWs_flv() { + return ws_flv; + } + + + public StreamURL getWss_flv() { + return wss_flv; + } + + public StreamURL getFmp4() { + return fmp4; + } + + + + public StreamURL getHttps_fmp4() { + return https_fmp4; + } + + public StreamURL getWs_fmp4() { + return ws_fmp4; + } + + public StreamURL getWss_fmp4() { + return wss_fmp4; + } + + public StreamURL getHls() { + return hls; + } + + + public StreamURL getHttps_hls() { + return https_hls; + } + + public StreamURL getWs_hls() { + return ws_hls; + } + + public StreamURL getWss_hls() { + return wss_hls; + } + + public StreamURL getTs() { + return ts; + } + + + public StreamURL getHttps_ts() { + return https_ts; + } + + + public StreamURL getWs_ts() { + return ws_ts; + } + + + public StreamURL getWss_ts() { + return wss_ts; + } + + + public StreamURL getRtmp() { + return rtmp; + } + + public StreamURL getRtmps() { + return rtmps; + } + + public StreamURL getRtsp() { + return rtsp; + } + + public StreamURL getRtsps() { + return rtsps; + } + + public StreamURL getRtc() { return rtc; } - public void setRtc(String rtc) { - this.rtc = rtc; - } - - public TransactionInfo getTransactionInfo() { - return transactionInfo; - } - - public void setTransactionInfo(TransactionInfo transactionInfo) { - this.transactionInfo = transactionInfo; + public StreamURL getRtcs() { + return rtcs; } public String getMediaServerId() { @@ -228,86 +416,13 @@ this.mediaServerId = mediaServerId; } - public String getHttps_flv() { - return https_flv; + public Object getTracks() { + return tracks; } - public void setHttps_flv(String https_flv) { - this.https_flv = https_flv; + public void setTracks(Object tracks) { + this.tracks = tracks; } - - public String getWss_flv() { - return wss_flv; - } - - public void setWss_flv(String wss_flv) { - this.wss_flv = wss_flv; - } - - public String getWss_fmp4() { - return wss_fmp4; - } - - public void setWss_fmp4(String wss_fmp4) { - this.wss_fmp4 = wss_fmp4; - } - - public String getWss_hls() { - return wss_hls; - } - - public void setWss_hls(String wss_hls) { - this.wss_hls = wss_hls; - } - - public String getWss_ts() { - return wss_ts; - } - - public void setWss_ts(String wss_ts) { - this.wss_ts = wss_ts; - } - - public String getRtmps() { - return rtmps; - } - - public void setRtmps(String rtmps) { - this.rtmps = rtmps; - } - - public String getRtsps() { - return rtsps; - } - - public void setRtsps(String rtsps) { - this.rtsps = rtsps; - } - - public String getHttps_hls() { - return https_hls; - } - - public void setHttps_hls(String https_hls) { - this.https_hls = https_hls; - } - - public String getHttps_fmp4() { - return https_fmp4; - } - - public void setHttps_fmp4(String https_fmp4) { - this.https_fmp4 = https_fmp4; - } - - public String getHttps_ts() { - return https_ts; - } - - public void setHttps_ts(String https_ts) { - this.https_ts = https_ts; - } - public String getStartTime() { return startTime; @@ -333,22 +448,6 @@ this.progress = progress; } - public String getIp() { - return ip; - } - - public void setIp(String ip) { - this.ip = ip; - } - - public String getRtcs() { - return rtcs; - } - - public void setRtcs(String rtcs) { - this.rtcs = rtcs; - } - public boolean isPause() { return pause; } @@ -356,4 +455,23 @@ public void setPause(boolean pause) { this.pause = pause; } + + public TransactionInfo getTransactionInfo() { + return transactionInfo; + } + + public void setTransactionInfo(TransactionInfo transactionInfo) { + this.transactionInfo = transactionInfo; + } + + @Override + public StreamInfo clone() { + StreamInfo instance = null; + try{ + instance = (StreamInfo)super.clone(); + }catch(CloneNotSupportedException e) { + e.printStackTrace(); + } + return instance; + } } -- Gitblit v1.8.0