#!/bin/bash # usage: $0 [path for resulting file] [files to recode]... # FFMPEG="ffmpeg" if [ ! -f "$2" ]; then echo No valid input file given exit 1 fi if [ ! -d "$1" ]; then echo No valid destination path given exit 1 fi OUTPUT_DIR=$1 while [[ $# > 1 ]]; do FILE=$2 TYPE="mp3" OUTFILE="$OUTPUT_DIR/$(basename "${FILE%.*}").$TYPE" echo Recoding $FILE to $OUTFILE case $TYPE in "mp3") $FFMPEG -i "$FILE" -map_meta_data "$OUTFILE:$FILE" -y -ab 64000 "$OUTFILE" ;; "ogg") #metadata mapping doesnt work for ogg output for some strange reasons $FFMPEG -i "$FILE" -map_meta_data "$OUTFILE:$FILE" -y -acodec libvorbis -ab 32000 "$OUTFILE" ;; esac shift done