From fac2195ace0f15b7f200305c9119dd4c53b985bd Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Mon, 25 May 2026 22:05:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E6=92=AD=E6=94=BE=E5=99=A8?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=B8=BA=E5=90=84?= =?UTF-8?q?=E5=A4=84=E6=92=AD=E6=94=BE=E5=99=A8=E5=A2=9E=E5=8A=A0=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E5=99=A8=E5=88=87=E6=8D=A2=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/RegisterResponseProcessor.java | 1 - .../service/impl/RtpServerServiceImpl.java | 15 +++- web/src/permission.js | 2 +- web/src/router/index.js | 11 +-- web/src/views/alarm/index.vue | 6 +- web/src/views/channel/record.vue | 6 +- .../views/cloudRecord/cloudRecordPlayer.vue | 76 +++++++++++++------ web/src/views/common/channelPlayer/index.vue | 17 ++--- .../common/channelPlayer/jtDevicePlayer.vue | 22 ++++-- web/src/views/common/h265web.vue | 25 ++---- web/src/views/common/jessibuca.vue | 35 ++------- web/src/views/common/rtcPlayer.vue | 27 +++---- web/src/views/common/share.vue | 54 +++++++++++++ web/src/views/device/channel/record.vue | 2 - web/src/views/dialog/devicePlayer.vue | 9 ++- web/src/views/jtDevice/channel/record.vue | 74 ++++++++++++++++-- .../views/jtDevice/dialog/jtDevicePlayer.vue | 58 ++++---------- web/src/views/live/index.vue | 12 ++- web/src/views/streamPush/index.vue | 9 ++- 19 files changed, 280 insertions(+), 181 deletions(-) create mode 100644 web/src/views/common/share.vue diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java index 1f73370b1..5b901ad2c 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java @@ -95,5 +95,4 @@ public class RegisterResponseProcessor extends SIPResponseProcessorAbstract { } } } - } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/RtpServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/RtpServerServiceImpl.java index 91b2878e2..7a5030b6f 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/RtpServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/RtpServerServiceImpl.java @@ -139,7 +139,7 @@ public class RtpServerServiceImpl implements IReceiveRtpServerService { ssrc = ssrcFactory.getPlaySsrc(mediaServer); } - String streamId = String.format("%08x", Long.parseLong(ssrc)).toLowerCase(); + String streamId = String.format("%08x", Long.parseLong(ssrc)).toUpperCase(); String streamReplace = String.format("%s_%s", device.getDeviceId(), channel.getDeviceId()); int tcpMode = device.getStreamMode().equals("TCP-ACTIVE")? 2: (device.getStreamMode().equals("TCP-PASSIVE")? 1:0); @@ -309,7 +309,7 @@ public class RtpServerServiceImpl implements IReceiveRtpServerService { // 收流超时 // 关闭收流端口 String closeStreamId = rtpServerParam.getMediaServer().isRtpEnable() - ? String.format("%08x", rtpServerParam.getSsrc()) : rtpServerParam.getStreamId(); + ? String.format("%08x", rtpServerParam.getSsrc()).toUpperCase() : rtpServerParam.getStreamId(); mediaServerService.closeRTPServer(rtpServerParam.getMediaServer(), rtpServerParam.getApp(), closeStreamId); subscribe.removeSubscribe(rtpHook); callback.run(InviteErrorCode.ERROR_FOR_STREAM_TIMEOUT.getCode(), InviteErrorCode.ERROR_FOR_STREAM_TIMEOUT.getMsg(), null); @@ -324,8 +324,15 @@ public class RtpServerServiceImpl implements IReceiveRtpServerService { int rtpServerPort; if (rtpServerParam.getMediaServer().isRtpEnable()) { - String zlmStreamId = String.format("%08x", rtpServerParam.getSsrc()); - Long checkSsrc = rtpServerParam.isSsrcCheck() ? rtpServerParam.getSsrc() : 0L; + String zlmStreamId; + long checkSsrc; + if (rtpServerParam.getSsrc() != null) { + zlmStreamId = String.format("%08x", rtpServerParam.getSsrc()).toUpperCase(); + checkSsrc = rtpServerParam.isSsrcCheck() ? rtpServerParam.getSsrc() : 0L; + }else { + zlmStreamId = rtpServerParam.getStreamId(); + checkSsrc = 0L; + } rtpServerPort = mediaServerService.createRTPServer(rtpServerParam.getMediaServer(), rtpServerParam.getApp(), zlmStreamId, checkSsrc, rtpServerParam.getPort(), rtpServerParam.isOnlyAuto(), rtpServerParam.isDisableAudio(), rtpServerParam.isReUsePort(), rtpServerParam.getTcpMode()); } else { diff --git a/web/src/permission.js b/web/src/permission.js index 0117d8678..9a824083c 100644 --- a/web/src/permission.js +++ b/web/src/permission.js @@ -7,7 +7,7 @@ import getPageTitle from '@/utils/get-page-title' NProgress.configure({ showSpinner: false }) // NProgress Configuration -const whiteList = ['/login'] // no redirect whitelist +const whiteList = ['/login', '/play/share'] // no redirect whitelist router.beforeEach(async(to, from, next) => { // start progress bar diff --git a/web/src/router/index.js b/web/src/router/index.js index d89643fec..f38b57683 100644 --- a/web/src/router/index.js +++ b/web/src/router/index.js @@ -288,15 +288,10 @@ export const constantRoutes = [ ] }, { - path: '/play/wasm/:url', - name: 'wasmPlayer', + path: '/play/share', + name: 'sharePlayer', hidden: true, - component: () => import('@/views/common/jessibuca.vue') - }, - { - path: '/play/rtc/:url', - name: 'rtcPlayer', - component: () => import('@/views/common/rtcPlayer.vue') + component: () => import('@/views/common/share.vue') }, // 404 page must be placed at the end !!! { path: '*', redirect: '/404', hidden: true } diff --git a/web/src/views/alarm/index.vue b/web/src/views/alarm/index.vue index 141b82144..41284ac07 100644 --- a/web/src/views/alarm/index.vue +++ b/web/src/views/alarm/index.vue @@ -164,7 +164,6 @@