typeset profile="xvidvhq"
typeset extension=""
typeset mailto=""
+typeset default_alang="en"
+typeset -i default_aid=128
+typeset -i aid_override=-1
typeset -i force_onepass_mode=0
typeset -i eject_disk=1
typeset -i keep_isofile=0
##############################################################################################
# Command line processing
##############################################################################################
-while (($#)) && getopts 12mvifkxht:n:d:b:s:t:a:p:e:j: opt "$@"
+while (($#)) && getopts 12mvifkxht:n:d:b:s:t:a:p:e:j:l: opt "$@"
do
case $opt in
(n) dvdname=$OPTARG;;
(p) profile=$OPTARG;;
(e) extension=$OPTARG;;
(j) eject_disk=$OPTARG;;
+ (l) aid_override=$OPTARG;;
(w) set -$opt;;
(h) show_usage=1;;
(:) echo >&2 "$0: $OPTARG requires a value"; errors=errors+1;;
echo >&2 " -k Keep the intermediate files (good for debugging)"
echo >&2 " In -x mode, run with this option to keep the original .VOB file"
echo >&2 " By default, all intermediary files are deleted. Only the final image is kept"
+ echo >&2 " -l <aid> Specify the audio AID language ID to rip from the source DVD"
echo >&2 " -t <title> Specify the main feature title to pull from the DVD (only required if this script can't figure it out)"
echo >&2 " -w Set the sh Execute/Verbose flag (causes every command to be echoed)"
echo >&2 ""
# This should be 128. However, if 128 is not there, pick the next one that incrementally is.
iso="$1"
aidcheck=`tempfile`
- aid=128
- mplayer -v -endpos 0 -dvd-device "$iso" dvd://$feature_title > $aidcheck 2>&1
- grep -q "aid: $aid" $aidcheck
- while [ $? == 1 ] && [ $aid -lt 159 ]; do
- (( aid = aid + 1 ))
+ aid=$default_aid
+ alang=$default_alang
+ if [ $aid_override -lt 0 ]; then
+ mplayer -v -endpos 0 -dvd-device "$iso" dvd://$feature_title > $aidcheck 2>&1
grep -q "aid: $aid" $aidcheck
- done
- [[ -e "$aidcheck" ]] && rm -f "$aidcheck"
+ while [ $? == 1 ] && [ $aid -lt 159 ]; do
+ (( aid = aid + 1 ))
+ grep -q "aid: $aid" $aidcheck
+ done
+ [[ -e "$aidcheck" ]] && rm -f "$aidcheck"
+ else
+ aid=$aid_override
+ fi
echo "-> Setting the audio stream ID to $aid" | tee -a "$logfile"
# mencoder default DVD audio track language selection (english)
- lang_opts="-aid $aid -alang en"
+ lang_opts="-aid $aid -alang $alang"
}
function get_crop_from_iso {
# This should be 128. However, if 128 is not there, pick the next one that incrementally is.
vob="$1"
aidcheck=`tempfile`
- aid=128
- mplayer -v -endpos 0 "$vob" > $aidcheck 2>&1
- grep -q "Found audio stream: $aid" $aidcheck
- while [ $? == 1 ] && [ $aid -lt 159 ]; do
- (( aid = aid + 1 ))
+ aid=$default_aid
+ alang=$default_alang
+ if [ $aid_override -lt 0 ]; then
+ mplayer -v -endpos 0 "$vob" > $aidcheck 2>&1
grep -q "Found audio stream: $aid" $aidcheck
- done
- [[ -e "$aidcheck" ]] && rm -f "$aidcheck"
+ while [ $? == 1 ] && [ $aid -lt 159 ]; do
+ (( aid = aid + 1 ))
+ grep -q "Found audio stream: $aid" $aidcheck
+ done
+ [[ -e "$aidcheck" ]] && rm -f "$aidcheck"
+ else
+ aid=$aid_override
+ fi
echo "-> Setting the audio stream ID to $aid" | tee -a "$logfile"
# mencoder default DVD audio track language selection (english)
- lang_opts="-aid $aid -alang en"
+ lang_opts="-aid $aid -alang $alang"
}
function check_vob_for_corrupted_start {