From c9d6d97f804b7b05b9bd2d6c2fb6805575587a91 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Wed, 27 May 2026 13:02:29 -0700 Subject: [PATCH] feat: remux preset, configurable output profiles, GUI custom preset editor - Add 'remux' preset (-c copy) for lossless stream-copy output - DVD remux uses FLAC audio (pcm_dvd can't stream-copy into MKV) - PRESET_= config keys add user-defined presets - Settings panel: dynamic custom preset rows with add/remove; presets persist to settings overlay and appear in encode dropdown on save - GET /api/settings returns existing PRESET_* keys; POST allowlist accepts PRESET_[A-Z0-9_]+ pattern alongside existing SETTINGS_KEYS --- api-keys.conf.example | 7 ++++ package.json | 2 +- public/index.html | 81 ++++++++++++++++++++++++++++++++++++++++--- server.js | 43 +++++++++++++++++++---- 4 files changed, 121 insertions(+), 12 deletions(-) diff --git a/api-keys.conf.example b/api-keys.conf.example index 4484af9..d62a640 100644 --- a/api-keys.conf.example +++ b/api-keys.conf.example @@ -27,3 +27,10 @@ ENCODE_SSH_HOST=user@your-encode-host # FFMPEG_BIN=/usr/bin/ffmpeg # FFPROBE_BIN=/usr/bin/ffprobe # OUTPUT_BASE=/path/to/output + +# --- Custom encode presets (optional) --- +# PRESET_ adds a user-defined preset to the encode dropdown. +# Value is a space-separated list of ffmpeg codec arguments. +# Examples: +# PRESET_av1_svt=-c:v libsvtav1 -crf 30 -preset 6 -c:a copy +# PRESET_h264_hq=-c:v libx264 -crf 18 -preset slow -c:a copy diff --git a/package.json b/package.json index 5ba4809..5212857 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "discarr", - "version": "0.1.0", + "version": "0.2.0", "description": "Disc scanning and HEVC encoding queue for Sonarr/Radarr", "main": "server.js", "scripts": { diff --git a/public/index.html b/public/index.html index 0b8f3e4..2d8e797 100644 --- a/public/index.html +++ b/public/index.html @@ -266,6 +266,13 @@ input:focus-visible,select:focus-visible{outline:none} + +
Custom Encode Presets
+
+
+ + Name + ffmpeg codec args — e.g. -c:v libsvtav1 -crf 30 -c:a copy +