Compare commits

...

10 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
5 changed files with 286 additions and 122 deletions

View File

@ -1,7 +1,7 @@
# $RCSfile: ReadMe.txt,v $ # $RCSfile: ReadMe.txt,v $
# $Revision: 1.1 $ # $Revision: 1.2 $
# $Name: $ # $Name: $
# $Date: 2004/06/05 13:29:40 $ # $Date: 2010/02/17 11:01:10 $
# $Author: agibert $ # $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. 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,7 +1,7 @@
# $RCSfile: ReleaseNotes.txt,v $ # $RCSfile: ReleaseNotes.txt,v $
# $Revision: 1.6 $ # $Revision: 1.10 $
# $Name: $ # $Name: $
# $Date: 2009/01/06 00:17:12 $ # $Date: 2010/02/17 11:19:34 $
# $Author: agibert $ # $Author: agibert $
@ -9,13 +9,22 @@
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
dvd2divx V 4.0.0-1 - A. Gibert - 2000/01/05 dvd2divx V 4.0.0-1 - A. Gibert - 2010/02/17
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
- Major code rewrite, - Major code rewrite,
- New command line interface, - New command line interface,
- Args major reorganisation, - Args major reorganisation,
- New video quality presetings (vqual). - 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.

View File

@ -1,15 +0,0 @@
#!/bin/bash
# dvd_device divx_root divx_title dvd_title chapter angle alang slang vcodec vbr abr xsize aspect stereo asrate deint buffer apass vpass threads
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Mono Instance
#dvd2divx - barry_lyndon 1 1 1-24 1 fr - - - - - - - - - o - - -
#dvd2divx - barry_lyndon 2 1 25- 1 fr - - - - - - - - - o - - -
#dvd2divx - barry_lyndon 1 - - - - - lavc 920 128 480 4/3 y - n s y 2 4
#dvd2divx - barry_lyndon 2 - - - - - lavc 920 128 480 4/3 y - n s y 2 4
#
# Multi Instance
dvd2divx - barry_lyndon 1 1 1-24 1 fr - - - - - - - - - o - - -
dvd2divx - barry_lyndon 2 1 25- 1 fr - lavc 920 128 480 4/3 y - n s y 2 4 &
dvd2divx - barry_lyndon 1 - - - - - lavc 920 128 480 4/3 y - n s y 2 4 &
wait

View File

@ -1,34 +0,0 @@
#!/bin/bash
# dvd_device divx_root divx_title dvd_title chapter angle alang slang vcodec vbr abr xsize aspect stereo asrate deint buffer apass vpass threads
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#dvd2divx /dev/cdrom1 cobra 1 10 1- 1 fr - - - - - - - - - o - - -
#dvd2divx /dev/cdrom1 cobra 2 11 1- 1 fr - - - - - - - - - o - - -
#dvd2divx /dev/cdrom1 cobra 3 12 1- 1 fr - - - - - - - - - o - - -
#dvd2divx /dev/cdrom1 cobra 4 13 1- 1 fr - - - - - - - - - o - - -
#dvd2divx /dev/cdrom1 cobra 5 14 1- 1 fr - - - - - - - - - o - - -
#dvd2divx /dev/cdrom1 cobra 6 15 1- 1 fr - - - - - - - - - o - - -
#dvd2divx - cobra 1 - - - - - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx - cobra 2 - - - - - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx - cobra 3 - - - - - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx - cobra 4 - - - - - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx - cobra 5 - - - - - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx - cobra 6 - - - - - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 13 10 1- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 14 11 1- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 15 12 1- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 16 13 1- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 17 14 1- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 18 15 1- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 19 10 1- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 20 10 3- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 21 10 5- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 22 10 7- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 23 10 9- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 24 10 11- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
#dvd2divx /dev/cdrom1 cobra 31 10 13- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
dvd2divx - cobra pre2 11 1 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4
dvd2divx - cobra post2 11 2- 1 fr - xvid 1000 128 480 4/3 n - y s y 2 4

230
dvd2divx
View File

