[mythtv-users] pdatranscode script for watching shows on a PDA
Jeff volckaert
jvolckaert at gmail.com
Thu Oct 12 00:47:15 UTC 2006
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 105M 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 105M in size. Uncomment whichever you prefer
to use.
Here's the script:
#!/bin/sh
# pdatranscode
#
# created by Jeff Volckaert (inspired by Zach White)
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
#mythtranscode -i $VIDEODIR/$FILENAME -o
$VIDEODIR/pda/$TITLE-$STARTTIME.avi -l -p 29
mencoder -srate 32000 -vop scale=320:240 -oac mp3lame -lameopts
preset=15:mode=3 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=300 -sws 2
-o $VIDEODIR/pda/$TITLE-$STARTTIME.avi $VIDEODIR/$FILENAME
ERROR=$?
if [ $ERROR -ne 0 ]; then
echo "Transcoding failed for ${FILENAME} with error $ERROR"
exit 3
fi
More information about the mythtv-users
mailing list