# Known Issues/Limitations:
# - Mirror mode is always done in ISO mode
#
-# Package Dependencies (apt-get install these for example):
-# lsdvd dvdauthor gddrescue dvdbackup tovid mencoder mplayer genisoimage libdvdcss2
-#
-# Specific Executable (program) Dependencies (must be found in $PATH):
-# volname makexml lsdvd dvdauthor gddrescue dvdbackup mencoder mplayer mkisofs HandBrakeCLI
-#
-# Optional Dependencies:
-# lookup imdb info/posters for mythvideo: http://www.mythtv.org/wiki/Fill_mythvideo_metadata.pl
-#
+# See the README file for information about the dependencies
+# this script has.
##############################################################################################
# Global Variables
[[ ! -x `which makexml` ]] && echo "-E- missing dependency: makexml" && exit
[[ ! -x `which dvdauthor` ]] && echo "-E- missing dependency: dvdauthor" && exit
[[ ! -x `which mkisofs` ]] && echo "-E- missing dependency: mkisofs" && exit
+ [[ -n "$handbrake_xvid" ]] && [[ ! -x `which $handbrake_xvid` ]] && echo "-E- missing handbrake xvid encoder, set in rip_dvd.conf to: $handbrake_xvid" && exit
+ [[ -n "$handbrake_mp4" ]] && [[ ! -x `which $handbrake_mp4` ]] && echo "-E- missing handbrake mp4 encoder, set in rip_dvd.conf to: $handbrake_mp4" && exit
[[ "$encoder" == "handbrake" ]] && [[ "$profile" =~ "xvid" ]] && [[ ! -x `which $handbrake_xvid` ]] && echo "-E- missing encoder: $handbrake_xvid" && exit
[[ "$encoder" == "handbrake" ]] && [[ "$profile" =~ "mp4" ]] && [[ ! -x `which $handbrake_mp4` ]] && echo "-E- missing encoder: $handbrake_mp4" && exit
[[ "$encoder" == "handbrake" ]] && [[ "$profile" =~ "ip" ]] && [[ ! -x `which $handbrake_mp4` ]] && echo "-E- missing encoder: $handbrake_mp4" && exit
handbrake_cmd_line_opts="$handbrake_cmd_line_opts $SIZE"
# Execute the handbrake command to encode the video
+ # I have to copy-n-paste the code below to handle the 2 conditions, 1) hb_profile (mp4) 2) no hb_profile (xvid)
+ # The problem is the -Z "$hb_profile" option. I have to quote the "$hb_profile" due to spaces in it, forcing me to call it out explicity.
if [ -n "$hb_profile" ]; then
echo -e "\n Encoding: $handbrake_cli -i \"$vobfile\" -o \"$final_output_file\" -Z \"$hb_profile\" $handbrake_cmd_line_opts $handbrake_audio_opts $handbrake_video_encoder_opts >> $encodelog 2>&1" >> "$logfile"
$handbrake_cli -i "$vobfile" -o "$final_output_file" -Z "$hb_profile" $handbrake_cmd_line_opts $handbrake_audio_opts $handbrake_video_encoder_opts >> $encodelog 2>&1
# NOTE: You can override ANY of the global variables listed in the top of rip_dvd here
###########################################################################################
-# specify the path to the rip_dvd script
-ripcmd="/myth/video/bin/rip_dvd"
+# specify the path to the rip_dvd script (no need to do this if rip_dvd is in
+# the same directory as the rip_dvd.wrap script (which is likely).
+# ripcmd="/myth/video/bin/rip_dvd"
# Specify the device path to the DVD drive
dev=/dev/dvd
# note: the xvid codec seems to be fastest with threads set to 2.
mencoder_threads=2
- # handbrake parameters
- # handbrake version 0.9.3 was the last one to support xvid encoding
- # handbrake version 0.9.4 is all about mp4 encoding
- # handbrake executable name (must be found within your PATH)
+ # HandBrakeCLI Executable Name:
+ # HandBrake version <=0.9.3 was the last one to support xvid encoding.
+ # HandBrake version >=0.9.4 is all about mp4 encoding.
+ # The HandBrakeCLI executable names below must be found in your PATH.
+ # Set the handbrake_* variables below to "" for any you don't want to use.
+ # The rip_dvd script will complain if they are not "" and it can't find them.
handbrake_xvid="HandBrakeCLI-0.9.3"
handbrake_mp4="HandBrakeCLI-0.9.4"
#!/bin/bash
+ # The purpose of this script is to encapsulate the calls
+ # made to the rip_dvd script. This is done to help distribute
+ # the resulting ripped files to the proper folders. This
+ # script is called from the mythtv menus for example with a
+ # smaller set of options.
##############################################
# COMMAND LINE PROCESSING
usage
fi
+mydir=$(cd $(dirname $0) && pwd)
+if [ -z "$ripcmd" ]
+then
+ if [ -x "$mydir/rip_dvd" ]
+ then
+ ripcmd="$mydir/rip_dvd"
+ else
+ echo >&2 "Cannot find your rip_dvd command!"
+ exit 1
+ fi
+fi
+
##############################################################################
# Local Machine Settings:
# Sources both the "default" conf file tracked by GIT (rip_dvd.conf.dist)