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 {