From 4d9a62339d43e163c3615a52b72a3c3f01cc30ab Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 16 十月 2020 16:49:41 +0800
Subject: [PATCH] 去除lombok框架 添加流传输模式udp/tcp被动支持

---
 src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java                                    |    9 
 src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java                           |   15 -
 src/main/java/com/genersoft/iot/vmp/conf/MediaServerConfig.java                                 |  523 +++++++++++++++++++++++++++++++++++++
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java                 |   51 ++-
 src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java                                         |   50 +++
 src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java                                      |   73 +++++
 web_src/src/components/videoList.vue                                                            |   16 
 web_src/src/components/gb28181/devicePlayer.vue                                                 |   29 +-
 src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java                                |    2 
 src/main/java/com/genersoft/iot/vmp/common/PageResult.java                                      |   29 +
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java |    1 
 src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java                       |    8 
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java  |    3 
 13 files changed, 739 insertions(+), 70 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/common/PageResult.java b/src/main/java/com/genersoft/iot/vmp/common/PageResult.java
index d5b4c77..6d7c89e 100644
--- a/src/main/java/com/genersoft/iot/vmp/common/PageResult.java
+++ b/src/main/java/com/genersoft/iot/vmp/common/PageResult.java
@@ -1,10 +1,8 @@
 package com.genersoft.iot.vmp.common;
 
-import lombok.Data;
 
 import java.util.List;
 
-@Data
 public class PageResult<T> {
 
     private int page;
@@ -17,4 +15,31 @@
         return data;
     }
 
+    public int getPage() {
+        return page;
+    }
+
+    public void setPage(int page) {
+        this.page = page;
+    }
+
+    public int getCount() {
+        return count;
+    }
+
+    public void setCount(int count) {
+        this.count = count;
+    }
+
+    public int getTotal() {
+        return total;
+    }
+
+    public void setTotal(int total) {
+        this.total = total;
+    }
+
+    public void setData(List<T> data) {
+        this.data = data;
+    }
 }
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 fcf5cd2..1dd3a85 100644
--- a/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
@@ -1,9 +1,7 @@
 package com.genersoft.iot.vmp.common;
 
 import com.alibaba.fastjson.JSONArray;
-import lombok.Data;
 
