summaryrefslogtreecommitdiffstats
path: root/abs/core/LinHES-system/ripD_eject.sh
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2013-09-16 22:08:01 (GMT)
committerBritney Fransen <brfransen@gmail.com>2013-09-16 22:08:01 (GMT)
commit2c5a67ec9f7176f022449415a48f48d89cf0afad (patch)
tree5df6f12de751b985abc7e8a0661fa7821dbe3696 /abs/core/LinHES-system/ripD_eject.sh
parent13db4e5f492412b8127322169ffc8e75c3ea4ef4 (diff)
downloadlinhes_pkgbuild-2c5a67ec9f7176f022449415a48f48d89cf0afad.zip
linhes_pkgbuild-2c5a67ec9f7176f022449415a48f48d89cf0afad.tar.gz
linhes_pkgbuild-2c5a67ec9f7176f022449415a48f48d89cf0afad.tar.bz2
LinHES-system: move get_airplay_key, importfile.sh, myth2mkv, myth2mp3, and ripD_eject.sh from linhes-scripts
Diffstat (limited to 'abs/core/LinHES-system/ripD_eject.sh')
-rwxr-xr-xabs/core/LinHES-system/ripD_eject.sh125
1 files changed, 125 insertions, 0 deletions
diff --git a/abs/core/LinHES-system/ripD_eject.sh b/abs/core/LinHES-system/ripD_eject.sh
new file mode 100755
index 0000000..99947a8
--- /dev/null
+++ b/abs/core/LinHES-system/ripD_eject.sh
@@ -0,0 +1,125 @@
+#!/bin/bash
+# /usr/LH/bin/ripD_eject.sh
+# A DVD rip and eject script.
+########################################################################
+DEV='/dev/sr0' # DVD device
+MPNT='media/cdrom' # Mount Point
+Ddir='/myth/video' # DVD output dir List
+Bsnd='/usr/share/sounds/init.wav' # Begin sound file
+Esnd='/usr/share/sounds/complete.wav' # End sound file
+DATE=$(date +%Y%m%d_%H%M) # current date/time
+LOG='/var/log/mythtv/ripD.log' # name of Log file.
+TRACK=$(lsdvd | grep -i longest | awk '{print $3}') #Finds longest track
+FILE=$TITLE
+#-----------------------------------------------------------------------
+FONT="-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*"
+OPTS="-f $FONT -s 2 -p bottom -A left -i 50 -l 4"
+#-----------------------------------------------------------------------
+[ -r /etc/rip.cfg ] && . /etc/rip.cfg
+#-----------------------------------------------------------------------
+LOCK=/tmp/.ripLock.$$
+[ "$DISPLAY" == "" ] && export DISPLAY=:0
+########################################################################
+function osd { # $1=text, $2=color, $3=delay
+ cmd="osd_cat $OPTS"
+ [ -n "$2" ] && cmd="$cmd --color=$2"
+ [ -n "$3" ] && cmd="$cmd -d $3"
+ killall osd_cat
+ echo -e "$1" | $cmd
+} >& /dev/null
+function osd_loop() {
+ FN=$1 ; shift
+# TXT="$MAX to $dir"
+ TXT="$MAX to $dir/$FILE"
+ N=0
+ while [ -f "$LOCK" ]; do
+ #osd "\nbacking up DVD: '$@'\n$TXT" gray 60
+ osd "\nbacking up DVD: '$TITLE'\n$TXT" gray 60
+ N=$(($N+1))
+ [ -d "$FN" ] && SIZE=$(du -sh $FN | awk '{print $1}')
+# TXT="$SIZE of $MAX @ $N min. elapsed"
+ TXT="$N min. elapsed"
+ done
+}
+########################################################################
+LinHES-osd "\nDetecting DVD" gray20 5 &
+echo "`date` detected DVD" >> $LOG
+rm -f /tmp/.ripLock.*
+#=======================================================================
+for dir in $Ddir ; do
+ if [ -d $dir -a -w $dir ]; then
+ break
+ fi
+done
+#-----------------------------------------------------------------------
+if [ ! -d "$dir" ]; then
+ echo "no $dir" >> $LOG
+ osd "\ndirectory: $dir\nnot found!" red 10 &
+ eject ; eject
+ exit 0
+fi
+if [ ! -w "$dir" ]; then
+ echo "$dir not writable" >> $LOG
+ osd "\ndirectory: $Cdir\nnot writable!" red 10 &
+ eject ; eject
+ exit 0
+fi
+#-----------------------------------------------------------------------
+mount $DEV >& /dev/null
+dev=$(readlink $DEV)
+df=$(df -h /dev/$dev | grep /dev/$dev)
+MAX=$(echo $df | while read d v r ; do echo $v ; done)
+echo " backup $MAX to $dir" >> $LOG
+#=======================================================================
+# first make sure DMA is on:
+sudo hdparm -d1 -u1 $DEV >& /dev/null
+# attempt to get the DVD information:
+TITLE=$(dvdbackup -i /dev/sr0 -I | grep information | awk '{ s = ""; for (i = 8; i <= NF; i++) s = s $i " "; print s }' | tr -d '"' | sed 's/ /_/g' | sed 's/_$//g')
+if [ "$TITLE" == "DVD_VIDEO" -o "$TITLE" == "" \
+ -o "$TITLE" == " " -o "$TITLE" == "[ ].*" ]; then
+ # if not a good title,
+ TITLE="dvdbackup_$DATE"
+fi
+echo " $TITLE" >> $LOG
+if [ $1 = m ]
+then
+ COMMAND="dvdbackup -M -i $DEV -o $dir -n $TITLE"
+ elif [ $1 = h ]
+ then
+# COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=320:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 720 -o $dir/$TITLE.avi"
+ COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "High\ Profile" --main-feature"
+ FILE=$TITLE.mp4
+ elif [ $1 = n ]
+ then
+# COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=160:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 512 -o $dir/$TITLE.avi"
+ COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Normal" --main-feature"
+ FILE=$TITLE.mp4
+ elif [ $1 = l ]
+ then
+# COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=96:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 320 -o $dir/$TITLE.avi"
+ COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Classic" --main-feature"
+ FILE=$TITLE.mp4
+ elif [ $1 = i ]
+ then
+ COMMAND="dd if=$DEV of=$dir/$TITLE.iso bs=2048"
+ FILE=$TITLE.iso
+fi
+{ # for the redir below:
+ # Begin:
+ touch $LOCK
+ osd_loop "$dir/$TITLE" "$TITLE" &
+ dvdbackup -i $DEV -I
+ sleep 1 ; aplay $Bsnd
+ $COMMAND
+ # Finish:
+ rm -f $LOCK
+ osd "\nfinish DVD: '$TITLE'\ninto $dir/$FILE" gray20 5 &
+ sleep 1 ; aplay $Esnd
+ # Eject the media:
+ sudo eject ; sudo eject
+} > $dir/.$TITLE.log 2>&1
+echo " `du -sh $dir/$FILE`" >> $LOG
+echo " `date` finished DVD" >> $LOG
+exit 0
+########################################################################
+# End