From a2b88e614b49fb413238e47771d75f633ac15485 Mon Sep 17 00:00:00 2001 From: Simon Rieger Date: Sun, 5 Jan 2025 22:09:05 +0100 Subject: [PATCH] add update opus metadata script for album completion --- update_opus_metadata.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 update_opus_metadata.sh diff --git a/update_opus_metadata.sh b/update_opus_metadata.sh new file mode 100755 index 0000000..48332cb --- /dev/null +++ b/update_opus_metadata.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -ex + +# Funktion, um Opus-Dateien zu verarbeiten +process_opus_files() { + for file in "$1"/*.opus; do + if [[ -f "$file" ]]; then + # Verwende ffmpeg, um die COMPILATION-Metadaten auf 0 zu setzen (-c copy -metadata COMPILATION=0 würde auch gehen) + ffmpeg -hide_banner -i "$file" -metadata:s:a:0 "COMPILATION=0" -acodec copy -map 0:a "${file%.opus}_new.opus" + + # Ersetze die Originaldatei durch die neue + mv "${file%.opus}_new.opus" "$file" + + echo "Erfolgreich aktualisiert: $file" + fi + done +} + +# Exportiere die Funktion für die Verwendung mit find +export -f process_opus_files + +# Verwende find, um die Funktion auf alle Opus-Dateien in allen Unterverzeichnissen auszuführen +find . -type d -exec bash -c 'process_opus_files "$0"' {} \;