-@Data
 public class StreamInfo {
 
     private String ssrc;
@@ -16,4 +14,75 @@
     private String rtsp;
     private JSONArray tracks;
 
+    public String getSsrc() {
+        return ssrc;
+    }
+
+    public void setSsrc(String ssrc) {
+        this.ssrc = ssrc;
+    }
+
+    public String getDeviceID() {
+        return deviceID;
+    }
+
+    public void setDeviceID(String deviceID) {
+        this.deviceID = deviceID;
+    }
+
+    public String getCahnnelId() {
+        return cahnnelId;
+    }
+
+    public void setCahnnelId(String cahnnelId) {
+        this.cahnnelId = cahnnelId;
+    }
+
+    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 JSONArray getTracks() {
+        return tracks;
+    }
+
+    public void setTracks(JSONArray tracks) {
+        this.tracks = tracks;
+    }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/MediaServerConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/MediaServerConfig.java
index 807cd84..8c101b4 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/MediaServerConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/MediaServerConfig.java
@@ -1,9 +1,7 @@
 package com.genersoft.iot.vmp.conf;
 
 import com.alibaba.fastjson.annotation.JSONField;
-import lombok.Data;
 
-@Data
 public class MediaServerConfig {
 
     @JSONField(name = "api.apiDebug")
@@ -200,4 +198,525 @@
 
     @JSONField(name = "shell.shell")
     private String shellPhell;
+
+
+    public String getApiDebug() {
+        return apiDebug;
+    }
+
+    public void setApiDebug(String apiDebug) {
+        this.apiDebug = apiDebug;
+    }
+
+    public String getApiSecret() {
+        return apiSecret;
+    }
+
+    public void setApiSecret(String apiSecret) {
+        this.apiSecret = apiSecret;
+    }
+
+    public String getFfmpegBin() {
+        return ffmpegBin;
+    }
+
+    public void setFfmpegBin(String ffmpegBin) {
+        this.ffmpegBin = ffmpegBin;
+    }
+
+    public String getFfmpegCmd() {
+        return ffmpegCmd;
+    }
+
+    public void setFfmpegCmd(String ffmpegCmd) {
+        this.ffmpegCmd = ffmpegCmd;
+    }
+
+    public String getFfmpegLog() {
+        return ffmpegLog;
+    }
+
+    public void setFfmpegLog(String ffmpegLog) {
+        this.ffmpegLog = ffmpegLog;
+    }
+
+    public String getGeneralEnableVhost() {
+        return generalEnableVhost;
+    }
+
+    public void setGeneralEnableVhost(String generalEnableVhost) {
+        this.generalEnableVhost = generalEnableVhost;
+    }
+
+    public String getGeneralFlowThreshold() {
+        return generalFlowThreshold;
+    }
+
+    public void setGeneralFlowThreshold(String generalFlowThreshold) {
+        this.generalFlowThreshold = generalFlowThreshold;
+    }
+
+    public String getGeneralMaxStreamWaitMS() {
+        return generalMaxStreamWaitMS;
+    }
+
+    public void setGeneralMaxStreamWaitMS(String generalMaxStreamWaitMS) {
+        this.generalMaxStreamWaitMS = generalMaxStreamWaitMS;
+    }
+
+    public String getGeneralStreamNoneReaderDelayMS() {
+        return generalStreamNoneReaderDelayMS;
+    }
+
+    public void setGeneralStreamNoneReaderDelayMS(String generalStreamNoneReaderDelayMS) {
+        this.generalStreamNoneReaderDelayMS = generalStreamNoneReaderDelayMS;
+    }
+
+    public String getLocalIP() {
+        return localIP;
+    }
+
+    public void setLocalIP(String localIP) {
+        this.localIP = localIP;
+    }
+
+    public String getHlsFileBufSize() {
+        return hlsFileBufSize;
+    }
+
+    public void setHlsFileBufSize(String hlsFileBufSize) {
+        this.hlsFileBufSize = hlsFileBufSize;
+    }
+
+    public String getHlsFilePath() {
+        return hlsFilePath;
+    }
+
+    public void setHlsFilePath(String hlsFilePath) {
+        this.hlsFilePath = hlsFilePath;
+    }
+
+    public String getHlsSegDur() {
+        return hlsSegDur;
+    }
+
+    public void setHlsSegDur(String hlsSegDur) {
+        this.hlsSegDur = hlsSegDur;
+    }
+
+    public String getHlsSegNum() {
+        return hlsSegNum;
+    }
+
+    public void setHlsSegNum(String hlsSegNum) {
+        this.hlsSegNum = hlsSegNum;
+    }
+
+    public String getHookAccessFileExceptHLS() {
+        return hookAccessFileExceptHLS;
+    }
+
+    public void setHookAccessFileExceptHLS(String hookAccessFileExceptHLS) {
+        this.hookAccessFileExceptHLS = hookAccessFileExceptHLS;
+    }
+
+    public String getHookAdminParams() {
+        return hookAdminParams;
+    }
+
+    public void setHookAdminParams(String hookAdminParams) {
+        this.hookAdminParams = hookAdminParams;
+    }
+
+    public String getHookEnable() {
+        return hookEnable;
+    }
+
+    public void setHookEnable(String hookEnable) {
+        this.hookEnable = hookEnable;
+    }
+
+    public String getHookOnFlowReport() {
+        return hookOnFlowReport;
+    }
+
+    public void setHookOnFlowReport(String hookOnFlowReport) {
+        this.hookOnFlowReport = hookOnFlowReport;
+    }
+
+    public String getHookOnHttpAccess() {
+        return hookOnHttpAccess;
+    }
+
+    public void setHookOnHttpAccess(String hookOnHttpAccess) {
+        this.hookOnHttpAccess = hookOnHttpAccess;
+    }
+
+    public String getHookOnPlay() {
+        return hookOnPlay;
+    }
+
+    public void setHookOnPlay(String hookOnPlay) {
+        this.hookOnPlay = hookOnPlay;
+    }
+
+    public String getHookOnPublish() {
+        return hookOnPublish;
+    }
+
+    public void setHookOnPublish(String hookOnPublish) {
+        this.hookOnPublish = hookOnPublish;
+    }
+
+    public String getHookOnRecordMp4() {
+        return hookOnRecordMp4;
+    }
+
+    public void setHookOnRecordMp4(String hookOnRecordMp4) {
+        this.hookOnRecordMp4 = hookOnRecordMp4;
+    }
+
+    public String getHookOnRtspAuth() {
+        return hookOnRtspAuth;
+    }
+
+    public void setHookOnRtspAuth(String hookOnRtspAuth) {
+        this.hookOnRtspAuth = hookOnRtspAuth;
+    }
+
+    public String getHookOnRtspRealm() {
+        return hookOnRtspRealm;
+    }
+
+    public void setHookOnRtspRealm(String hookOnRtspRealm) {
+        this.hookOnRtspRealm = hookOnRtspRealm;
+    }
+
+    public String getHookOnShellLogin() {
+        return hookOnShellLogin;
+    }
+
+    public void setHookOnShellLogin(String hookOnShellLogin) {
+        this.hookOnShellLogin = hookOnShellLogin;
+    }
+
+    public String getHookOnStreamChanged() {
+        return hookOnStreamChanged;
+    }
+
+    public void setHookOnStreamChanged(String hookOnStreamChanged) {
+        this.hookOnStreamChanged = hookOnStreamChanged;
+    }
+
+    public String getHookOnStreamNoneReader() {
+        return hookOnStreamNoneReader;
+    }
+
+    public void setHookOnStreamNoneReader(String hookOnStreamNoneReader) {
+        this.hookOnStreamNoneReader = hookOnStreamNoneReader;
+    }
+
+    public String getHookOnStreamNotFound() {
+        return hookOnStreamNotFound;
+    }
+
+    public void setHookOnStreamNotFound(String hookOnStreamNotFound) {
+        this.hookOnStreamNotFound = hookOnStreamNotFound;
+    }
+
+    public String getHookTimeoutSec() {
+        return hookTimeoutSec;
+    }
+
+    public void setHookTimeoutSec(String hookTimeoutSec) {
+        this.hookTimeoutSec = hookTimeoutSec;
+    }
+
+    public String getHttpCharSet() {
+        return httpCharSet;
+    }
+
+    public void setHttpCharSet(String httpCharSet) {
+        this.httpCharSet = httpCharSet;
+    }
+
+    public String getHttpKeepAliveSecond() {
+        return httpKeepAliveSecond;
+    }
+
+    public void setHttpKeepAliveSecond(String httpKeepAliveSecond) {
+        this.httpKeepAliveSecond = httpKeepAliveSecond;
+    }
+
+    public String getHttpMaxReqCount() {
+        return httpMaxReqCount;
+    }
+
+    public void setHttpMaxReqCount(String httpMaxReqCount) {
+        this.httpMaxReqCount = httpMaxReqCount;
+    }
+
+    public String getHttpMaxReqSize() {
+        return httpMaxReqSize;
+    }
+
+    public void setHttpMaxReqSize(String httpMaxReqSize) {
+        this.httpMaxReqSize = httpMaxReqSize;
+    }
+
+    public String getHttpNotFound() {
+        return httpNotFound;
+    }
+
+    public void setHttpNotFound(String httpNotFound) {
+        this.httpNotFound = httpNotFound;
+    }
+
+    public String getHttpPort() {
+        return httpPort;
+    }
+
+    public void setHttpPort(String httpPort) {
+        this.httpPort = httpPort;
+    }
+
+    public String getHttpRootPath() {
+        return httpRootPath;
+    }
+
+    public void setHttpRootPath(String httpRootPath) {
+        this.httpRootPath = httpRootPath;
+    }
+
+    public String getHttpSendBufSize() {
+        return httpSendBufSize;
+    }
+
+    public void setHttpSendBufSize(String httpSendBufSize) {
+        this.httpSendBufSize = httpSendBufSize;
+    }
+
+    public String getHttpSSLport() {
+        return httpSSLport;
+    }
+
+    public void setHttpSSLport(String httpSSLport) {
+        this.httpSSLport = httpSSLport;
+    }
+
+    public String getMulticastAddrMax() {
+        return multicastAddrMax;
+    }
+
+    public void setMulticastAddrMax(String multicastAddrMax) {
+        this.multicastAddrMax = multicastAddrMax;
+    }
+
+    public String getMulticastAddrMin() {
+        return multicastAddrMin;
+    }
+
+    public void setMulticastAddrMin(String multicastAddrMin) {
+        this.multicastAddrMin = multicastAddrMin;
+    }
+
+    public String getMulticastUdpTTL() {
+        return multicastUdpTTL;
+    }
+
+    public void setMulticastUdpTTL(String multicastUdpTTL) {
+        this.multicastUdpTTL = multicastUdpTTL;
+    }
+
+    public String getRecordAppName() {
+        return recordAppName;
+    }
+
+    public void setRecordAppName(String recordAppName) {
+        this.recordAppName = recordAppName;
+    }
+
+    public String getRecordFilePath() {
+        return recordFilePath;
+    }
+
+    public void setRecordFilePath(String recordFilePath) {
+        this.recordFilePath = recordFilePath;
+    }
+
+    public String getRecordFileSecond() {
+        return recordFileSecond;
+    }
+
+    public void setRecordFileSecond(String recordFileSecond) {
+        this.recordFileSecond = recordFileSecond;
+    }
+
+    public String getRecordFileSampleMS() {
+        return recordFileSampleMS;
+    }
+
+    public void setRecordFileSampleMS(String recordFileSampleMS) {
+        this.recordFileSampleMS = recordFileSampleMS;
+    }
+
+    public String getRtmpHandshakeSecond() {
+        return rtmpHandshakeSecond;
+    }
+
+    public void setRtmpHandshakeSecond(String rtmpHandshakeSecond) {
+        this.rtmpHandshakeSecond = rtmpHandshakeSecond;
+    }
+
+    public String getRtmpKeepAliveSecond() {
+        return rtmpKeepAliveSecond;
+    }
+
+    public void setRtmpKeepAliveSecond(String rtmpKeepAliveSecond) {
+        this.rtmpKeepAliveSecond = rtmpKeepAliveSecond;
+    }
+
+    public String getRtmpModifyStamp() {
+        return rtmpModifyStamp;
+    }
+
+    public void setRtmpModifyStamp(String rtmpModifyStamp) {
+        this.rtmpModifyStamp = rtmpModifyStamp;
+    }
+
+    public String getRtmpPort() {
+        return rtmpPort;
+    }
+
+    public void setRtmpPort(String rtmpPort) {
+        this.rtmpPort = rtmpPort;
+    }
+
+    public String getRtpAudioMtuSize() {
+        return rtpAudioMtuSize;
+    }
+
+    public void setRtpAudioMtuSize(String rtpAudioMtuSize) {
+        this.rtpAudioMtuSize = rtpAudioMtuSize;
+    }
+
+    public String getRtpClearCount() {
+        return rtpClearCount;
+    }
+
+    public void setRtpClearCount(String rtpClearCount) {
+        this.rtpClearCount = rtpClearCount;
+    }
+
+    public String getRtpCycleMS() {
+        return rtpCycleMS;
+    }
+
+    public void setRtpCycleMS(String rtpCycleMS) {
+        this.rtpCycleMS = rtpCycleMS;
+    }
+
+    public String getRtpMaxRtpCount() {
+        return rtpMaxRtpCount;
+    }
+
+    public void setRtpMaxRtpCount(String rtpMaxRtpCount) {
+        this.rtpMaxRtpCount = rtpMaxRtpCount;
+    }
+
+    public String getRtpVideoMtuSize() {
+        return rtpVideoMtuSize;
+    }
+
+    public void setRtpVideoMtuSize(String rtpVideoMtuSize) {
+        this.rtpVideoMtuSize = rtpVideoMtuSize;
+    }
+
+    public String getRtpProxyCheckSource() {
+        return rtpProxyCheckSource;
+    }
+
+    public void setRtpProxyCheckSource(String rtpProxyCheckSource) {
+        this.rtpProxyCheckSource = rtpProxyCheckSource;
+    }
+
+    public String getRtpProxyDumpDir() {
+        return rtpProxyDumpDir;
+    }
+
+    public void setRtpProxyDumpDir(String rtpProxyDumpDir) {
+        this.rtpProxyDumpDir = rtpProxyDumpDir;
+    }
+
+    public String getRtpProxyPort() {
+        return rtpProxyPort;
+    }
+
+    public void setRtpProxyPort(String rtpProxyPort) {
+        this.rtpProxyPort = rtpProxyPort;
+    }
+
+    public String getRtpProxyTimeoutSec() {
+        return rtpProxyTimeoutSec;
+    }
+
+    public void setRtpProxyTimeoutSec(String rtpProxyTimeoutSec) {
+        this.rtpProxyTimeoutSec = rtpProxyTimeoutSec;
+    }
+
+    public String getRtspAuthBasic() {
+        return rtspAuthBasic;
+    }
+
+    public void setRtspAuthBasic(String rtspAuthBasic) {
+        this.rtspAuthBasic = rtspAuthBasic;
+    }
+
+    public String getRtspHandshakeSecond() {
+        return rtspHandshakeSecond;
+    }
+
+    public void setRtspHandshakeSecond(String rtspHandshakeSecond) {
+        this.rtspHandshakeSecond = rtspHandshakeSecond;
+    }
+
+    public String getRtspKeepAliveSecond() {
+        return rtspKeepAliveSecond;
+    }
+
+    public void setRtspKeepAliveSecond(String rtspKeepAliveSecond) {
+        this.rtspKeepAliveSecond = rtspKeepAliveSecond;
+    }
+
+    public String getRtspPort() {
+        return rtspPort;
+    }
+
+    public void setRtspPort(String rtspPort) {
+        this.rtspPort = rtspPort;
+    }
+
+    public String getRtspSSlport() {
+        return rtspSSlport;
+    }
+
+    public void setRtspSSlport(String rtspSSlport) {
+        this.rtspSSlport = rtspSSlport;
+    }
+
+    public String getShellMaxReqSize() {
+        return shellMaxReqSize;
+    }
+
+    public void setShellMaxReqSize(String shellMaxReqSize) {
+        this.shellMaxReqSize = shellMaxReqSize;
+    }
+
+    public String getShellPhell() {
+        return shellPhell;
+    }
+
+    public void setShellPhell(String shellPhell) {
+        this.shellPhell = shellPhell;
+    }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java
index ba22975..52d8089 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/SipConfig.java
@@ -1,10 +1,9 @@
 package com.genersoft.iot.vmp.conf;
 
-import lombok.Data;
+
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
 
-@Data
 @Configuration("sipConfig")
 public class SipConfig {
 
@@ -22,4 +21,51 @@
 	@Value("${sip.ptz.speed:50}")
 	Integer speed;
 
+	public String getSipIp() {
+		return sipIp;
+	}
+
+	public void setSipIp(String sipIp) {
+		this.sipIp = sipIp;
+	}
+
+	public Integer getSipPort() {
+		return sipPort;
+	}
+
+	public void setSipPort(Integer sipPort) {
+		this.sipPort = sipPort;
+	}
+
+	public String getSipDomain() {
+		return sipDomain;
+	}
+
+	public void setSipDomain(String sipDomain) {
+		this.sipDomain = sipDomain;
+	}
+
+	public String getSipId() {
+		return sipId;
+	}
+
+	public void setSipId(String sipId) {
+		this.sipId = sipId;
+	}
+
+	public String getSipPassword() {
+		return sipPassword;
+	}
+
+	public void setSipPassword(String sipPassword) {
+		this.sipPassword = sipPassword;
+	}
+
+	public Integer getSpeed() {
+		return speed;
+	}
+
+	public void setSpeed(Integer speed) {
+		this.speed = speed;
+	}
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java
index b27ea2f..4c71b5c 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/VManagerConfig.java
@@ -1,6 +1,5 @@
 package com.genersoft.iot.vmp.conf;
 
-import lombok.Data;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
 
@@ -9,7 +8,6 @@
  * @author: swwheihei
  * @date:   2020骞�5鏈�6鏃� 涓嬪崍2:46:00     
  */
-@Data
 @Configuration("vmConfig")
 public class VManagerConfig {
 
@@ -17,4 +15,11 @@
     private String database;
 
 
+    public String getDatabase() {
+        return database;
+    }
+
+    public void setDatabase(String database) {
+        this.database = database;
+    }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java
index 7c3ebf6..cc39aa4 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/RecordInfo.java
@@ -1,6 +1,5 @@
 package com.genersoft.iot.vmp.gb28181.bean;
 
-import lombok.Data;
 
 import java.util.List;
 
@@ -18,7 +17,6 @@
 	private int sumNum;
 	
 	private List<RecordItem> recordList;
-
 
 	public String getDeviceId() {
 		return deviceId;
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 44467ae..9af409f 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -212,7 +212,7 @@
 		try {
 
 			String ssrc = streamSession.createPlaySsrc();
-			String transport = device.getTransport();
+			String streamMode = device.getStreamMode().toUpperCase();
 			MediaServerConfig mediaInfo = storager.getMediaInfo();
 			String mediaPort = null;
 			// 浣跨敤鍔ㄦ�乽dp绔彛
@@ -228,20 +228,24 @@
 	        content.append("s=Play\r\n");
 	        content.append("c=IN IP4 "+mediaInfo.getLocalIP()+"\r\n");
 	        content.append("t=0 0\r\n");
-	        if("TCP".equals(transport)) {
+	        if("TCP-PASSIVE".equals(streamMode)) {
 	        	content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
-			}
-	        if("UDP".equals(transport)) {
+			}else if ("TCP-ACTIVE".equals(streamMode)) {
+				content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
+			}else if("UDP".equals(streamMode)) {
 	        	content.append("m=video "+ mediaPort +" RTP/AVP 96 98 97\r\n");
 			}
 	        content.append("a=recvonly\r\n");
 	        content.append("a=rtpmap:96 PS/90000\r\n");
 	        content.append("a=rtpmap:98 H264/90000\r\n");
 	        content.append("a=rtpmap:97 MPEG4/90000\r\n");
-	        if("TCP".equals(transport)){
-	             content.append("a=setup:passive\r\n");
-	             content.append("a=connection:new\r\n");
-	        }
+	        if("TCP-PASSIVE".equals(streamMode)){ // tcp琚姩妯″紡
+	        	content.append("a=setup:passive\r\n");
+				content.append("a=connection:new\r\n");
+	        }else if ("TCP-ACTIVE".equals(streamMode)) { // tcp涓诲姩妯″紡
+				content.append("a=setup:active\r\n");
+				content.append("a=connection:new\r\n");
+			}
 	        content.append("y="+ssrc+"\r\n");//ssrc
 	        
 	        Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, "live", null);
@@ -286,21 +290,34 @@
 	        content.append("s=Playback\r\n");
 	        content.append("u="+channelId+":0\r\n");
 	        content.append("c=IN IP4 "+mediaInfo.getLocalIP()+"\r\n");
-	        content.append("t="+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime)+" "+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) +"\r\n");
-	        if(device.getTransport().equals("TCP")) {
-	        	content.append("m=video "+mediaInfo.getRtpProxyPort()+" TCP/RTP/AVP 96 98 97\r\n");
+	        content.append("t="+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime)+" "
+					+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) +"\r\n");
+			String mediaPort = null;
+			// 浣跨敤鍔ㄦ�乽dp绔彛
+			if (rtpEnable) {
+				mediaPort = zlmUtils.getNewRTPPort(ssrc) + "";
+			}else {
+				mediaPort = mediaInfo.getRtpProxyPort();
 			}
-	        if(device.getTransport().equals("UDP")) {
-	        	content.append("m=video "+mediaInfo.getRtpProxyPort()+" RTP/AVP 96 98 97\r\n");
+			String streamMode = device.getStreamMode().toUpperCase();
+			if("TCP-PASSIVE".equals(streamMode)) {
+				content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
+			}else if ("TCP-ACTIVE".equals(streamMode)) {
+				content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
+			}else if("UDP".equals(streamMode)) {
+				content.append("m=video "+ mediaPort +" RTP/AVP 96 98 97\r\n");
 			}
 	        content.append("a=recvonly\r\n");
 	        content.append("a=rtpmap:96 PS/90000\r\n");
 	        content.append("a=rtpmap:98 H264/90000\r\n");
 	        content.append("a=rtpmap:97 MPEG4/90000\r\n");
-	        if(device.getTransport().equals("TCP")){
-	             content.append("a=setup:passive\r\n");
-	             content.append("a=connection:new\r\n");
-	        }
+			if("TCP-PASSIVE".equals(streamMode)){ // tcp琚姩妯″紡
+				content.append("a=setup:passive\r\n");
+				content.append("a=connection:new\r\n");
+			}else if ("TCP-ACTIVE".equals(streamMode)) { // tcp涓诲姩妯″紡
+				content.append("a=setup:active\r\n");
+				content.append("a=connection:new\r\n");
+			}
 	        content.append("y="+ssrc+"\r\n");//ssrc
 	        
 	        Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "playback", null);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
index 9768243..02f7e93 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
@@ -245,6 +245,9 @@
 			device.setManufacturer(XmlUtil.getText(rootElement,"Manufacturer"));
 			device.setModel(XmlUtil.getText(rootElement,"Model"));
 			device.setFirmware(XmlUtil.getText(rootElement,"Firmware"));
+			if (StringUtils.isEmpty(device.getStreamMode())){
+				device.setStreamMode("UDP");
+			}
 			storager.updateDevice(device);
 			cmder.catalogQuery(device);
 		} catch (DocumentException e) {
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
index 6217024..276127f 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
@@ -113,6 +113,7 @@
 				SipUri uri = (SipUri) address.getURI();
 				String deviceId = uri.getUser();
 				device = new Device();
+				device.setStreamMode("UDP");
 				device.setDeviceId(deviceId);
 				device.setHost(host);
 				// 娉ㄩ攢鎴愬姛
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java
index bd5564e..8c0ecfb 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java
@@ -151,11 +151,11 @@
 		return new ResponseEntity<>(null,HttpStatus.OK);
 	}
 
-	@GetMapping("/devices/{deviceId}/transport/{transport}")
-	@PostMapping("/devices/{deviceId}/transport/{transport}")
-	public ResponseEntity<PageResult> updateTransport(@PathVariable String deviceId, @PathVariable String transport){
+	@GetMapping("/devices/{deviceId}/transport/{streamMode}")
+	@PostMapping("/devices/{deviceId}/transport/{streamMode}")
+	public ResponseEntity<PageResult> updateTransport(@PathVariable String deviceId, @PathVariable String streamMode){
 		Device device = storager.queryVideoDevice(deviceId);
-		device.setTransport(transport);
+		device.setStreamMode(streamMode);
 		storager.updateDevice(device);
 		return new ResponseEntity<>(null,HttpStatus.OK);
 	}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java
index 19429a2..ad0ff0c 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java
@@ -76,23 +76,8 @@
 					}else {
 						lockFlag = false;
 						streamInfo = storager.queryPlay(streamInfo);
-						// 鑾峰彇濯掍綋淇℃伅
-						JSONObject mediaList = zlmresTfulUtils.getMediaList("rtp", "rtmp");
-						if (mediaList.getInteger("code") == 0) {
-							JSONArray data = mediaList.getJSONArray("data");
-							if (data!= null) {
-								for (Object datum : data) {
-									JSONObject media = (JSONObject)datum;
-									if (streamId.equals(media.getString("stream"))) {
-										streamInfo.setTracks(media.getJSONArray("tracks"));
-										storager.startPlay(streamInfo);
-									}
-								}
-							}
-						}
 					};
 				}
-				streamInfo = storager.queryPlayByDevice(deviceId, channelId);
 			} catch (InterruptedException e) {
 				e.printStackTrace();
 			}
