From 85c5fafda53f21697499ff0587ff6dc0f2b00f0a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 16 三月 2023 09:34:20 +0800
Subject: [PATCH] 更新前后端分离部署文档
---
src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java | 511 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 475 insertions(+), 36 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 1dd3a85..8311745 100644
--- a/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
@@ -1,25 +1,333 @@
package com.genersoft.iot.vmp.common;
-import com.alibaba.fastjson.JSONArray;
+import io.swagger.v3.oas.annotations.media.Schema;
-public class StreamInfo {
+import java.io.Serializable;
- private String ssrc;
+@Schema(description = "娴佷俊鎭�")
+public class StreamInfo implements Serializable, Cloneable{
+
+ @Schema(description = "搴旂敤鍚�")
+ private String app;
+ @Schema(description = "娴両D")
+ private String stream;
+ @Schema(description = "璁惧缂栧彿")
private String deviceID;
- private String cahnnelId;
- private String flv;
- private String ws_flv;
- private String rtmp;
- private String hls;
- private String rtsp;
- private JSONArray tracks;
+ @Schema(description = "閫氶亾缂栧彿")
+ private String channelId;
- public String getSsrc() {
- return ssrc;
+ @Schema(description = "IP")
+ private String ip;
+
+ @Schema(description = "HTTP-FLV娴佸湴鍧�")
+ private StreamURL flv;
+
+ @Schema(description = "HTTPS-FLV娴佸湴鍧�")
+ private StreamURL https_flv;
+ @Schema(description = "Websocket-FLV娴佸湴鍧�")
+ private StreamURL ws_flv;
+ @Schema(description = "Websockets-FLV娴佸湴鍧�")
+ private StreamURL wss_flv;
+ @Schema(description = "HTTP-FMP4娴佸湴鍧�")
+ private StreamURL fmp4;
+ @Schema(description = "HTTPS-FMP4娴佸湴鍧�")
+ private StreamURL https_fmp4;
+ @Schema(description = "Websocket-FMP4娴佸湴鍧�")
+ private StreamURL ws_fmp4;
+ @Schema(description = "Websockets-FMP4娴佸湴鍧�")
+ private StreamURL wss_fmp4;
+ @Schema(description = "HLS娴佸湴鍧�")
+ private StreamURL hls;
+ @Schema(description = "HTTPS-HLS娴佸湴鍧�")
+ private StreamURL https_hls;
+ @Schema(description = "Websocket-HLS娴佸湴鍧�")
+ private StreamURL ws_hls;
+ @Schema(description = "Websockets-HLS娴佸湴鍧�")
+ private StreamURL wss_hls;
+ @Schema(description = "HTTP-TS娴佸湴鍧�")
+ private StreamURL ts;
+ @Schema(description = "HTTPS-TS娴佸湴鍧�")
+ private StreamURL https_ts;
+ @Schema(description = "Websocket-TS娴佸湴鍧�")
+ private StreamURL ws_ts;
+ @Schema(description = "Websockets-TS娴佸湴鍧�")
+ private StreamURL wss_ts;
+ @Schema(description = "RTMP娴佸湴鍧�")
+ private StreamURL rtmp;
+ @Schema(description = "RTMPS娴佸湴鍧�")
+ private StreamURL rtmps;
+ @Schema(description = "RTSP娴佸湴鍧�")
+ private StreamURL rtsp;
+ @Schema(description = "RTSPS娴佸湴鍧�")
+ private StreamURL rtsps;
+ @Schema(description = "RTC娴佸湴鍧�")
+ private StreamURL rtc;
+
+ @Schema(description = "RTCS娴佸湴鍧�")
+ private StreamURL rtcs;
+ @Schema(description = "娴佸獟浣揑D")
+ private String mediaServerId;
+ @Schema(description = "娴佺紪鐮佷俊鎭�")
+ private Object tracks;
+ @Schema(description = "寮�濮嬫椂闂�")
+ private String startTime;
+ @Schema(description = "缁撴潫鏃堕棿")
+ private String endTime;
+ @Schema(description = "杩涘害锛堝綍鍍忎笅杞戒娇鐢級")
+ private double progress;
+
+ @Schema(description = "鏄惁鏆傚仠锛堝綍鍍忓洖鏀句娇鐢級")
+ private boolean pause;
+
+ public void setFlv(StreamURL flv) {
+ this.flv = flv;
}
- public void setSsrc(String ssrc) {
- this.ssrc = ssrc;
+ 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);
+ if (port > 0) {
+ 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);
+ if (port > 0) {
+ 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);
+ if (port > 0) {
+ 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);
+ if (port > 0) {
+ 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);
+ if (port > 0) {
+ 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);
+
+ if (port > 0) {
+ 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);
+ if (port > 0) {
+ this.rtc = new StreamURL("http", host, port, file);
+ }
+ if (sslPort > 0) {
+ this.rtcs = new StreamURL("https", host, sslPort, file);
+ }
+ }
+
+ public void channgeStreamIp(String localAddr) {
+ if (this.flv != null) {
+ this.flv.setHost(localAddr);
+ }
+ if (this.ws_flv != null ){
+ this.ws_flv.setHost(localAddr);
+ }
+ if (this.hls != null ) {
+ this.hls.setHost(localAddr);
+ }
+ if (this.ws_hls != null ) {
+ this.ws_hls.setHost(localAddr);
+ }
+ if (this.ts != null ) {
+ this.ts.setHost(localAddr);
+ }
+ if (this.ws_ts != null ) {
+ this.ws_ts.setHost(localAddr);
+ }
+ if (this.fmp4 != null ) {
+ this.fmp4.setHost(localAddr);
+ }
+ if (this.ws_fmp4 != null ) {
+ this.ws_fmp4.setHost(localAddr);
+ }
+ if (this.rtc != null ) {
+ this.rtc.setHost(localAddr);
+ }
+ if (this.https_flv != null) {
+ this.https_flv.setHost(localAddr);
+ }
+ if (this.wss_flv != null) {
+ this.wss_flv.setHost(localAddr);
+ }
+ if (this.https_hls != null) {
+ this.https_hls.setHost(localAddr);
+ }
+ if (this.wss_hls != null) {
+ this.wss_hls.setHost(localAddr);
+ }
+ if (this.wss_ts != null) {
+ this.wss_ts.setHost(localAddr);
+ }
+ if (this.https_fmp4 != null) {
+ this.https_fmp4.setHost(localAddr);
+ }
+ if (this.wss_fmp4 != null) {
+ this.wss_fmp4.setHost(localAddr);
+ }
+ if (this.rtcs != null) {
+ this.rtcs.setHost(localAddr);
+ }
+ if (this.rtsp != null) {
+ this.rtsp.setHost(localAddr);
+ }
+ if (this.rtsps != null) {
+ this.rtsps.setHost(localAddr);
+ }
+ if (this.rtmp != null) {
+ this.rtmp.setHost(localAddr);
+ }
+ if (this.rtmps != null) {
+ this.rtmps.setHost(localAddr);
+ }
+ }
+
+
+ public static class TransactionInfo{
+ public String callId;
+ public String localTag;
+ public String remoteTag;
+ public String branch;
+ }
+
+ private TransactionInfo transactionInfo;
+
+ public String getApp() {
+ return app;
+ }
+
+ public void setApp(String app) {
+ this.app = app;
}
public String getDeviceID() {
@@ -30,59 +338,190 @@
this.deviceID = deviceID;
}
- public String getCahnnelId() {
- return cahnnelId;
+ public String getChannelId() {
+ return channelId;
}
- public void setCahnnelId(String cahnnelId) {
- this.cahnnelId = cahnnelId;
+ public void setChannelId(String channelId) {
+ this.channelId = channelId;
}
- public String getFlv() {
+ public String getStream() {
+ return stream;
+ }
+
+ public void setStream(String stream) {
+ this.stream = stream;
+ }
+
+ public String getIp() {
+ return ip;
+ }
+
+ public void setIp(String ip) {
+ this.ip = ip;
+ }
+
+ public StreamURL getFlv() {
return flv;
}
- public void setFlv(String flv) {
- this.flv = flv;
+ public StreamURL getHttps_flv() {
+ return https_flv;
}
- public String getWs_flv() {
+ public StreamURL getWs_flv() {
return ws_flv;
}
- public void setWs_flv(String ws_flv) {
- this.ws_flv = ws_flv;
+
+ public StreamURL getWss_flv() {
+ return wss_flv;
}
- public String getRtmp() {
- return rtmp;
+ public StreamURL getFmp4() {
+ return fmp4;
}
- public void setRtmp(String rtmp) {
- this.rtmp = rtmp;
+
+
+ public StreamURL getHttps_fmp4() {
+ return https_fmp4;
}
- public String getHls() {
+ public StreamURL getWs_fmp4() {
+ return ws_fmp4;
+ }
+
+ public StreamURL getWss_fmp4() {
+ return wss_fmp4;
+ }
+
+ public StreamURL getHls() {
return hls;
}
- public void setHls(String hls) {
- this.hls = hls;
+
+ public StreamURL getHttps_hls() {
+ return https_hls;
}
- public String getRtsp() {
+ 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 void setRtsp(String rtsp) {
- this.rtsp = rtsp;
+ public StreamURL getRtsps() {
+ return rtsps;
}
- public JSONArray getTracks() {
+ public StreamURL getRtc() {
+ return rtc;
+ }
+
+ public StreamURL getRtcs() {
+ return rtcs;
+ }
+
+ public String getMediaServerId() {
+ return mediaServerId;
+ }
+
+ public void setMediaServerId(String mediaServerId) {
+ this.mediaServerId = mediaServerId;
+ }
+
+ public Object getTracks() {
return tracks;
}
- public void setTracks(JSONArray tracks) {
+ public void setTracks(Object tracks) {
this.tracks = tracks;
}
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public double getProgress() {
+ return progress;
+ }
+
+ public void setProgress(double progress) {
+ this.progress = progress;
+ }
+
+ public boolean isPause() {
+ return pause;
+ }
+
+ 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