Compare commits

...

17 Commits

Author SHA1 Message Date
agibert
0d30f85c4e - Support uncompressed DVD dump (Add buf_type param),
- Fix x264 support,
- Configure X264 profile to be FreeBox compatible,
- Add volume auto normalize support.
2010-11-24 07:58:02 +00:00
agibert
b9d49db500 - Fix 4.0.0-1 release date. 2010-02-17 11:19:34 +00:00
agibert
d7d7496111 - Add in 4.0.0-1 release entry:
- Add documentation into ReadMe.txt file.
2010-02-17 11:03:43 +00:00
agibert
4987b66352 - Improve documentation ! 2010-02-17 11:01:10 +00:00
agibert
3d6cf1a412 - Remove outdated barry_lyndon and cobra examples. 2010-02-16 14:59:03 +00:00
agibert
2b5d59a928 - Add in 4.0.0-1 release entry:
- Fix audio encoding in vfp mode and in 2a or 2s video mode,
	- Fix video aspect by using "-force-avi-aspect".
2010-02-16 14:38:56 +00:00
agibert
1e50d14892 - Fix audio encoding in fvp mode and 2a or 2s video mode,
- Fix video aspect by using "-force-avi-aspect".
2010-02-16 14:29:56 +00:00
agibert
b8429d3d99 - Fix broken audio compress only mode (audio=ap & video=n). 2009-10-20 07:08:49 +00:00
agibert
9e72c0a187 - Add x264 codec support,
- Add extra vcodec option support (vopts),
- Add volume control option.
2009-05-23 00:09:55 +00:00
agibert
4466a01b8c Add id support in -alang option. 2009-02-25 18:04:40 +00:00
agibert
200c20a80e Add crop support,
Add OSD sub title support,
Fix minor bugs.
2009-02-17 08:29:55 +00:00
agibert
e4e9cc18e5 - Add 4.0.0-1 release entry:
- Major code rewrite,
	- New command line interface,
	- Args major reorganisation,
	- New video quality presetings (vqual).
2009-01-06 00:17:12 +00:00
agibert
cdde792c6d - Major code rewrite,
- New command line interface,
- Major args reorganisation,
- New video quality presetings (vqual).
2009-01-06 00:16:22 +00:00
agibert
56bb6c5d46 Add multi instance support: we can call many dvd2divx in parallel in the same directory. 2008-10-07 10:11:04 +00:00
agibert
108bfe811f Add multi-thread support (even if with my mencoder I see no difference ! 8^/ ). 2007-05-10 09:56:19 +00:00
agibert
d8bbe0f655 Add XVid support,
Add vcodec, stereo and asrate options,
Implement vpass option,
Implement only and skip in apass option,
Add an example in dvd2divx script header.
2005-06-13 07:44:42 +00:00
agibert
979b380f63 Add apass, vpass and deint options, vpass is not yet implemented,
Add cobra srcipt example.
2004-06-23 14:28:09 +00:00
4 changed files with 505 additions and 67 deletions

View File

