From 5b4dd2c5a517318a545943c5fa4df062d839d466 Mon Sep 17 00:00:00 2001 From: srgooglo Date: Sat, 15 Oct 2022 18:18:55 +0200 Subject: [PATCH] improve streaming addresses --- .../controllers/StreamingController/index.js | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/server/src/controllers/StreamingController/index.js b/packages/server/src/controllers/StreamingController/index.js index 1fff3224..0837ef8f 100755 --- a/packages/server/src/controllers/StreamingController/index.js +++ b/packages/server/src/controllers/StreamingController/index.js @@ -4,8 +4,10 @@ import { nanoid } from "nanoid" import lodash from "lodash" import axios from "axios" -const streamingServerAPIAddress = process.env.streamingServerAPIAddress ?? "live.ragestudio.net" -const streamingServerAPIProtocol = process.env.streamingServerAPIProtocol ?? "http" +const streamingIngestServer = process.env.STREAMING_INGEST_SERVER +const streamingServerAPIAddress = process.env.STREAMING_API_SERVER +const streamingServerAPIProtocol = streamingServerAPIAddress.startsWith("https") ? "https" : "http" + const streamingServerAPIUri = `${streamingServerAPIProtocol}://${streamingServerAPIAddress}` const FILTER_KEYS = ["stream"] @@ -115,6 +117,25 @@ export default class StreamingController extends Controller { return res.json(data) }, + "/streaming/addresses": { + middlewares: ["withOptionalAuthentication"], + fn: async (req, res) => { + const addresses = { + api: streamingServerAPIAddress, + ingest: streamingIngestServer, + } + + if (req.user) { + addresses.liveURL = `${addresses.api}/live/${req.user.username}` + addresses.ingestURL = `${addresses.ingest}/${req.user.username}` + + addresses.hlsURL = `${addresses.liveURL}/src.m3u8` + addresses.flvURL = `${addresses.liveURL}/src.flv` + } + + return res.json(addresses) + } + }, "/streaming/:username": async (req, res) => { const { username } = req.params