projects
/
rip_dvd
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed bug in having -s override Handbrake preset bitrates
[rip_dvd/.git]
/
rip_dvd
diff --git
a/rip_dvd
b/rip_dvd
index aa4b13ba6ae64c2dac4186e9b02df8ea85ce0637..e68012a3f237df2190c5053bbb67477ef8885fd6 100755
(executable)
--- a/
rip_dvd
+++ b/
rip_dvd
@@
-67,6
+67,9
@@
typeset -i audio_6ch=1
typeset -i invalid_feature_title=0
typeset -i feature_title_override=0
typeset -i mplayer_dumpstream_incompatibility=0
typeset -i invalid_feature_title=0
typeset -i feature_title_override=0
typeset -i mplayer_dumpstream_incompatibility=0
+typeset -i custom_bitrate=0
+typeset -i custom_audio_2ch=0
+typeset -i custom_audio_6ch=0
##############################################################################
# Local Machine Settings:
##############################################################################
# Local Machine Settings:
@@
-107,10
+110,10
@@
do
case $opt in
(n) dvdname=$OPTARG;;
(d) dest=$OPTARG;;
case $opt in
(n) dvdname=$OPTARG;;
(d) dest=$OPTARG;;
- (b) target_bitrate=$OPTARG;;
+ (b) target_bitrate=$OPTARG;
custom_bitrate=1;
;
(s) target_size=$OPTARG;;
(s) target_size=$OPTARG;;
- (2) audio_2ch=1;;
- (6) audio_6ch=1;;
+ (2) audio_2ch=1;
custom_audio_2ch=1;
;
+ (6) audio_6ch=1;
custom_audio_6ch=1;
;
(1) force_onepass_mode=1;;
(v) make_final_dest_vob=1;;
(i) make_final_dest_iso=1;;
(1) force_onepass_mode=1;;
(v) make_final_dest_vob=1;;
(i) make_final_dest_iso=1;;
@@
-533,6
+536,17
@@
function encode_vob_file_handbrake {
final_output_file="$dest/$dvdname.mp4"
PASSES=""
final_output_file="$dest/$dvdname.mp4"
PASSES=""
+ # Handle custom parameter overrides
+ if [ $custom_bitrate == 1 ]; then
+ handbrake_opts[0]="-b $target_bitrate"
+ fi
+ if [ $custom_audio_2ch == 0 ]; then
+ audio_2ch=0
+ fi
+ if [ $custom_audio_6ch == 0 ]; then
+ audio_6ch=0
+ fi
+
# Very High Quality
if [ "$profile" == "mp4vhq" ]; then
profile="hb_High_Profile"
# Very High Quality
if [ "$profile" == "mp4vhq" ]; then
profile="hb_High_Profile"
@@
-554,14
+568,26
@@
function encode_vob_file_handbrake {
final_output_file="$dest/$dvdname.mp4"
PASSES=""
final_output_file="$dest/$dvdname.mp4"
PASSES=""
+ # Handle custom parameter overrides
+ if [ $custom_bitrate == 1 ]; then
+ handbrake_opts[0]="-b $target_bitrate"
+ fi
+ if [ $custom_audio_2ch == 0 ]; then
+ audio_2ch=0
+ fi
+ if [ $custom_audio_6ch == 0 ]; then
+ audio_6ch=0
+ fi
+
# iphone
if [ "$profile" == "iphone" ]; then
# iphone
if [ "$profile" == "iphone" ]; then
- profile="hb_iPhone"
+ profile="hb_iPhone
_&_iPod_Touch
"
fi
# ipod
if [ "$profile" == "ipod" ]; then
profile="hb_iPod"
fi
fi
# ipod
if [ "$profile" == "ipod" ]; then
profile="hb_iPod"
fi
+
fi
# Predefined Handbrake Profile Handling
fi
# Predefined Handbrake Profile Handling
@@
-570,6
+596,17
@@
function encode_vob_file_handbrake {
handbrake_cli="$handbrake_mp4"
final_output_file="$dest/$dvdname.mp4"
PASSES=""
handbrake_cli="$handbrake_mp4"
final_output_file="$dest/$dvdname.mp4"
PASSES=""
+
+ # Handle custom parameter overrides
+ if [ $custom_bitrate == 1 ]; then
+ handbrake_opts[0]="-b $target_bitrate"
+ fi
+ if [ $custom_audio_2ch == 0 ]; then
+ audio_2ch=0
+ fi
+ if [ $custom_audio_6ch == 0 ]; then
+ audio_6ch=0
+ fi
# extract the HandBrake Profile name from $profile
hb_profile=`echo "$profile" | sed 's/hb_//g' | sed 's/_/ /g'`
# extract the HandBrake Profile name from $profile
hb_profile=`echo "$profile" | sed 's/hb_//g' | sed 's/_/ /g'`
@@
-1057,14
+1094,15
@@
function get_audio_track_from_vob {
# find the stream that matches our aid
#stream=`grep "Stream.*\[0x$aid_hex\]" $aidcheck`
# find the stream that matches our aid
#stream=`grep "Stream.*\[0x$aid_hex\]" $aidcheck`
- stream=`grep "scan: audio" $aidcheck | grep -n "" | grep "scan: audio 0x$aid_hex"`
+ #stream=`grep "scan: audio" $aidcheck | grep -n "" | grep "scan: audio 0x$aid_hex"`
+ stream=`grep "add_audio_to_title:" $aidcheck | grep -n "" | grep "add_audio_to_title:.* stream 0x$aid_hex"`
# extract the track number that handbrake uses
#track=`expr match "$stream" '.*#[0-9]\.\([0-9]*\)'`
track=`expr match "$stream" '^\([0-9]*\):'`
if [ -n "$track" ]; then
# extract the track number that handbrake uses
#track=`expr match "$stream" '.*#[0-9]\.\([0-9]*\)'`
track=`expr match "$stream" '^\([0-9]*\):'`
if [ -n "$track" ]; then
- echo "
->
Setting the audio ID to $aid. Setting the audio track to $track." | tee -a "$logfile"
+ echo "
Setting the audio ID to $aid. Setting the audio track to $track." | tee -a "$logfile"
fi
}
fi
}
@@
-1201,6
+1239,7
@@
function calculate_bitrate_from_target_size {
if [ $target_size -ne 0 ]; then
vob_length=`mplayer -identify -v "$vobfile" -endpos 0 2>&1 | grep ID_LENGTH | awk -F '=' '{ print $2 }' | awk -F '.' '{ print $1 }'`
((target_bitrate = (target_size * 1024 * 8) / vob_length ))
if [ $target_size -ne 0 ]; then
vob_length=`mplayer -identify -v "$vobfile" -endpos 0 2>&1 | grep ID_LENGTH | awk -F '=' '{ print $2 }' | awk -F '.' '{ print $1 }'`
((target_bitrate = (target_size * 1024 * 8) / vob_length ))
+ custom_bitrate=1
echo " With a given target size of $target_size MB, the estimated bit rate will need to be $target_bitrate kbits/sec"
fi
}
echo " With a given target size of $target_size MB, the estimated bit rate will need to be $target_bitrate kbits/sec"
fi
}