RM to mp3 script

Paul Ward pnward at googlemail.com
Fri Apr 3 22:31:52 UTC 2009


Hello,

Ok forsome reason this script will not convert the rm stream to an mp3
if it runs in the cron.
Can someone point me in the right direction on how to fix this.

The script is as follows:

------------------------------------------------
#!/bin/bash

DATE=`date +%A`
SHOWNAME=$1
TSPLIT=$4
ALBUM=$2
DIR="/usr/local/bin/bbc_radio1"
RECORDINGPATH=${DIR}/
WEBDIR=/var/www/bbc/
DURATION=$3
DURATION=`expr $DURATION \* 60`
ATTIME=`expr $3 + 5`
BITRATE="64"
HISTORY=${WEBDIR}/history.log

_record() {
echo "--------------------------" >> $HISTORY
echo "Start REC:" `date` >> $HISTORY
echo " Recording" $SHOWNAME >> $HISTORY
echo " Length:" `expr $DURATION / 60 ` "minutes" >> $HISTORY

cd ${RECORDINGPATH}
mplayer -dumpstream "-playlist"
http://www.bbc.co.uk/radio1/realaudio/media/r1live.ram -dumpfile
${RECORDINGPATH}${SHOWNAME}.dump -vc dummy -vo null &
 MPLAYPROCESS=$!
 echo $MPLAYPROCESS > /tmp/radio1.pid
echo " PID:" $MPLAYPROCESS >> $HISTORY
Kill process when show finished.
at now + $ATTIME minutes <<EOF
 kill -9 $MPLAYPROCESS
EOF
 sleep $DURATION && echo "sleep finsihed" >> $HISTORY
kill -9 $MPLAYPROCESS && echo "PID Killed" >> $HISTORY
echo "Stop REC:" `date` >> $HISTORY
ls -lh ${RECORDINGPATH}${SHOWNAME}.dump  | awk ' { print "Showname: "
$8 " Size: "$5 } ' >> $HISTORY
}

_convert() {
# convert stream to mp3 format
echo "Converting Stream to MP3" `date` >> $HISTORY
# ffmpeg -i "$RECORDINGPATH$SHOWNAME".dump -f wav - | lame - -b
$BITRATE $WEBDIR/${DATE}_"$SHOWNAME".mp3
#mencoder "$RECORDINGPATH$SHOWNAME".dump -ovc frameno -oac mp3lame -of
rawaudio -lameopts cbr:br=40 -o $WEBDIR/${DATE}_"$SHOWNAME".mp3
ffmpeg -i "$RECORDINGPATH$SHOWNAME".dump -ab $BITRATE
$WEBDIR/${DATE}_"$SHOWNAME".mp3 > /tmp/convert.dbg && echo "Conversion
done" >> $HISTORY

ls -lh $WEBDIR | grep ${DATE}_"$SHOWNAME".mp3  | awk ' { print
"Showname: " $8 " Size: "$5 } '>> $HISTORY
echo "--------------------------" >> $HISTORY
}

_id3tag() {
mp3info -d ${WEBDIR}/${DATE}/*.mp3
mp3info -a $ALBUM -l $SHOWNAME -t $SHOWNAME ${WEBDIR}/${DATE}/*.mp3
echo "ID3tag set"
}

_splitmp3() {
echo ${TSPLIT}
mp3splt -f -t "${TSPLIT}".0 -a ${WEBDIR}${DATE}_"${SHOWNAME}".mp3 >> $HISTORY
}

_cleanup() {
#Cleanup Files
 mkdir -p $WEBDIR
 rm -v "$RECORDINGPATH$SHOWNAME".dump
}

_record

_convert

#_splitmp3
#_id3tag

#_cleanup
--------------------------------------------

I dont want to convert to a wav then mp3 as the files sizes will be
huge for the wav.

I run the script as:
xx xx * * * script.sh Show1 BBC 15 5

I understand parts of the script don't work yet but its the conversion
I am focusing on.
you can see I have tried some other variations of the conversion all
fail to work.
It only converts for a small time before stopping.

Thanks

-- 

email: pnward at googlemail.com
website: http://www.pward.co.uk
MSN: pob2000is at hotmail.com
Skype: paul.n.ward




More information about the users mailing list