From 179496b061fe6836cb3aa725f99a7f2113f5d1d1 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Wed, 21 May 2025 18:52:31 +0000 Subject: [PATCH] Fix rtspt url media --- .../tv/[profile_id]/tabs/MediaUrls/index.jsx | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/app/src/pages/studio/tv/[profile_id]/tabs/MediaUrls/index.jsx b/packages/app/src/pages/studio/tv/[profile_id]/tabs/MediaUrls/index.jsx index 12b68a57..730dae6c 100644 --- a/packages/app/src/pages/studio/tv/[profile_id]/tabs/MediaUrls/index.jsx +++ b/packages/app/src/pages/studio/tv/[profile_id]/tabs/MediaUrls/index.jsx @@ -11,7 +11,35 @@ const MediaUrls = ({ profile }) => { const { hls, rtsp, html } = sources - const rtspt = rtsp ? rtsp.replace("rtsp://", "rtspt://") : null + let rtspt = null + + if (rtsp) { + try { + const url = new URL(rtsp) + + const pathParts = url.pathname.split("/") + const lastPart = pathParts.pop() + const [resource, query] = lastPart.split("?") + + let stoken = url.searchParams.get("stoken") + + let newLastPart = resource + + if (stoken) { + newLastPart = `${resource}:${stoken}` + } + + pathParts.push(newLastPart) + + url.protocol = "rtspt:" + url.pathname = pathParts.join("/") + url.search = "" + + rtspt = url.toString() + } catch (err) { + rtspt = rtsp.replace("rtsp://", "rtspt://") + } + } return (