@ -1,7 +1,7 @@
# $RCSfile: ReadMe.txt,v $
# $Revision: 1.1 $
# $Revision: 1.2 $
# $Name: $
# $Date: 2004/06/05 13:29:40 $
# $Date: 2010/02/17 11:01:10 $
# $Author: agibert $
@ -12,7 +12,113 @@ Welcome to DVD2DivX !
This little shell script is designed for automatise DVD ripping. It uses the great encoder program 'mencoder' from 'mplayer' package.
Please read the example file and the comment in the dvd2divx file.
It currently mainly support:
- direct or buffured extraction,
- mp3 audio encoding,
- none or one audio pass,
- audio resampling,
- audio volume correction,
- none, one or two video passes,
- lavc, xvid and x264 codecs,
- video resizing,
- video aspect correction,
- video de-interlacement,
- video quality setup profiles,
- subtitles,
- multi-threading.
Usage:
------
dvd2divx divx_root divx_title input dvd_device dvd_title chapter angle alang slang audio abr asrate stereo volume sub video vcodec vqual vbr crop xsize aspect deint threads vopts
input options:
input: input mode: d | db | dbo | b
d: read directly from disk,
db: bufferize and continue,
dbo: bufferize only,
b: read from a preexisting buffer
dvd_device: input device or file: - | /dev/dvd | ...
-: none
/dev/dvd: dvd device,
...
title: dvd title number
chapter: dvd chapter number
angle: dvd angle number
alang: audio language name or id: - | en | fr | 0 | 1 | ...
-: none,
en: english,
fr: french,
0: id 0,
1: id 1,
...
slang: subtitles language name or id: - | en | fr | 0 | 1 | ...
-: none,
en: english,
fr: french,
0: id 0,
1: id 1,
...
audio options:
audio: audio mode: ap | avp | fvp | n
ap: compress audio during audio pass
avp: compress audio during all video pass
fvp: compress audio during final video pass
n: use input audio stream)
abr: audio bit rate
asrate: audio sampling rate: - | xxx
-: no resampling
...: sampling rate
stereo: audio stereo mode: y | n
y: stereo
n: mono
volume: audio volume gain in db: - | ...
-: no change,
...: gain in db
subtitles option:
sub: subtitles mode: - | f | o
-: no subtitles,
f: file subtitles,
o: OSD subtitles
video options:
video: video mode: 1 | 2a | 2s | n
1: compress video in 1 pass,
2a: compress video in 2 assymetric passes,
2s: compress video in 2 symetric passes,
n: use input video stream
vcodec: video codec: - | lavc | xvid | x264
vquality: video quality profile: 0 | 1 | 2 | 3
0: realtime,
1: fast,
2: High quality,
3: very high quality
vbr: video bit rate
crop: cropping size: - | width:height:x:y
-: no cropping,
width:height:x:y: copping area
xsize: video x size: - | ...
aspect: video aspect: - | 4/3 | 16/9 | ...
deint: deinterlace video: y | n
threads: thread number: - | 1 | ...
vopts: extra video codec options: - | ...
Batch usage example:
--------------------
# divx_root divx_title input dvd_device dvd_title chapter angle alang slang audio abr asrate stereo volume sub video vcodec vqual vbr crop xsize aspect deint threads vopts
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dvd2divx cobra 1 dbo /dev/cdrom1 10 1- 1 fr - - - - - - - - - - - - - - - -
dvd2divx cobra 1 b - - - - - - fvp 128 - n 10 - 2a xvid 3 1000 - 480 4/3 y 4 cartoon

View File

@ -1,13 +1,70 @@
# $RCSfile: ReleaseNotes.txt,v $
# $Revision: 1.1 $
# $Revision: 1.10 $
# $Name: $
# $Date: 2004/06/05 13:29:40 $
# $Date: 2010/02/17 11:19:34 $
# $Author: agibert $
--------------------------------------------------------------------------------
dvd2divx V 4.0.0-1 - A. Gibert - 2010/02/17
--------------------------------------------------------------------------------
- Major code rewrite,
- New command line interface,
- Args major reorganisation,
- Add x264 codec support,
- New video quality presetings (vqual),
- Add crop support,
- Add OSD sub title support,
- Add extra vcodec option support (vopts),
- Add id support in alang option,
- Add volume control option,
- Fix audio encoding in vfp mode and in 2a or 2s video mode,
- Fix video aspect by using "-force-avi-aspect",
- Add documentation into ReadMe.txt file.
--------------------------------------------------------------------------------
dvd2divx V 3.1.0-1 - A. Gibert - 2008/10/07
--------------------------------------------------------------------------------
Add multi instance support: we can call many dvd2divx in parallel in the same directory.
--------------------------------------------------------------------------------
dvd2divx V 3.0.0-1 - A. Gibert - 2007/05/10
--------------------------------------------------------------------------------
Add multi-thread support (even if with my mencoder I see no difference ! 8^/ ).
--------------------------------------------------------------------------------
dvd2divx V 2.0.0-1 - A. Gibert - 2005/06/13
--------------------------------------------------------------------------------
Add XVid support,
Add vcodec, stereo and asrate options,
Implement vpass option,
Implement only and skip in apass option,
Add an example in dvd2divx script header.
--------------------------------------------------------------------------------
dvd2divx V 1.1.0-1 - A. Gibert - 2004/06/23
--------------------------------------------------------------------------------
Add apass, vpass and deint options, vpass is not yet implemented,
Add cobra srcipt example.
--------------------------------------------------------------------------------
dvd2divx V 1.0.0-1 - A. Gibert - 2004/06/05
--------------------------------------------------------------------------------

