Compare commits

...

3 Commits

Author SHA1 Message Date
山海紫穹
0edf49fc0d
Pre Merge pull request !45 from 山海紫穹/dev260107_2 2026-05-22 06:15:08 +00:00
lin
37a4ea2a56 优化播放效果 2026-05-22 14:14:41 +08:00
紫穹
8e32f17e6e fix: 添加80端口映射,否则无法播放推送的流 2026-01-07 07:51:54 +08:00
4 changed files with 22 additions and 9 deletions

View File

@ -59,7 +59,7 @@ services:
networks: networks:
- media-net - media-net
ports: ports:
#- "6080:80/tcp" # [播流]HTTP 安全考虑-非测试阶段需要注释掉改为由nginx代理播流地址 - "80:80/tcp" # [播流]HTTP 安全考虑-非测试阶段需要注释掉改为由nginx代理播流地址
#- "4443:443/tcp" # [播流]HTTPS 安全考虑-非测试阶段需要注释掉改为由nginx代理播流地址 #- "4443:443/tcp" # [播流]HTTPS 安全考虑-非测试阶段需要注释掉改为由nginx代理播流地址
- "${MediaRtmp:-10935}:${MediaRtmp:-10935}/tcp" # [收流]RTMP - "${MediaRtmp:-10935}:${MediaRtmp:-10935}/tcp" # [收流]RTMP
- "${MediaRtmp:-10935}:${MediaRtmp:-10935}/udp" # [收流]RTMP - "${MediaRtmp:-10935}:${MediaRtmp:-10935}/udp" # [收流]RTMP

View File

@ -54,10 +54,12 @@ export default {
} }
}, },
created() { created() {
const paramUrl = decodeURIComponent(this.$route.params.url) if (this.$route.params.url) {
console.log(paramUrl) const paramUrl = decodeURIComponent(this.$route.params.url)
if (!this.videoUrl && paramUrl) { console.log(paramUrl)
this.videoUrl = paramUrl if (!this.videoUrl) {
this.videoUrl = paramUrl
}
} }
this.btnDom = document.getElementById('buttonsBox') this.btnDom = document.getElementById('buttonsBox')
}, },
@ -217,6 +219,10 @@ export default {
this.play(this.videoUrl) this.play(this.videoUrl)
}, },
play: function(url) { play: function(url) {
if (!url) {
console.warn('Jessibuca -> invalid url, skip play')
return
}
this.videoUrl = url this.videoUrl = url
console.log('Jessibuca -> url: ', url) console.log('Jessibuca -> url: ', url)
if (!jessibucaPlayer[this._uid]) { if (!jessibucaPlayer[this._uid]) {

View File

@ -44,6 +44,9 @@ export default {
}, },
methods: { methods: {
getMediaInfo: function() { getMediaInfo: function() {
if (!this.app || !this.stream || !this.mediaServerId) {
return
}
this.$store.dispatch('server/getMediaInfo', { this.$store.dispatch('server/getMediaInfo', {
app: this.app, app: this.app,
stream: this.stream, stream: this.stream,
@ -52,6 +55,7 @@ export default {
.then(data => { .then(data => {
this.info = data this.info = data
}) })
.catch(() => {})
}, },
startTask: function() { startTask: function() {
this.task = setInterval(this.getMediaInfo, 1000) this.task = setInterval(this.getMediaInfo, 1000)

View File

@ -473,10 +473,13 @@ export default {
this.mediaServerId = streamInfo.mediaServerId this.mediaServerId = streamInfo.mediaServerId
this.playFromStreamInfo(false, streamInfo) this.playFromStreamInfo(false, streamInfo)
}, },
getUrlByStreamInfo() { getUrlByStreamInfo(streamInfo) {
let streamInfo = this.streamInfo streamInfo = streamInfo || this.streamInfo
if (this.streamInfo.transcodeStream) { if (!streamInfo) {
streamInfo = this.streamInfo.transcodeStream return ''
}
if (streamInfo.transcodeStream) {
streamInfo = streamInfo.transcodeStream
} }
let videoUrl let videoUrl
if (location.protocol === 'https:') { if (location.protocol === 'https:') {