From b92289812907fb49f32c377dfc128e971eec7562 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 30 九月 2021 16:46:10 +0800
Subject: [PATCH] 修复wvp使用https时播放流地址使用wss,以使用ssl播放
---
web_src/src/components/dialog/devicePlayer.vue | 16 +++++
src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java | 90 ++++++++++++++++++++++++++++++
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java | 20 ++++++
3 files changed, 124 insertions(+), 2 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 771838d..c5e2a24 100644
--- a/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
@@ -9,15 +9,25 @@
private String deviceID;
private String channelId;
private String flv;
+ private String https_flv;
private String ws_flv;
+ private String wss_flv;
private String fmp4;
+ private String https_fmp4;
private String ws_fmp4;
+ private String wss_fmp4;
private String hls;
+ private String https_hls;
private String ws_hls;
+ private String wss_hls;
private String ts;
+ private String https_ts;
private String ws_ts;
+ private String wss_ts;
private String rtmp;
+ private String rtmps;
private String rtsp;
+ private String rtsps;
private String rtc;
private String mediaServerId;
private JSONArray tracks;
@@ -174,4 +184,84 @@
public void setMediaServerId(String mediaServerId) {
this.mediaServerId = mediaServerId;
}
+
+ public String getHttps_flv() {
+ return https_flv;
+ }
+
+ public void setHttps_flv(String https_flv) {
+ this.https_flv = https_flv;
+ }
+
+ 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;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
index fb95861..33ad2ba 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
@@ -70,7 +70,13 @@
}
streamInfoResult.setMediaServerId(mediaInfo.getId());
streamInfoResult.setRtmp(String.format("rtmp://%s:%s/%s/%s", addr, mediaInfo.getRtmpPort(), app, stream));
+ if (mediaInfo.getRtmpSSlPort() != 0) {
+ streamInfoResult.setRtmps(String.format("rtmps://%s:%s/%s/%s", addr, mediaInfo.getRtmpSSlPort(), app, stream));
+ }
streamInfoResult.setRtsp(String.format("rtsp://%s:%s/%s/%s", addr, mediaInfo.getRtspPort(), app, stream));
+ if (mediaInfo.getRtspSSLPort() != 0) {
+ streamInfoResult.setRtsps(String.format("rtsps://%s:%s/%s/%s", addr, mediaInfo.getRtspSSLPort(), app, stream));
+ }
streamInfoResult.setFlv(String.format("http://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpPort(), app, stream));
streamInfoResult.setWs_flv(String.format("ws://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpPort(), app, stream));
streamInfoResult.setHls(String.format("http://%s:%s/%s/%s/hls.m3u8", addr, mediaInfo.getHttpPort(), app, stream));
@@ -79,7 +85,19 @@
streamInfoResult.setWs_fmp4(String.format("ws://%s:%s/%s/%s.live.mp4", addr, mediaInfo.getHttpPort(), app, stream));
streamInfoResult.setTs(String.format("http://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpPort(), app, stream));
streamInfoResult.setWs_ts(String.format("ws://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpPort(), app, stream));
- streamInfoResult.setRtc(String.format("http://%s:%s/index/api/webrtc?app=%s&stream=%s&type=play", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream));
+ if (mediaInfo.getHttpSSlPort() != 0) {
+ streamInfoResult.setHttps_flv(String.format("https://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setWss_flv(String.format("wss://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setHttps_hls(String.format("https://%s:%s/%s/%s/hls.m3u8", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setWss_hls(String.format("wss://%s:%s/%s/%s/hls.m3u8", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setHttps_fmp4(String.format("https://%s:%s/%s/%s.live.mp4", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setWss_fmp4(String.format("wss://%s:%s/%s/%s.live.mp4", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setHttps_ts(String.format("https://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setWss_ts(String.format("wss://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setWss_ts(String.format("wss://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpSSlPort(), app, stream));
+ streamInfoResult.setRtc(String.format("http://%s:%s/index/api/webrtc?app=%s&stream=%s&type=play", mediaInfo.getStreamIp(), mediaInfo.getHttpSSlPort(), app, stream));
+ }
+
streamInfoResult.setTracks(tracks);
return streamInfoResult;
}
diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue
index be1332e..5d23f35 100644
--- a/web_src/src/components/dialog/devicePlayer.vue
+++ b/web_src/src/components/dialog/devicePlayer.vue
@@ -285,7 +285,21 @@
let baseZlmApi = process.env.NODE_ENV === 'development'?`${location.host}/debug/zlm`:`${location.host}/zlm`
// return `${baseZlmApi}/${streamInfo.app}/${streamInfo.streamId}.flv`;
// return `http://${baseZlmApi}/${streamInfo.app}/${streamInfo.streamId}.flv`;
- return streamInfo.ws_flv;
+ if (location.protocol === "https:") {
+ if (streamInfo.wss_flv === null) {
+ this.$message({
+ showClose: true,
+ message: '濯掍綋鏈嶅姟鍣ㄦ湭閰嶇疆ssl绔彛',
+ type: 'error'
+ });
+ }else {
+ return streamInfo.wss_flv;
+ }
+
+ }else {
+ return streamInfo.ws_flv;
+ }
+
},
coverPlay: function () {
var that = this;
--
Gitblit v1.8.0