diff --git a/web_src/src/components/gb28181/devicePlayer.vue b/web_src/src/components/gb28181/devicePlayer.vue
index ce36483..2f2cfc0 100644
--- a/web_src/src/components/gb28181/devicePlayer.vue
+++ b/web_src/src/components/gb28181/devicePlayer.vue
@@ -1,7 +1,8 @@
 <template>
 	<div id="devicePlayer">
 		<el-dialog title="瑙嗛鎾斁" top="0" :visible.sync="showVideoDialog" :destroy-on-close="true" @close="close()">
-      <LivePlayer v-if="showVideoDialog" ref="videoPlayer" :videoUrl="videoUrl" :error="videoError" :hasaudio="hasaudio" fluent autoplay live ></LivePlayer>
+      <LivePlayer v-if="showVideoDialog && hasaudio" ref="videoPlayer" :videoUrl="videoUrl" :error="videoError" hasaudio fluent autoplay live ></LivePlayer>
+      <LivePlayer v-if="showVideoDialog && !hasaudio" ref="videoPlayer" :videoUrl="videoUrl" :error="videoError" fluent autoplay live ></LivePlayer>
 			<div id="shared" style="text-align: right; margin-top: 1rem;">
 				<el-tabs v-model="tabActiveName">
 					<el-tab-pane label="濯掍綋娴佷俊鎭�" name="media">