View File

@ -1,7 +0,0 @@
#!/bin/bash
# dvd_device divx_root divx_title dvd_title chapter angle alang slang vbr abr xsize aspect buffer stereo
#-------------------------------------------------------------------------------------------------------------------------------------------------------------
dvd2divx - barry_lyndon 1 1 1-24 1 fr - - - - - o -
dvd2divx - barry_lyndon 2 1 25- 1 fr - - - - - o -
dvd2divx - barry_lyndon 1 - - - - - 920 128 480 4/3 n y
dvd2divx - barry_lyndon 2 - - - - - 920 128 480 4/3 n y

392
dvd2divx
View File

@ -2,12 +2,12 @@
#-----------------------------------------------------------------------------------------------------------------------------------
# DVD2DivX
#
# (C) 2004 Arnaud G. Gibert
# (C) 2004-2009 Arnaud G. Gibert
#-----------------------------------------------------------------------------------------------------------------------------------
# $RCSfile: dvd2divx,v $
# $Revision: 1.1 $
# $Revision: 1.13 $
# $Name: $
# $Date: 2004/06/05 13:29:40 $
# $Date: 2010/11/24 07:58:02 $
# $Author: agibert $
#-----------------------------------------------------------------------------------------------------------------------------------
@ -29,47 +29,158 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#-----------------------------------------------------------------------------------------------------------------------------------
# Usage exemple
#-----------------------------------------------------------------------------------------------------------------------------------
# #!/bin/bash
# # divx_root divx_title input buf_type dvd_device dvd_title chapter angle alang slang audio abr asrate stereo volume sub video vcodec vqual vbr crop xsize aspect deint threads vopts
# #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# dvd2divx cobra 1 dbo c /dev/cdrom1 10 1- 1 fr - - - - - - - - - - - - - - - -
# dvd2divx cobra 1 b - - - - - - - fvp 128 - n 10 - 2a xvid 3 1000 - 480 4/3 y 4 cartoon
dvd_device=$1 # -|/dev/dvd|...
divx_root=$2
divx_title=$3
title=$4
chapter=$5
angle=$6
alang=$7 # en|fr|...
slang=$8 # -|en|fr|...
vbr=$9
abr=${10}
xsize=${11}
aspect=${12} # 4/3|16/9|...
bufferize=${13} # o|y|n|d (only|yes|no|direct)
divx_root=${1} #
divx_title=${2} #
#------------------------------------------------------------------------------
input=${3} # d|db|dbo|b (d: read directly from disk | db: bufferize and continue | dbo: bufferize only | b: read from a preexisting buffer)
buf_type=${4} # c|u (c: compresed | u: uncompressed)
dvd_device=${5} # -|/dev/dvd|...
title=${6} #
chapter=${7} #
angle=${8} #
alang=${9} # -|en|fr|...|0|1|... (lang or id)
slang=${10} # -|en|fr|...|0|1|... (lang or id)
#------------------------------------------------------------------------------
audio=${11} # ap|avp|fvp|n (ap: compress audio during audio pass | avp: compress audio during all video pass | fvp: compress audio during final video pass | no: use input audio stream)
abr=${12} # xxx (audio bit rate)
asrate=${13} # -|xxx (resample audio)
stereo=${14} # y|n
volume=${15} # -|a/xx|yy (-: no volume change | a: auto normalize at -xx db | add yy db)
#------------------------------------------------------------------------------
sub=${16} # -|f|o (-: no subtitles | f: file subtitles | o: OSD subtitles)
#------------------------------------------------------------------------------
video=${17} # 1|2a|2s|n (1: compress video in 1 pass | 2a: compress video in 2 assymetric passes | 2s: compress video in 2 symetric passes | no: use input video stream)
vcodec=${18} # -|lavc|xvid|x264
vquality=${19} # 0|1|2|3 (0: realtime | 1: fast | 2: high quality | 3: very high quality)
vbr=${20} # xxx (video bit rate)
crop=${21} # -|width:height:x:y
xsize=${22} # -|...
aspect=${23} # -|4/3|16/9|...
deint=${24} # y|n
threads=${25} # -|1..
vopts=${26} # -|... # other vcodec options
#-----------------------------------------------------------------------------------------------------------------------------------
divx_name=$divx_root-$divx_title.avi
tmp_name=$divx_root-$divx_title.vob
out_name=$divx_root-$divx_title
tmpdir_name=$divx_root-$divx_title.tmp
divx_name=../$divx_root-$divx_title.avi
tmp_name=../$divx_root-$divx_title.vob
out_name=../$divx_root-$divx_title
echo "device: [$dvd_device] DivX: [$divx_name] title: ($title) chapter: ($chapter) angle: ($angle)"
echo "alang: ($alang) slang: ($slang) vbr: ($vbr) abr: ($abr) xsize: ($xsize) aspect: ($aspect)"
echo "bufferize: ($bufferize) stereo: ($stereo)"
echo "DivX: [$divx_name] title: ($title)"
echo "Input: [$input] buf type: [$buf_type] device: [$dvd_device] title: ($title) chapter: ($chapter) angle: ($angle) alang: ($alang) slang: ($slang)"
echo "Audio: [$audio] abr: ($abr) asrate: ($asrate) stereo: ($stereo) volume: (${volume})"
echo "Sub: [$sub]"
echo "Video: [$video] vcodec: [$vcodec] vquality: [$vquality] vbr: ($vbr) crop: ($crop) xsize: ($xsize) aspect: ($aspect) deint: ($deint) threards: ($threads) vopts: [${vopts}]"
#-----------------------------------------------------------------------------------------------------------------------------------
# DVDRip Setup
#-----------------------------------------------------------------------------------------------------------------------------------
shopt -s extglob
if [ "$buf_type" == "u" ]
then
audio_buf_opt="-oac pcm"
video_buf_opt="-ovc raw"
else
audio_buf_opt="-oac copy"
video_buf_opt="-ovc copy"
fi
if [ "$dvd_device" != "-" ]
then
device_opt="-dvd-device $dvd_device"
fi
if [ "$slang" == "-" ]
if [ "$sub" == "-" ]
then
slang_opt=""
else
slang_opt="-slang $slang -vobsubout $out_name -vobsuboutid $slang -vobsuboutindex 0"
if [ "$slang" != "-" ]
then
if [[ "$slang" == +([[:digit:]]) ]]
then
slang_opt="-sid $slang"
else
slang_opt="-slang $slang"
fi
if [ "$sub" == "f" ]
then
slang_opt+=" -vobsubout $out_name -vobsuboutid $slang -vobsuboutindex 0"
else
if [ "$sub" == "o" ]
then
slang_opt+=" -ass"
fi
fi
fi
fi
if [ "$alang" != "-" ]
then
if [[ "$alang" == +([[:digit:]]) ]]
then
alang_opt="-aid $alang"
else
alang_opt="-alang $alang"
fi
else
alang_opt=""
fi
read_dvd_opt="$device_opt dvd://$title -chapter $chapter -dvdangle $angle $alang_opt $slang_opt"
read_buf_opt="$tmp_name"
case "$input"
in
d)
read_opt2="${read_dvd_opt}"
;;
db)
read_opt1="${read_dvd_opt}"
read_opt2="${read_buf_opt}"
;;
dbo)
read_opt1="${read_dvd_opt}"
;;
b)
read_opt2="${read_buf_opt}"
;;
esac
#-----------------------------------------------------------------------------------------------------------------------------------
# Audio Setup
#-----------------------------------------------------------------------------------------------------------------------------------
if [ "$asrate" == "-" ]
then
aresample=""
else
aresample="-srate $asrate -af-add lavcresample=$asrate"
fi
if [ "$stereo" == "y" ]
@ -79,61 +190,232 @@ else
stereo_mode=3
fi
read_opt="$device_opt dvd://$title -chapter $chapter -dvdangle $angle -alang $alang $slang_opt"
#-----------------------------------------------------------------------------------------------------------------------------------
echo "Cleanup..."
\rm frameno.avi
\rm divx2pass.log
# Video Setup
#-----------------------------------------------------------------------------------------------------------------------------------
if [ "$bufferize" != "d" ]
video_lavc_header_11="-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$vbr"
video_lavc_header_21="-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=$vbr"
video_lavc_header_22="-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=$vbr"
video_lavc_body_0="mbd=2:turbo"
video_lavc_body_1="mbd=2:trell:v4mv:turbo"
video_lavc_body_2="mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo"
video_lavc_body_3="mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2"
video_xvid_header_11="-ovc xvid -xvidencopts bitrate=$vbr"
video_xvid_header_21="-ovc xvid -xvidencopts pass=1:bitrate=$vbr"
video_xvid_header_22="-ovc xvid -xvidencopts pass=2:bitrate=$vbr"
video_xvid_body_0="turbo:nochroma_me:notrellis:max_bframes=0:vhq=0"
video_xvid_body_1="turbo:vhq=0"
video_xvid_body_2="vhq=2:bvhq=1:chroma_opt:quant_type=mpeg"
video_xvid_body_3="chroma_opt:vhq=4:bvhq=1:quant_type=mpeg"
video_x264_header_11="-ovc x264 -x264encopts bitrate=$vbr"
video_x264_header_21="-ovc x264 -x264encopts pass=1:bitrate=$vbr"
video_x264_header_22="-ovc x264 -x264encopts pass=2:bitrate=$vbr"
video_x264_body_0="bframes=0"
#video_x264_body_0="b_pyramid=1"
video_x264_body_1="subq=4:bframes=2:bframes=0"
#video_x264_body_1="subq=4:bframes=2:b_pyramid=1:weight_b"
video_x264_body_2="subq=5:8x8dct:frameref=2:bframes=0"
#video_x264_body_2="subq=5:8x8dct:frameref=2:bframes=3:b_pyramid=1:weight_b"
video_x264_body_3="subq=9:partitions=all:8x8dct:me=umh:me_range=64:frameref=6:bframes=0"
#video_x264_body_3="subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b"
if [ "$video" != "n" ]
then
if [ "$bufferize" == "y" ] || [ "$bufferize" == "o" ]
if [ "$video" == "1" ]
then
echo "Bufferizing..."
mencoder $read_opt -oac copy -ovc copy -o $tmp_name >$out_name.1.log 2>&1
if [ "$bufferize" == "o" ]
video_opt1=$(eval echo \${video_${vcodec}_header_11}:\${video_${vcodec}_body_${vquality}})
else
if [ "$video" == "2a" ]
then
exit 1
video_opt1=$(eval echo \${video_${vcodec}_header_21}:\${video_${vcodec}_body_0})
video_opt2=$(eval echo \${video_${vcodec}_header_22}:\${video_${vcodec}_body_${vquality}})
else
video_opt1=$(eval echo \${video_${vcodec}_header_21}:\${video_${vcodec}_body_${vquality}})
fi
fi
read_opt="$tmp_name"
video_opt2=$(eval echo \${video_${vcodec}_header_22}:\${video_${vcodec}_body_${vquality}})
fi
fi
if [ "$crop" != "-" ]
then
vf_opt="-vf-add crop=$crop"
fi
if [ "$xsize" != "-" ]
then
vf_opt+=" -vf-add scale -zoom -xy $xsize"
fi
if [ "$deint" == "y" ]
then
vf_opt+=" -vf-add lavcdeint"
fi
if [ "$aspect" == "-" ]
then
if [ "$vcodec" != "x264" ]
then
video_opt1=$video_opt1":autoaspect"
video_opt2=$video_opt2":autoaspect"
fi
else
glob_opt="-force-avi-aspect ${aspect}"
if [ "$vcodec" != "x264" ]
then
video_opt1=$video_opt1":aspect=$aspect"
video_opt2=$video_opt2":aspect=$aspect"
fi
fi
if [ "$threads" != "-" ]
then
video_opt1=$video_opt1":threads=$threads"
video_opt2=$video_opt2":threads=$threads"
fi
if [ "${vopts}" != "-" ]
then
video_opt1=$video_opt1":${vopts}"
video_opt2=$video_opt2":${vopts}"
fi
#-----------------------------------------------------------------------------------------------------------------------------------
echo "Compressing MP3..."
mencoder $read_opt -oac mp3lame -ovc frameno -lameopts cbr:br=$abr:aq=0:mode=$stereo_mode -vop scale -zoom -xy $xsize -o frameno.avi >$out_name.2.log 2>&1
#-----------------------------------------------------------------------------------------------------------------------------------
echo "Compressing DivX pass 1..."
mencoder $read_opt -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=$vbr:vhq:v4mv:aspect=$aspect -vop scale -zoom -xy $xsize -o $divx_name >$out_name.3.log 2>&1
mkdir $tmpdir_name
cd $tmpdir_name
#-----------------------------------------------------------------------------------------------------------------------------------
echo "Compressing DivX pass 2..."
mencoder $read_opt -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=$vbr:vhq:v4mv:aspect=$aspect -vop scale -zoom -xy $xsize -o $divx_name >$out_name.4.log 2>&1
#-----------------------------------------------------------------------------------------------------------------------------------
echo "Cleanup..."
\rm frameno.avi
\rm divx2pass.log
\rm xvid-twopass.stats
#-----------------------------------------------------------------------------------------------------------------------------------
# Bufferizing
#-----------------------------------------------------------------------------------------------------------------------------------
if [ "$input" != "d" ] && [ "$input" != "b" ]
then
echo "Bufferizing..."
mencoder $read_opt1 $audio_buf_opt $video_buf_opt -o $tmp_name >$out_name.1.log 2>&1
if [ "$input" == "dbo" ]
then
exit 1
fi
fi
#-----------------------------------------------------------------------------------------------------------------------------------
# Audio Volume Setup
#-----------------------------------------------------------------------------------------------------------------------------------
if [ "${volume}" == "-" ]
then
vol_opt=""
else
if [ "${volume/\/*/}" == "a" ]
then
vol_max="$(mencoder $read_opt2 -af-add stats -oac pcm -ovc copy -o /dev/null | grep "stats: max_volume:" | sed -e 's/.*-//' -e 's/ dB.*//')"
vol_opt="-af-add volume=$((${vol_max} - ${volume/*\//})):0"
echo "[${vol_max}] - [${volume/*\//}]"
else
vol_opt="-af-add volume=$volume:0"
fi
fi
#-----------------------------------------------------------------------------------------------------------------------------------
# Audio Final Setup
#-----------------------------------------------------------------------------------------------------------------------------------
audio_comp_opt="-oac mp3lame -lameopts cbr:br=$abr:aq=0:mode=$stereo_mode $aresample ${vol_opt}"
audio_copy_opt="-oac copy"
if [ "$audio" != "n" ]
then
if [ "$video" == "1" ]
then
audio_opt1="$audio_comp_opt"
else
if [ "$video" != "n" ]
then
if [ "$audio" == "avp" ]
then
audio_opt1="$audio_comp_opt"
audio_opt2="$audio_comp_opt"
else
if [ "$audio" == "fvp" ]
then
audio_opt1="$audio_copy_opt"
audio_opt2="$audio_comp_opt"
fi
fi
else
audio_opt1="$audio_comp_opt"
fi
fi
else
audio_opt1="$audio_copy_opt"
audio_opt2="$audio_copy_opt"
fi
#-----------------------------------------------------------------------------------------------------------------------------------
# Audio / Video Compression
#-----------------------------------------------------------------------------------------------------------------------------------
if [ "$video" != "n" ]
then
if [ "$video" == "1" ]
then
echo "Compressing DivX..."
mencoder $read_opt2 $audio_opt1 $video_opt1 $vf_opt $glob_opt -o $divx_name >$out_name.3.log 2>&1
else
echo "Compressing DivX pass 1..."
mencoder $read_opt2 $audio_opt1 $video_opt1 -o /dev/null >$out_name.3.log 2>&1
echo "Compressing DivX pass 2..."
mencoder $read_opt2 $audio_opt2 $video_opt2 $vf_opt $glob_opt -o $divx_name >$out_name.4.log 2>&1
fi
else
if [ "$audio" == "ap" ]
then
echo "Compressing DivX audio..."
mencoder $read_opt2 $audio_opt1 -ovc copy $glob_opt -o $divx_name >$out_name.2.log 2>&1
fi
fi