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"' {} \;