media-tools/to_opus.sh
Leaced 363553a5a4
Add files via upload
better shopt management and * as default setting for file-extensions
2023-03-24 15:14:15 +01:00

28 lines
641 B
Bash

#!/bin/bash
# set shopt-options used by this shell-script
# Note, 0 (true) from shopt -q is "false" in a math context.
shopt -q globstar; globstar_set=$?
((globstar_set)) && shopt -s globstar
shopt -q extglob; extglob_set=$?
((extglob_set)) && shopt -s extglob
# return default shopt-options
function finish {
((globstar_set)) && shopt -u globstar
((extglob_set)) && shopt -u extglob
}
trap finish EXIT
# setting default extension to all
if [ $# -eq 0 ]; then
extension="*"
else
extension=$@
fi
for file in **/*.@(${extension// /|}); do
ffmpeg -threads 4 -i $file -c:a libopus -b:a 128k "${file%.*}.opus" && rm "$file"
done
exit 0