Refactor configuration values in global.json and global.schema.json to use boolean types for better clarity and consistency; update default values in twitch-archive.py accordingly.

This commit is contained in:
MaddoScientisto 2026-02-09 23:03:05 +01:00
commit efb320eb05
3 changed files with 292 additions and 144 deletions

View file

@ -4,25 +4,25 @@
"root_path": "archive",
"rclone_path": "remote:path/to/streams",
"refresh": 60.0,
"notifications": 0,
"downloadMETADATA": 1,
"downloadVOD": 1,
"downloadCHAT": 1,
"downloadLiveCHAT": 1,
"notifications": false,
"downloadMETADATA": true,
"downloadVOD": true,
"downloadCHAT": true,
"downloadLiveCHAT": true,
"vodTimeout": 300,
"uploadCloud": 1,
"deleteFiles": 0,
"onlyRaw": 0,
"cleanRaw": 1,
"uploadCloud": true,
"deleteFiles": false,
"onlyRaw": false,
"cleanRaw": true,
"hls_segments": 3,
"hls_segmentsVOD": 10,
"streamlink_ttvlol": 0,
"streamlink_ttvlol": false,
"ffmpeg_hwaccel": "auto",
"ffmpeg_threads": 0,
"ffmpeg_audio_codec": "aac",
"ffmpeg_audio_samplerate": 48000,
"ffmpeg_audio_bitrate": "192k",
"ffmpeg_error_recovery": 1,
"ffmpeg_faststart": 1,
"ffmpeg_progress": 0
"ffmpeg_error_recovery": true,
"ffmpeg_faststart": true,
"ffmpeg_progress": false
}

View file

@ -28,34 +28,29 @@
"description": "Time between status checks in seconds (60.0 recommended for multiple streamers)"
},
"notifications": {
"type": "integer",
"enum": [0, 1],
"default": 0,
"description": "Email notifications: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": false,
"description": "Email notifications: false = disabled, true = enabled"
},
"downloadMETADATA": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Download stream metadata: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": true,
"description": "Download stream metadata: false = disabled, true = enabled"
},
"downloadVOD": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Download VODs after stream ends: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": true,
"description": "Download VODs after stream ends: false = disabled, true = enabled"
},
"downloadCHAT": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Download and render chat from VOD: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": true,
"description": "Download and render chat from VOD: false = disabled, true = enabled"
},
"downloadLiveCHAT": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Download chat during live stream: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": true,
"description": "Download chat during live stream: false = disabled, true = enabled"
},
"vodTimeout": {
"type": "integer",
@ -64,28 +59,24 @@
"description": "Seconds to wait for VOD to appear after stream ends"
},
"uploadCloud": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Upload to rclone remote: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": true,
"description": "Upload to rclone remote: false = disabled, true = enabled"
},
"deleteFiles": {
"type": "integer",
"enum": [0, 1],
"default": 0,
"description": "Delete local files after upload: 0 = disabled, 1 = enabled (BE CAREFUL)"
"type": "boolean",
"default": false,
"description": "Delete local files after upload: false = disabled, true = enabled (BE CAREFUL)"
},
"onlyRaw": {
"type": "integer",
"enum": [0, 1],
"default": 0,
"description": "Keep only raw .ts files: 0 = convert to mp3/mp4, 1 = keep raw only"
"type": "boolean",
"default": false,
"description": "Keep only raw .ts files: false = convert to mp3/mp4, true = keep raw only"
},
"cleanRaw": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Delete raw .ts files after processing: 0 = keep, 1 = delete"
"type": "boolean",
"default": true,
"description": "Delete raw .ts files after processing: false = keep, true = delete"
},
"hls_segments": {
"type": "integer",
@ -102,9 +93,8 @@
"description": "Number of parallel download threads for VODs (1-10)"
},
"streamlink_ttvlol": {
"type": "integer",
"enum": [0, 1],
"default": 0,
"type": "boolean",
"default": false,
"description": "DEPRECATED: Ad-blocking with ttvlol (--twitch-proxy-playlist removed in newer streamlink)"
},
"ffmpeg_hwaccel": {
@ -138,22 +128,19 @@
"description": "Audio bitrate (e.g., 128k, 192k, 256k, 320k)"
},
"ffmpeg_error_recovery": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Enable error recovery for corrupted/incomplete streams: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": true,
"description": "Enable error recovery for corrupted/incomplete streams: false = disabled, true = enabled"
},
"ffmpeg_faststart": {
"type": "integer",
"enum": [0, 1],
"default": 1,
"description": "Enable MP4 faststart flag for better streaming/playback: 0 = disabled, 1 = enabled"
"type": "boolean",
"default": true,
"description": "Enable MP4 faststart flag for better streaming/playback: false = disabled, true = enabled"
},
"ffmpeg_progress": {
"type": "integer",
"enum": [0, 1],
"default": 0,
"description": "Show FFmpeg encoding progress: 0 = silent, 1 = verbose output"
"type": "boolean",
"default": false,
"description": "Show FFmpeg encoding progress: false = silent, true = verbose output"
}
}
}