Commit b92289812907fb49f32c377dfc128e971eec7562
1 parent
da44fae9
修复wvp使用https时播放流地址使用wss,以使用ssl播放
Showing
3 changed files
with
124 additions
and
2 deletions
src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
| @@ -9,15 +9,25 @@ public class StreamInfo { | @@ -9,15 +9,25 @@ public class StreamInfo { | ||
| 9 | private String deviceID; | 9 | private String deviceID; |
| 10 | private String channelId; | 10 | private String channelId; |
| 11 | private String flv; | 11 | private String flv; |
| 12 | + private String https_flv; | ||
| 12 | private String ws_flv; | 13 | private String ws_flv; |
| 14 | + private String wss_flv; | ||
| 13 | private String fmp4; | 15 | private String fmp4; |
| 16 | + private String https_fmp4; | ||
| 14 | private String ws_fmp4; | 17 | private String ws_fmp4; |
| 18 | + private String wss_fmp4; | ||
| 15 | private String hls; | 19 | private String hls; |
| 20 | + private String https_hls; | ||
| 16 | private String ws_hls; | 21 | private String ws_hls; |
| 22 | + private String wss_hls; | ||
| 17 | private String ts; | 23 | private String ts; |
| 24 | + private String https_ts; | ||
| 18 | private String ws_ts; | 25 | private String ws_ts; |
| 26 | + private String wss_ts; | ||
| 19 | private String rtmp; | 27 | private String rtmp; |
| 28 | + private String rtmps; | ||
| 20 | private String rtsp; | 29 | private String rtsp; |
| 30 | + private String rtsps; | ||
| 21 | private String rtc; | 31 | private String rtc; |
| 22 | private String mediaServerId; | 32 | private String mediaServerId; |
| 23 | private JSONArray tracks; | 33 | private JSONArray tracks; |
| @@ -174,4 +184,84 @@ public class StreamInfo { | @@ -174,4 +184,84 @@ public class StreamInfo { | ||
| 174 | public void setMediaServerId(String mediaServerId) { | 184 | public void setMediaServerId(String mediaServerId) { |
| 175 | this.mediaServerId = mediaServerId; | 185 | this.mediaServerId = mediaServerId; |
| 176 | } | 186 | } |
| 187 | + | ||
| 188 | + public String getHttps_flv() { | ||
| 189 | + return https_flv; | ||
| 190 | + } | ||
| 191 | + | ||
| 192 | + public void setHttps_flv(String https_flv) { | ||
| 193 | + this.https_flv = https_flv; | ||
| 194 | + } | ||
| 195 | + | ||
| 196 | + public String getWss_flv() { | ||
| 197 | + return wss_flv; | ||
| 198 | + } | ||
| 199 | + | ||
| 200 | + public void setWss_flv(String wss_flv) { | ||
| 201 | + this.wss_flv = wss_flv; | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + public String getWss_fmp4() { | ||
| 205 | + return wss_fmp4; | ||
| 206 | + } | ||
| 207 | + | ||
| 208 | + public void setWss_fmp4(String wss_fmp4) { | ||
| 209 | + this.wss_fmp4 = wss_fmp4; | ||
| 210 | + } | ||
| 211 | + | ||
| 212 | + public String getWss_hls() { | ||
| 213 | + return wss_hls; | ||
| 214 | + } | ||
| 215 | + | ||
| 216 | + public void setWss_hls(String wss_hls) { | ||
| 217 | + this.wss_hls = wss_hls; | ||
| 218 | + } | ||
| 219 | + | ||
| 220 | + public String getWss_ts() { | ||
| 221 | + return wss_ts; | ||
| 222 | + } | ||
| 223 | + | ||
| 224 | + public void setWss_ts(String wss_ts) { | ||
| 225 | + this.wss_ts = wss_ts; | ||
| 226 | + } | ||
| 227 | + | ||
| 228 | + public String getRtmps() { | ||
| 229 | + return rtmps; | ||
| 230 | + } | ||
| 231 | + | ||
| 232 | + public void setRtmps(String rtmps) { | ||
| 233 | + this.rtmps = rtmps; | ||
| 234 | + } | ||
| 235 | + | ||
| 236 | + public String getRtsps() { | ||
| 237 | + return rtsps; | ||
| 238 | + } | ||
| 239 | + | ||
| 240 | + public void setRtsps(String rtsps) { | ||
| 241 | + this.rtsps = rtsps; | ||
| 242 | + } | ||
| 243 | + | ||
| 244 | + public String getHttps_hls() { | ||
| 245 | + return https_hls; | ||
| 246 | + } | ||
| 247 | + | ||
| 248 | + public void setHttps_hls(String https_hls) { | ||
| 249 | + this.https_hls = https_hls; | ||
| 250 | + } | ||
| 251 | + | ||
| 252 | + public String getHttps_fmp4() { | ||
| 253 | + return https_fmp4; | ||
| 254 | + } | ||
| 255 | + | ||
| 256 | + public void setHttps_fmp4(String https_fmp4) { | ||
| 257 | + this.https_fmp4 = https_fmp4; | ||
| 258 | + } | ||
| 259 | + | ||
| 260 | + public String getHttps_ts() { | ||
| 261 | + return https_ts; | ||
| 262 | + } | ||
| 263 | + | ||
| 264 | + public void setHttps_ts(String https_ts) { | ||
| 265 | + this.https_ts = https_ts; | ||
| 266 | + } | ||
| 177 | } | 267 | } |
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
| @@ -70,7 +70,13 @@ public class MediaServiceImpl implements IMediaService { | @@ -70,7 +70,13 @@ public class MediaServiceImpl implements IMediaService { | ||
| 70 | } | 70 | } |
| 71 | streamInfoResult.setMediaServerId(mediaInfo.getId()); | 71 | streamInfoResult.setMediaServerId(mediaInfo.getId()); |
| 72 | streamInfoResult.setRtmp(String.format("rtmp://%s:%s/%s/%s", addr, mediaInfo.getRtmpPort(), app, stream)); | 72 | streamInfoResult.setRtmp(String.format("rtmp://%s:%s/%s/%s", addr, mediaInfo.getRtmpPort(), app, stream)); |
| 73 | + if (mediaInfo.getRtmpSSlPort() != 0) { | ||
| 74 | + streamInfoResult.setRtmps(String.format("rtmps://%s:%s/%s/%s", addr, mediaInfo.getRtmpSSlPort(), app, stream)); | ||
| 75 | + } | ||
| 73 | streamInfoResult.setRtsp(String.format("rtsp://%s:%s/%s/%s", addr, mediaInfo.getRtspPort(), app, stream)); | 76 | streamInfoResult.setRtsp(String.format("rtsp://%s:%s/%s/%s", addr, mediaInfo.getRtspPort(), app, stream)); |
| 77 | + if (mediaInfo.getRtspSSLPort() != 0) { | ||
| 78 | + streamInfoResult.setRtsps(String.format("rtsps://%s:%s/%s/%s", addr, mediaInfo.getRtspSSLPort(), app, stream)); | ||
| 79 | + } | ||
| 74 | streamInfoResult.setFlv(String.format("http://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpPort(), app, stream)); | 80 | streamInfoResult.setFlv(String.format("http://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpPort(), app, stream)); |
| 75 | streamInfoResult.setWs_flv(String.format("ws://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpPort(), app, stream)); | 81 | streamInfoResult.setWs_flv(String.format("ws://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpPort(), app, stream)); |
| 76 | streamInfoResult.setHls(String.format("http://%s:%s/%s/%s/hls.m3u8", addr, mediaInfo.getHttpPort(), app, stream)); | 82 | streamInfoResult.setHls(String.format("http://%s:%s/%s/%s/hls.m3u8", addr, mediaInfo.getHttpPort(), app, stream)); |
| @@ -79,7 +85,19 @@ public class MediaServiceImpl implements IMediaService { | @@ -79,7 +85,19 @@ public class MediaServiceImpl implements IMediaService { | ||
| 79 | streamInfoResult.setWs_fmp4(String.format("ws://%s:%s/%s/%s.live.mp4", addr, mediaInfo.getHttpPort(), app, stream)); | 85 | streamInfoResult.setWs_fmp4(String.format("ws://%s:%s/%s/%s.live.mp4", addr, mediaInfo.getHttpPort(), app, stream)); |
| 80 | streamInfoResult.setTs(String.format("http://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpPort(), app, stream)); | 86 | streamInfoResult.setTs(String.format("http://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpPort(), app, stream)); |
| 81 | streamInfoResult.setWs_ts(String.format("ws://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpPort(), app, stream)); | 87 | streamInfoResult.setWs_ts(String.format("ws://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpPort(), app, stream)); |
| 82 | - streamInfoResult.setRtc(String.format("http://%s:%s/index/api/webrtc?app=%s&stream=%s&type=play", mediaInfo.getStreamIp(), mediaInfo.getHttpPort(), app, stream)); | 88 | + if (mediaInfo.getHttpSSlPort() != 0) { |
| 89 | + streamInfoResult.setHttps_flv(String.format("https://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 90 | + streamInfoResult.setWss_flv(String.format("wss://%s:%s/%s/%s.flv", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 91 | + streamInfoResult.setHttps_hls(String.format("https://%s:%s/%s/%s/hls.m3u8", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 92 | + streamInfoResult.setWss_hls(String.format("wss://%s:%s/%s/%s/hls.m3u8", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 93 | + streamInfoResult.setHttps_fmp4(String.format("https://%s:%s/%s/%s.live.mp4", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 94 | + streamInfoResult.setWss_fmp4(String.format("wss://%s:%s/%s/%s.live.mp4", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 95 | + streamInfoResult.setHttps_ts(String.format("https://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 96 | + streamInfoResult.setWss_ts(String.format("wss://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 97 | + streamInfoResult.setWss_ts(String.format("wss://%s:%s/%s/%s.live.ts", addr, mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 98 | + streamInfoResult.setRtc(String.format("http://%s:%s/index/api/webrtc?app=%s&stream=%s&type=play", mediaInfo.getStreamIp(), mediaInfo.getHttpSSlPort(), app, stream)); | ||
| 99 | + } | ||
| 100 | + | ||
| 83 | streamInfoResult.setTracks(tracks); | 101 | streamInfoResult.setTracks(tracks); |
| 84 | return streamInfoResult; | 102 | return streamInfoResult; |
| 85 | } | 103 | } |
web_src/src/components/dialog/devicePlayer.vue
| @@ -285,7 +285,21 @@ export default { | @@ -285,7 +285,21 @@ export default { | ||
| 285 | let baseZlmApi = process.env.NODE_ENV === 'development'?`${location.host}/debug/zlm`:`${location.host}/zlm` | 285 | let baseZlmApi = process.env.NODE_ENV === 'development'?`${location.host}/debug/zlm`:`${location.host}/zlm` |
| 286 | // return `${baseZlmApi}/${streamInfo.app}/${streamInfo.streamId}.flv`; | 286 | // return `${baseZlmApi}/${streamInfo.app}/${streamInfo.streamId}.flv`; |
| 287 | // return `http://${baseZlmApi}/${streamInfo.app}/${streamInfo.streamId}.flv`; | 287 | // return `http://${baseZlmApi}/${streamInfo.app}/${streamInfo.streamId}.flv`; |
| 288 | - return streamInfo.ws_flv; | 288 | + if (location.protocol === "https:") { |
| 289 | + if (streamInfo.wss_flv === null) { | ||
| 290 | + this.$message({ | ||
| 291 | + showClose: true, | ||
| 292 | + message: '媒体服务器未配置ssl端口', | ||
| 293 | + type: 'error' | ||
| 294 | + }); | ||
| 295 | + }else { | ||
| 296 | + return streamInfo.wss_flv; | ||
| 297 | + } | ||
| 298 | + | ||
| 299 | + }else { | ||
| 300 | + return streamInfo.ws_flv; | ||
| 301 | + } | ||
| 302 | + | ||
| 289 | }, | 303 | }, |
| 290 | coverPlay: function () { | 304 | coverPlay: function () { |
| 291 | var that = this; | 305 | var that = this; |