Transcoding for the PDA
I created a simple script to transcode recordings for a PDA (Dell Axim X51V in my case). The files get stored in the directory "pda" under my video directory. I just copy the files I want onto a memory card and watch them using TCPMP. An hour long show comes out to 145M or so (that's alot of shows on a $40 2G card). They play wonderfully on the PDA.
I created a second user job to run after Zach's removecommercial script from the Wiki. I check only those shows I want a copy of for the PDA.
Here's the commands I used to create the user job:
mysql> use mythconverg; mysql> UPDATE settings SET data='/usr/local/bin/pdatranscode %DIR% %FILE% "%TITLE%" %STARTTIME%' WHERE value='UserJob2'; UPDATE settings SET data='PDA Transcode' WHERE value='UserJobDesc2'; mysql> UPDATE settings SET data='1' WHERE value='JobAllowUserJob2';
Then I create a script call "pdatranscode" and put it in "/usr/local/bin". I have two methods to transcode here. The first one uses mythtranscode's low quality transcoder (number 29 on my system). I have low quality set to 320x240 with a 300k bitrate. An hour long show came out to 136M. The second method uses mencoder. Mencoder produced a show 145M in size. Uncomment whichever you prefer to use.
Here's the script:
# /bin/sh # pdatranscode # # created by Jeff Volckaert (inspired by Zach White) # modified 11/10/06 VIDEODIR=$1 FILENAME=$2 TITLE=$3 # Remove non-alpha characters from TITLE TITLE=${TITLE//[^a-zA-Z0-9]/} STARTTIME=$4 # Sanity checking, to make sure everything is in order. if [ -z "$VIDEODIR" -o -z "$FILENAME" ]; then echo "Usage: $0 <VideoDirectory> <FileName> "<Title>" <Starttime>" exit 5 fi if [ ! -f $VIDEODIR/$FILENAME ]; then echo "File does not exist: $VIDEODIR/$FILENAME" exit 6 fi # Transcode the file (Uncomment the method you want to use) # Transcode using Myth's Transocde for Low Quality # mythtranscode -i $VIDEODIR/$FILENAME -o $VIDEODIR/pda/$TITLE-$STARTTIME.avi -l -p 29 # Transcode using mencoder Xvid # mencoder -vf scale=320:240 -oac mp3lame -lameopts mode=0:cbr:br=96 -af volnorm -srate 32000 -ovc xvid -xvidencopts bitrate=300 -o $VIDEODIR/pda/$TITLE-$STARTTIME.avi $VIDEODIR/$FILENAME -quiet # Transcode Using lavc's mpeg4 (this is what I use) mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=300:vhq:vpass=1 -vf scale=320:240 -oac lavc -lavcopts acodec=ac3:abitrate=128 -ffourcc DX50 -o $VIDEODIR/pda/$TITLE-$STARTTIME.avi $VIDEODIR/$FILENAME -quiet chmod 664 $VIDEODIR/pda/$TITLE-$STARTTIME.avi ERROR=$? if [ $ERROR -ne 0 ]; then echo "Transcoding failed for ${FILENAME} with error $ERROR" exit 3 fi