@ -5,9 +5,9 @@
# (C) 2004-2009 Arnaud G. Gibert # (C) 2004-2009 Arnaud G. Gibert
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
# $RCSfile: dvd2divx,v $ # $RCSfile: dvd2divx,v $
# $Revision: 1.7 $ # $Revision: 1.13 $
# $Name: $ # $Name: $
# $Date: 2009/02/17 08:29:55 $ # $Date: 2010/11/24 07:58:02 $
# $Author: agibert $ # $Author: agibert $
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
@ -32,10 +32,10 @@
# Usage exemple # Usage exemple
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
# #!/bin/bash # #!/bin/bash
# # divx_root divx_title input dvd_device dvd_title chapter angle alang slang audio abr asrate stereo sub video vcodec vqual vbr crop xsize aspect deint threads # # 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 /dev/cdrom1 10 1- 1 fr - - - - - - - - - - - - - - - # dvd2divx cobra 1 dbo c /dev/cdrom1 10 1- 1 fr - - - - - - - - - - - - - - - -
# dvd2divx cobra 1 b - - - - - - fvp 128 - n - 2a xvid 3 1000 - 480 4/3 y 4 # dvd2divx cobra 1 b - - - - - - - fvp 128 - n 10 - 2a xvid 3 1000 - 480 4/3 y 4 cartoon
@ -43,30 +43,32 @@ divx_root=${1} #
divx_title=${2} # 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) input=${3} # d|db|dbo|b (d: read directly from disk | db: bufferize and continue | dbo: bufferize only | b: read from a preexisting buffer)
dvd_device=${4} # -|/dev/dvd|... buf_type=${4} # c|u (c: compresed | u: uncompressed)
title=${5} # dvd_device=${5} # -|/dev/dvd|...
chapter=${6} # title=${6} #
angle=${7} # chapter=${7} #
alang=${8} # en|fr|... angle=${8} #
slang=${9} # -|en|fr|...|0|1|... (lang or id) alang=${9} # -|en|fr|...|0|1|... (lang or id)
slang=${10} # -|en|fr|...|0|1|... (lang or id)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
audio=${10} # 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) 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=${11} # abr=${12} # xxx (audio bit rate)
asrate=${12} # -|xxx (resample audio) asrate=${13} # -|xxx (resample audio)
stereo=${13} # y|n stereo=${14} # y|n
volume=${15} # -|a/xx|yy (-: no volume change | a: auto normalize at -xx db | add yy db)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
sub=${14} # -|f|o (-: no subtitles | f: file subtitles | o: OSD subtitles) sub=${16} # -|f|o (-: no subtitles | f: file subtitles | o: OSD subtitles)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
video=${15} # 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) 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=${16} # -|lavc|xvid vcodec=${18} # -|lavc|xvid|x264
vquality=${17} # 0|1|2|3 (0: realtime | 1: fast | 2: High quality | 3: very high quality) vquality=${19} # 0|1|2|3 (0: realtime | 1: fast | 2: high quality | 3: very high quality)
vbr=${18} # vbr=${20} # xxx (video bit rate)
crop=${19} # -|width:height:x:y crop=${21} # -|width:height:x:y
xsize=${20} # -|... xsize=${22} # -|...
aspect=${21} # -|4/3|16/9|... aspect=${23} # -|4/3|16/9|...
deint=${22} # y|n deint=${24} # y|n
threads=${23} # -|1.. threads=${25} # -|1..
vopts=${26} # -|... # other vcodec options
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
@ -77,10 +79,10 @@ tmp_name=../$divx_root-$divx_title.vob
out_name=../$divx_root-$divx_title out_name=../$divx_root-$divx_title
echo "DivX: [$divx_name] title: ($title)" echo "DivX: [$divx_name] title: ($title)"
echo "Input: [$input] device: [$dvd_device] title: ($title) chapter: ($chapter) angle: ($angle) alang: ($alang) slang: ($slang)" 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)" echo "Audio: [$audio] abr: ($abr) asrate: ($asrate) stereo: ($stereo) volume: (${volume})"
echo "Sub: [$sub]" echo "Sub: [$sub]"
echo "Video: [$video] vcodec: [$vcodec] vquality: [$vquality] vbr: ($vbr) crop: ($crop) xsize: ($xsize) aspect: ($aspect) deint: ($deint) threards: ($threads)" echo "Video: [$video] vcodec: [$vcodec] vquality: [$vquality] vbr: ($vbr) crop: ($crop) xsize: ($xsize) aspect: ($aspect) deint: ($deint) threards: ($threads) vopts: [${vopts}]"
@ -90,6 +92,16 @@ echo "Video: [$video] vcodec: [$vcodec] vquality: [$vquality] vbr: ($vbr)
shopt -s extglob 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" != "-" ] if [ "$dvd_device" != "-" ]
then then
device_opt="-dvd-device $dvd_device" device_opt="-dvd-device $dvd_device"
@ -120,7 +132,20 @@ else
fi fi
fi fi
read_dvd_opt="$device_opt dvd://$title -chapter $chapter -dvdangle $angle -alang $alang $slang_opt" 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" read_buf_opt="$tmp_name"
case "$input" case "$input"
@ -145,6 +170,8 @@ esac
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
# Audio Setup # Audio Setup
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
@ -153,7 +180,7 @@ if [ "$asrate" == "-" ]
then then
aresample="" aresample=""
else else
aresample="-srate $asrate -af lavcresample=$asrate" aresample="-srate $asrate -af-add lavcresample=$asrate"
fi fi
if [ "$stereo" == "y" ] if [ "$stereo" == "y" ]
@ -163,31 +190,6 @@ else
stereo_mode=3 stereo_mode=3
fi fi
audio_comp_opt="-oac mp3lame -lameopts cbr:br=$abr:aq=0:mode=$stereo_mode $aresample"
audio_copy_opt="-oac copy"
if [ "$audio" != "n" ]
then
if [ "$video" == "1" ]
then
audio_opt1="$audio_comp_opt"
else
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
fi
else
audio_opt1="$audio_copy_opt"
audio_opt2="$audio_copy_opt"
fi
@ -213,6 +215,19 @@ video_xvid_body_1="turbo:vhq=0"
video_xvid_body_2="vhq=2:bvhq=1:chroma_opt:quant_type=mpeg" 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_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" ] if [ "$video" != "n" ]
@ -250,11 +265,19 @@ fi
if [ "$aspect" == "-" ] if [ "$aspect" == "-" ]
then then
video_opt1=$video_opt1":autoaspect" if [ "$vcodec" != "x264" ]
video_opt2=$video_opt2":autoaspect" then
video_opt1=$video_opt1":autoaspect"
video_opt2=$video_opt2":autoaspect"
fi
else else
video_opt1=$video_opt1":aspect=$aspect" glob_opt="-force-avi-aspect ${aspect}"
video_opt2=$video_opt2":aspect=$aspect"
if [ "$vcodec" != "x264" ]
then
video_opt1=$video_opt1":aspect=$aspect"
video_opt2=$video_opt2":aspect=$aspect"
fi
fi fi
if [ "$threads" != "-" ] if [ "$threads" != "-" ]
@ -263,6 +286,12 @@ then
video_opt2=$video_opt2":threads=$threads" video_opt2=$video_opt2":threads=$threads"
fi fi
if [ "${vopts}" != "-" ]
then
video_opt1=$video_opt1":${vopts}"
video_opt2=$video_opt2":${vopts}"
fi
@ -284,6 +313,8 @@ echo "Cleanup..."
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
# Bufferizing # Bufferizing
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
@ -291,7 +322,7 @@ echo "Cleanup..."
if [ "$input" != "d" ] && [ "$input" != "b" ] if [ "$input" != "d" ] && [ "$input" != "b" ]
then then
echo "Bufferizing..." echo "Bufferizing..."
mencoder $read_opt1 -oac copy -ovc copy -o $tmp_name >$out_name.1.log 2>&1 mencoder $read_opt1 $audio_buf_opt $video_buf_opt -o $tmp_name >$out_name.1.log 2>&1
if [ "$input" == "dbo" ] if [ "$input" == "dbo" ]
then then
@ -304,7 +335,68 @@ fi
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
# Video Compression # 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" ] if [ "$video" != "n" ]
@ -312,12 +404,18 @@ then
if [ "$video" == "1" ] if [ "$video" == "1" ]
then then
echo "Compressing DivX..." echo "Compressing DivX..."
mencoder $read_opt2 $audio_opt1 $video_opt1 $vf_opt -o $divx_name >$out_name.3.log 2>&1 mencoder $read_opt2 $audio_opt1 $video_opt1 $vf_opt $glob_opt -o $divx_name >$out_name.3.log 2>&1
else else
echo "Compressing DivX pass 1..." echo "Compressing DivX pass 1..."
mencoder $read_opt2 $audio_opt1 $video_opt1 $vf_opt -o /dev/null >$out_name.3.log 2>&1 mencoder $read_opt2 $audio_opt1 $video_opt1 -o /dev/null >$out_name.3.log 2>&1
echo "Compressing DivX pass 2..." echo "Compressing DivX pass 2..."
mencoder $read_opt2 $audio_opt2 $video_opt2 $vf_opt -o $divx_name >$out_name.4.log 2>&1 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
fi fi