COMMAND LINE EXAMPLES
----------------------------------------------
-Rip a DVD into a compressed AVI file with default xvid profile:
+Rip a DVD into a compressed AVI file with default xvidvhq profile:
> rip_dvd -d /path/to/dest/dir -b 2000 -x
-Rip a DVD into a compressed AVI file with default xvid profile scaling to 320x240 compressed video size:
+Rip a DVD into a compressed AVI file with default xvidvhq profile scaling to 320x240 compressed video size:
> rip_dvd -d /path/to/dest/dir -b 2000 -x -a 320:240
-Rip a DVD into a compressed AVI file with default xvid profile targetting a certain compressed video filesize (in MB):
+Rip a DVD into a compressed AVI file with default xvidvhq profile targetting a certain compressed video filesize (in MB):
> rip_dvd -d /path/to/dest/dir -b 2000 -x -s 650
Rip a DVD into a VOB file:
> dvdname=`volname /dev/dvd | awk '{ print $1 }'`
> rip_dvd -d /path/to/dest/dir -v
> rip_dvd -d /path/to/dest/dir/ipod -b 2000 -x -p ipod -n /path/to/dest/dir/$dvdname.VOB
-> rip_dvd -d /path/to/dest/dir/xvid -b 2000 -x -p xvid -n /path/to/dest/dir/$dvdname.VOB
+> rip_dvd -d /path/to/dest/dir/xvid -b 2000 -x -p xvidvhq -n /path/to/dest/dir/$dvdname.VOB
> rm /path/to/dest/dir/$dvdname.VOB
typeset aspect=""
typeset SCALE=""
typeset CROP=""
-typeset profile="xvid"
+typeset profile="xvidvhq"
typeset extension=""
typeset -i keep_isofile=0
typeset -i keep_vobfile=0
echo >&2 " 4) If dvdname is a full path to an MPG2 file, it will be ripped as a DVD instead of $dev"
echo >&2 " 5) If dvdname is a full path to an ISO file, it will be ripped as a DVD instead of $dev"
echo >&2 " -p <profile> Specify which encoding profile to use in -x mode as shown below:"
- echo >&2 " - xvid = AVI, Xvid codec, 2 pass encoding, original aspect, no scaling (default)"
- echo >&2 " - mp4vhq = MP4, very high quality encoding, x264 codec, 2 pass encoding, original aspect, no scaling"
- echo >&2 " - mp4hq = MP4, high quality encoding, x264 codec, 2 pass encoding, original aspect, no scaling"
- echo >&2 " - mp4 = MP4, fast encoding, x264 codec, 2 pass encoding, original aspect, no scaling"
- echo >&2 " - iphone = MP4, x264 codec, 2 pass encoding, 480:320 scaling"
- echo >&2 " - ipod = MP4, x264 codec, 2 pass encoding, 320:240 scaling"
+ echo >&2 " - xvidvhq = AVI, very high quality encoding, Xvid codec, 2 pass encoding (default)"
+ echo >&2 " - xvidhq = AVI, high quality encoding, Xvid codec, 2 pass encoding"
+ echo >&2 " - xvid = AVI, fast encoding, Xvid codec, 2 pass encoding"
+ echo >&2 " - mp4vhq = MP4, very high quality encoding, x264 codec, 2 pass encoding"
+ echo >&2 " - mp4hq = MP4, high quality encoding, x264 codec, 2 pass encoding"
+ echo >&2 " - mp4 = MP4, fast encoding, x264 codec, 2 pass encoding"
+ echo >&2 " - iphone = MP4, x264 codec, 2 pass encoding, forced 480:320 scaling"
+ echo >&2 " - ipod = MP4, x264 codec, 2 pass encoding, forced 320:240 scaling"
echo >&2 " -e <ext> Specify a suffix extension to apply to the end of the final image filename (like .xvid, .ipod, etc)"
echo >&2 " If you run multiple instances of this script ripping the same DVD, you need to specify this option."
echo >&2 " -m Make a mirror image of the DVD and save it as a DVD ISO file"
typeset -i found_profile=0
# XVID profile
- if [ "$profile" == "xvid" ]; then
+ if [ "$profile" == "xvid" ] || [ "$profile" == "xvidhq" ] || [ "$profile" == "xvidvhq" ]; then
found_profile=1
final_output_file="$dest/$dvdname.avi"
mencoder_general_opts="-quiet $lang_opts -passlogfile $passlogfile"
mencoder_output_opts="-ofps 30000/1001 -ffourcc DIVX"
mencoder_video_filter_opts="-vf pullup,softskip,hqdn3d=2:1:2$CROP$SCALE"
mencoder_video_encoder_opts="-ovc xvid -xvidencopts pass=%PASS"
- video_encoder_opts[0]="bitrate=$target_bitrate"
- video_encoder_opts[1]="threads=$mencoder_threads"
- video_encoder_opts[2]="chroma_opt"
- video_encoder_opts[3]="vhq=4"
- video_encoder_opts[4]="bvhq=1"
- video_encoder_opts[5]="quant_type=mpeg"
- video_encoder_opts[6]="autoaspect"
+
+ # Very High Quality (16fps)
+ if [ "$profile" == "xvidvhq" ]; then
+ video_encoder_opts[0]="bitrate=$target_bitrate"
+ video_encoder_opts[1]="threads=$mencoder_threads"
+ video_encoder_opts[2]="chroma_opt"
+ video_encoder_opts[3]="vhq=4"
+ video_encoder_opts[4]="bvhq=1"
+ video_encoder_opts[5]="quant_type=mpeg"
+ video_encoder_opts[6]="autoaspect"
+ fi
+ # High Quality (20fps)
+ if [ "$profile" == "xvidhq" ]; then
+ video_encoder_opts[0]="bitrate=$target_bitrate"
+ video_encoder_opts[1]="threads=$mencoder_threads"
+ video_encoder_opts[2]="chroma_opt"
+ video_encoder_opts[3]="vhq=2"
+ video_encoder_opts[4]="bvhq=1"
+ video_encoder_opts[5]="quant_type=mpeg"
+ video_encoder_opts[6]="autoaspect"
+ fi
+ # Fast (28fps)
+ if [ "$profile" == "xvid" ]; then
+ video_encoder_opts[0]="bitrate=$target_bitrate"
+ video_encoder_opts[1]="threads=$mencoder_threads"
+ video_encoder_opts[2]="vhq=0"
+ video_encoder_opts[3]="turbo"
+ video_encoder_opts[4]="autoaspect"
+ fi
+
for OPTS in "${video_encoder_opts[@]}"; do
mencoder_video_encoder_opts="$mencoder_video_encoder_opts:$OPTS"
done