shell-scripte-code/update_opus_metadata.sh

24 lines
826 B
Bash
Executable file

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