Add audio normalization option and support

Introduce an "audio_normalization" option across the app and implement normalization for audio-only downloads. Updates include: add config default (ConfigManager), new language strings, settings UI checkbox + help text and logic to auto-enable force-audio-format when normalization is enabled, and persist the setting. Pass the setting from main app to DownloadThread, and in the downloader force re-encoding to mp3 when necessary and append --postprocessor-args ExtractAudio:-af loudnorm=... to apply EBU R128 normalization. This ensures normalization works reliably (avoids ffmpeg stream-copy errors) and keeps the behavior scoped to ExtractAudio postprocessor.
This commit is contained in:
oop7
2026-03-21 15:08:48 +02:00
parent fff674a0b8
commit b048f8ce09
5 changed files with 67 additions and 2 deletions
+2
View File
@@ -327,6 +327,8 @@
"format_mkv": "MKV (Feature-rich)",
"audio_format_settings": "Audio Format Settings",
"force_audio_format": "Force audio format for audio-only downloads",
"audio_normalization": "Audio Normalization (EBU R128)",
"audio_normalization_help": "When enabled, audio tracks will be normalized. Note: This requires re-encoding, so a specific audio format (like MP3 or M4A) must be forced.",
"filename_format": "Output Filename Format",
"filename_format_help": "Available variables: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standard yt-dlp output template syntax is supported.",
"preferred_audio_format": "Preferred audio format:",