Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- usage() {
- cat <<-USAGE 1>&2
- usage: ${0##*/} [DIR ...]
- optional arguments:
- DIR directories to search. Use current directory if not given.
- USAGE
- exit 1
- }
- error() {
- printf '%s: error: %s, aborting.\n' "${0##*/}" "$1" 1>&2
- exit $2
- }
- transcode_dir() {
- indir=$(readlink -f -- "$1")
- outdir="$HOME/${indir##*/}"
- ! mkdir -pv -- "$outdir" && error "cannot create directory \"$outdir\"" 3
- cd -- "$indir"
- for a in *.$fmt; do
- $vlc -I dummy -vvv "$a" --sout "#transcode{acodec=$acodec,ab=$arate,channels=2}:duplicate{dst=std{access=file,mux=ogg,dst=\"$outdir/${a%.*}.$ext\"}}" vlc://quit
- done
- cd - 2> /dev/null
- }
- while getopts "h" option; do
- case $option in
- h|\? ) usage;;
- esac
- done
- shift $((OPTIND-1))
- acodec="vorb"
- arate="256"
- ext="ogg"
- vlc="/usr/bin/vlc"
- fmt="mp3"
- if [ $# -eq 0 ]; then
- transcode_dir .
- else
- while [ $# -ge 1 ]; do
- [ ! -d "$1" ] && error "not a directory: \"$1\"" 2
- transcode_dir "$1"
- shift
- done
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement