Use wavstreamer

This commit is contained in:
Ron Pedde 2005-02-27 04:07:27 +00:00
parent f43da69cf7
commit 880372a523
1 changed files with 34 additions and 13 deletions

View File

@ -1,24 +1,28 @@
#!/opt/bin/bash
#!/bin/sh
#
# script to facilitate server-side transcoding of ogg files
# Ron Pedde (ron@pedde.com)
#
# Usage: mt-daapd-ssc.sh <filename> <offset>
#
# This is not as flexible as Timo's transcoding script, but it works
# without perl, making it more suitable for the NSLU2.
# Usage: mt-daapd-ssc.sh <filename> <offset> <length in seconds>
#
# You may need to fix these paths:
#
WAVSTREAMER=wavstreamer
OGGDEC=oggdec
FLAC=flac
ogg_file() {
if [ $OFFSET -eq 0 ]; then
oggdec --quiet -o - "$1"
else
oggdec --quiet -o - "$1" | dd bs=$OFFSET skip=1 2>/dev/null
fi
$OGGDEC --quiet -o - "$1" | $WAVSTREAMER -o $2 -l $3
}
flac_file() {
$FLAC --silent --decode --stdout "$1" | $WAVSTREAMER -o $2 -l $3
}
OFFSET=0
FORGELEN=0
if [ "$2" == "" ]; then
OFFSET=0
@ -26,9 +30,26 @@ else
OFFSET=$2
fi
if [ $OFFSET -lt 1024 ]; then
OFFSET=0
if [ "$3" == "" ]; then
FORGELEN=0
else
FORGELEN=$3
fi
ogg_file $1 $OFFSET
if ( echo $1 | grep -i "\.ogg$" > /dev/null 2>&1 ); then
ogg_file $1 $OFFSET $FORGELEN
exit;
fi
if ( echo $1 | grep -i "\.flac$" > /dev/null 2>&1 ); then
flac_file $1 $OFFSET $FORGELEN
exit;
fi
#
# here you could cat a generic "error" wav...
#
#
# cat /path/to/error.wav
#