diff --git a/scripts/convert-videos.sh b/scripts/convert-videos.sh index 69ac6e3..0f349c4 100755 --- a/scripts/convert-videos.sh +++ b/scripts/convert-videos.sh @@ -4,12 +4,13 @@ SRC=${1:-.} DST=${2:-/var/tmp/spielfilme} declare -A FLAGS -FORMATS=( "ogg" "webm" "mp4" ) +FORMATS=${FORMATS:-( "ogg" "webm" "mp4" )} FLAGS["ogg"]="-c:v libtheora -c:a libvorbis -q:v 6 -q:a 5" FLAGS["webm"]="-vcodec libvpx -acodec libvorbis -f webm -aq 5 -ac 2 -qmax 25 -threads 2" FLAGS["mp4"]="-vcodec libx264 -acodec aac -strict experimental -crf 19" -for f in $(find "$SRC" \( \( -name '.??*' -o -name '*.jpg' \) -prune \) -o -type f -print); do +do_convert() { + f="$1" for format in "${FORMATS[@]}"; do t="${f/$SRC/$DST}" t="${t%.*}.${format}" @@ -25,4 +26,16 @@ for f in $(find "$SRC" \( \( -name '.??*' -o -name '*.jpg' \) -prune \) -o -type rm "$t"; # remove file if conversion failed fi done -done +} + +if test -d "$SRC"; then + for f in $(find "$SRC" \( \( -name '.??*' -o -name '*.jpg' \) -prune \) -o -type f -print); do + do_convert "$1" + done +else + IFS=" +" + for f in $SRC; do + do_convert "$1" + done +fi