@@ -122,20 +123,20 @@
 		methods: {
 
 			play: function(streamInfo, deviceId, channelId, hasAudio) {
-        console.log(hasAudio);
-        this.hasaudio = hasAudio;
-        // 鏍规嵁濯掍綋娴佷俊鎭簩娆″垽鏂�
-        if( this.hasaudio && !!streamInfo.tracks && streamInfo.tracks.length > 0) {
-          var realHasAudio = false;
-          for (let i = 0; i < streamInfo.tracks; i++) {
-            if (streamInfo.tracks[i].codec_type == 1) { // 鍒ゆ柇涓洪煶棰�
-              realHasAudio = true;
-            }
-          }
-          this.hasaudio = realHasAudio && this.hasaudio;
+        // this.hasaudio = hasAudio;
+        if (!hasAudio) { // hasaudio == false鏃惰缃挱鏀惧櫒hasaudio false, 鍚﹀垯涓嶈缃�
+          this.hasaudio = hasAudio;
         }
-        console.log("111")
-        console.log(this.hasaudio)
+        // 鏍规嵁濯掍綋娴佷俊鎭簩娆″垽鏂�
+        // if( this.hasaudio && !!streamInfo.tracks && streamInfo.tracks.length > 0) {
+        //   var realHasAudio = false;
+        //   for (let i = 0; i < streamInfo.tracks; i++) {
+        //     if (streamInfo.tracks[i].codec_type == 1) { // 鍒ゆ柇涓洪煶棰�
+        //       realHasAudio = true;
+        //     }
+        //   }
+        //   this.hasaudio = realHasAudio && this.hasaudio;
+        // }
         this.ssrc = streamInfo.ssrc;
 				this.deviceId = deviceId;
 				this.channelId = channelId;
diff --git a/web_src/src/components/videoList.vue b/web_src/src/components/videoList.vue
index 1ae78be..ebf3ad0 100644
--- a/web_src/src/components/videoList.vue
+++ b/web_src/src/components/videoList.vue
@@ -29,12 +29,12 @@
 					</el-table-column>
 					<el-table-column prop="model" label="鍥轰欢鐗堟湰" align="center">
 					</el-table-column>
-					<el-table-column label="閫氳鏂瑰紡" align="center">
+					<el-table-column label="娴佷紶杈撴ā寮�" align="center" width="160">
             <template slot-scope="scope">
-              <el-select @change="transportChange(scope.row)" v-model="scope.row.streamMode" placeholder="璇烽�夋嫨">
+              <el-select size="mini" @change="transportChange(scope.row)" v-model="scope.row.streamMode" placeholder="璇烽�夋嫨">
                 <el-option key="UDP" label="UDP" value="UDP"></el-option>
-                <el-option key="TCP-ACTIVE" label="TCP涓诲姩妯″紡" value="TCP-ACTIVE"></el-option>
-                <el-option key="TCP-PASSIVE" label="TCP琚姩妯″紡" :disabled="true" value="TCP-PASSIVE"></el-option>
+                <el-option key="TCP-ACTIVE" label="TCP涓诲姩妯″紡" :disabled="true" value="TCP-ACTIVE"></el-option>
+                <el-option key="TCP-PASSIVE" label="TCP琚姩妯″紡"  value="TCP-PASSIVE"></el-option>
               </el-select>
             </template>
 					</el-table-column>
@@ -189,14 +189,14 @@
 				});
 			},
       transportChange: function (row) {
-        console.log(`淇敼浼犺緭鏂瑰紡涓� ${row.transport}锛�${row.deviceId} `);
+        console.log(row);
+        console.log(`淇敼浼犺緭鏂瑰紡涓� ${row.streamMode}锛�${row.deviceId} `);
         let that = this;
         this.$axios({
           method: 'get',
-          url: '/api/devices/' + row.deviceId + '/transport/' + row.transport
+          url: '/api/devices/' + row.deviceId + '/transport/' + row.streamMode
         }).then(function(res) {
-          let ssrc = res.data.ssrc;
-          that.$refs.devicePlayer.play(ssrc,deviceId,channelId);
+
         }).catch(function(e) {
         });
       }

--
Gitblit v1.8.0