From 8d833c5ef4c142ac9335701c7a0848a1acd3e0f3 Mon Sep 17 00:00:00 2001 From: Killer_Awesome_Phantom Date: Sun, 18 Aug 2024 08:11:20 +0800 Subject: [PATCH] Added field for additional args for streamlink --- common/ServerConfig.ts | 6 +++++- .../Core/Providers/Twitch/TwitchAutomator.ts | 9 +++++++++ server/src/Core/Providers/Twitch/TwitchVOD.ts | 20 +++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/common/ServerConfig.ts b/common/ServerConfig.ts index 9b0f361b..65b7ad5a 100644 --- a/common/ServerConfig.ts +++ b/common/ServerConfig.ts @@ -372,7 +372,11 @@ export const settingsFields = createSettingsFields({ default: false, help: "Capture to saved_vods if any of the capture methods fail", }, - + "capture.streamlink-args": { + group: "Capture", + text: "Additional Streamlink Args", + type: "string", + }, "capture.twitch-api-header": { group: "Capture", text: "Twitch API header", diff --git a/server/src/Core/Providers/Twitch/TwitchAutomator.ts b/server/src/Core/Providers/Twitch/TwitchAutomator.ts index 8167af33..dff5b507 100644 --- a/server/src/Core/Providers/Twitch/TwitchAutomator.ts +++ b/server/src/Core/Providers/Twitch/TwitchAutomator.ts @@ -683,6 +683,15 @@ export class TwitchAutomator extends BaseAutomator { // disable reruns cmd.push("--twitch-disable-reruns"); + // Add additional args + if (Config.getInstance().hasValue("capture.streamlink-args")) { + cmd.push( + ...Config.getInstance() + .cfg("capture.streamlink-args") + .split(" ") + ); + } + // one custom api header if (Config.getInstance().hasValue("capture.twitch-api-header")) { cmd.push( diff --git a/server/src/Core/Providers/Twitch/TwitchVOD.ts b/server/src/Core/Providers/Twitch/TwitchVOD.ts index 327f9499..c90e0eda 100644 --- a/server/src/Core/Providers/Twitch/TwitchVOD.ts +++ b/server/src/Core/Providers/Twitch/TwitchVOD.ts @@ -460,6 +460,16 @@ export class TwitchVOD extends BaseVOD { cmd.push("--loglevel", "info"); } + // Add additional args + if (Config.getInstance().hasValue("capture.streamlink-args")) { + cmd.push( + ...Config.getInstance() + .cfg("capture.streamlink-args") + .split(" ") + ); + } + + log( LOGLEVEL.INFO, "tw.vod.downloadVideo", @@ -723,6 +733,16 @@ export class TwitchVOD extends BaseVOD { cmd.push("--loglevel", "info"); } + // Add additional args + if (Config.getInstance().hasValue("capture.streamlink-args")) { + cmd.push( + ...Config.getInstance() + .cfg("capture.streamlink-args") + .split(" ") + ); + } + + log( LOGLEVEL.INFO, "vod.downloadClip",