Compare commits
4 Commits
dvd2divx-1
...
dvd2divx-3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56bb6c5d46 | ||
|
|
108bfe811f | ||
|
|
d8bbe0f655 | ||
|
|
979b380f63 |
@@ -1,13 +1,50 @@
|
|||||||
# $RCSfile: ReleaseNotes.txt,v $
|
# $RCSfile: ReleaseNotes.txt,v $
|
||||||
# $Revision: 1.1 $
|
# $Revision: 1.5 $
|
||||||
# $Name: $
|
# $Name: $
|
||||||
# $Date: 2004/06/05 13:29:40 $
|
# $Date: 2008/10/07 10:11:04 $
|
||||||
# $Author: agibert $
|
# $Author: agibert $
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
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
|
dvd2divx V 1.0.0-1 - A. Gibert - 2004/06/05
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1,7 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# dvd_device divx_root divx_title dvd_title chapter angle alang slang vbr abr xsize aspect buffer stereo
|
# 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 - barry_lyndon 1 1 1-24 1 fr - - - - - o -
|
# Mono Instance
|
||||||
dvd2divx - barry_lyndon 2 1 25- 1 fr - - - - - o -
|
#dvd2divx - barry_lyndon 1 1 1-24 1 fr - - - - - - - - - o - - -
|
||||||
dvd2divx - barry_lyndon 1 - - - - - 920 128 480 4/3 n y
|
#dvd2divx - barry_lyndon 2 1 25- 1 fr - - - - - - - - - o - - -
|
||||||
dvd2divx - barry_lyndon 2 - - - - - 920 128 480 4/3 n y
|
#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
|
||||||
|
|||||||
34
cobra_example
Executable file
34
cobra_example
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/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
|
||||||
162
dvd2divx
162
dvd2divx
@@ -2,12 +2,12 @@
|
|||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
# DVD2DivX
|
# DVD2DivX
|
||||||
#
|
#
|
||||||
# (C) 2004 Arnaud G. Gibert
|
# (C) 2004-2008 Arnaud G. Gibert
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
# $RCSfile: dvd2divx,v $
|
# $RCSfile: dvd2divx,v $
|
||||||
# $Revision: 1.1 $
|
# $Revision: 1.5 $
|
||||||
# $Name: $
|
# $Name: $
|
||||||
# $Date: 2004/06/05 13:29:40 $
|
# $Date: 2008/10/07 10:11:04 $
|
||||||
# $Author: agibert $
|
# $Author: agibert $
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -29,6 +29,19 @@
|
|||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Usage exemple
|
||||||
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
# #!/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
|
||||||
|
# #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# # Read only
|
||||||
|
# dvd2divx /dev/cdrom1 cobra 1 10 1- 1 fr - - - - - - - - - o - - -
|
||||||
|
#
|
||||||
|
# # Don't read, compress only
|
||||||
|
# dvd2divx - cobra 1 - - - - - xvid 1000 128 480 4/3 n - y s y 2 4
|
||||||
|
#
|
||||||
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
dvd_device=$1 # -|/dev/dvd|...
|
dvd_device=$1 # -|/dev/dvd|...
|
||||||
@@ -39,25 +52,31 @@ chapter=$5
|
|||||||
angle=$6
|
angle=$6
|
||||||
alang=$7 # en|fr|...
|
alang=$7 # en|fr|...
|
||||||
slang=$8 # -|en|fr|...
|
slang=$8 # -|en|fr|...
|
||||||
vbr=$9
|
vcodec=$9 # -|lavc|xvid
|
||||||
abr=${10}
|
vbr=${10}
|
||||||
xsize=${11}
|
abr=${11}
|
||||||
aspect=${12} # 4/3|16/9|...
|
xsize=${12} # -|...
|
||||||
bufferize=${13} # o|y|n|d (only|yes|no|direct)
|
aspect=${13} # -|4/3|16/9|...
|
||||||
stereo=${14} # y|n
|
stereo=${14} # y|n
|
||||||
|
asrate=${15} # -|xxx (resample audio)
|
||||||
|
deint=${16} # y|n
|
||||||
|
bufferize=${17} # o|y|n|s (only: bufferize and stop | yes: bufferize an continue | no: read directly from disk | skip: bufferize previously done)
|
||||||
|
apass=${18} # o|y|n|s (only: compress and stop | yes: compress and continue | no: compress mp3 whith video | skip: mp3 previously compressed)
|
||||||
|
vpass=${19} # 1|2
|
||||||
|
threads=${20} # -|1..
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
divx_name=$divx_root-$divx_title.avi
|
tmpdir_name=$divx_root-$divx_title.tmp
|
||||||
tmp_name=$divx_root-$divx_title.vob
|
divx_name=../$divx_root-$divx_title.avi
|
||||||
out_name=$divx_root-$divx_title
|
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 "device: [$dvd_device] DivX: [$divx_name] title: ($title) chapter: ($chapter) angle: ($angle) alang: ($alang) slang: ($slang)"
|
||||||
|
echo "vcodec: [$vcodec] vbr: ($vbr) abr: ($abr) xsize: ($xsize) aspect: ($aspect) stereo: ($stereo) asrate: ($asrate) deint: ($deint)"
|
||||||
|
echo "bufferize: ($bufferize) apass: ($apass) vpass: ($vpass) threards: ($threads)"
|
||||||
|
|
||||||
|
|
||||||
if [ "$dvd_device" != "-" ]
|
if [ "$dvd_device" != "-" ]
|
||||||
@@ -79,21 +98,80 @@ else
|
|||||||
stereo_mode=3
|
stereo_mode=3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$asrate" == "-" ]
|
||||||
|
then
|
||||||
|
aresample=""
|
||||||
|
else
|
||||||
|
aresample="-srate $asrate -af lavcresample=$asrate"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$deint" == "y" ]
|
||||||
|
then
|
||||||
|
vf_opt="-vf-add lavcdeint"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$xsize" != "-" ]
|
||||||
|
then
|
||||||
|
vf_opt="$vf_opt -vf-add scale -zoom -xy $xsize"
|
||||||
|
fi
|
||||||
|
|
||||||
read_opt="$device_opt dvd://$title -chapter $chapter -dvdangle $angle -alang $alang $slang_opt"
|
read_opt="$device_opt dvd://$title -chapter $chapter -dvdangle $angle -alang $alang $slang_opt"
|
||||||
|
audio_opt="-oac mp3lame -lameopts cbr:br=$abr:aq=0:mode=$stereo_mode $aresample"
|
||||||
|
|
||||||
|
if [ "$vcodec" == "lavc" ]
|
||||||
|
then
|
||||||
|
video_opt="-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$vbr:vhq:v4mv"
|
||||||
|
video_opt1="-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=$vbr:vhq:v4mv"
|
||||||
|
video_opt2="-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=$vbr:vhq:v4mv"
|
||||||
|
else
|
||||||
|
if [ "$vcodec" == "xvid" ]
|
||||||
|
then
|
||||||
|
video_opt="-ovc xvid -xvidencopts bitrate=$vbr:chroma_me:chroma_opt:hq_ac:vhq=4"
|
||||||
|
video_opt1="-ovc xvid -xvidencopts pass=1:bitrate=$vbr:chroma_me:chroma_opt:hq_ac:vhq=4"
|
||||||
|
video_opt2="-ovc xvid -xvidencopts pass=2:bitrate=$vbr:chroma_me:chroma_opt:hq_ac:vhq=4"
|
||||||
|
else
|
||||||
|
if [ "$vcodec" != "-" ]
|
||||||
|
then
|
||||||
|
echo "invalid video codec: [$vcodec]"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$aspect" == "-" ]
|
||||||
|
then
|
||||||
|
video_opt=$video_opt":autoaspect"
|
||||||
|
video_opt1=$video_opt1":autoaspect"
|
||||||
|
video_opt2=$video_opt2":autoaspect"
|
||||||
|
else
|
||||||
|
video_opt=$video_opt":aspect=$aspect"
|
||||||
|
video_opt1=$video_opt1":aspect=$aspect"
|
||||||
|
video_opt2=$video_opt2":aspect=$aspect"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$threads" != "-" ]
|
||||||
|
then
|
||||||
|
video_opt=$video_opt":threads=$threads"
|
||||||
|
video_opt1=$video_opt1":threads=$threads"
|
||||||
|
video_opt2=$video_opt2":threads=$threads"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
echo "Cleanup..."
|
mkdir $tmpdir_name
|
||||||
\rm frameno.avi
|
cd $tmpdir_name
|
||||||
\rm divx2pass.log
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
if [ "$bufferize" != "d" ]
|
if [ "$bufferize" != "n" ]
|
||||||
then
|
then
|
||||||
if [ "$bufferize" == "y" ] || [ "$bufferize" == "o" ]
|
if [ "$bufferize" == "y" ] || [ "$bufferize" == "o" ]
|
||||||
then
|
then
|
||||||
@@ -113,27 +191,45 @@ fi
|
|||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
echo "Compressing MP3..."
|
if [ "$apass" != "n" ]
|
||||||
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
|
then
|
||||||
|
if [ "$apass" == "y" ] || [ "$apass" == "o" ]
|
||||||
|
then
|
||||||
|
echo "Cleanup..."
|
||||||
|
\rm frameno.avi
|
||||||
|
|
||||||
|
echo "Compressing MP3..."
|
||||||
|
mencoder $read_opt $audio_opt -ovc frameno $vf_opt -o frameno.avi >$out_name.2.log 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$apass" == "o" ]
|
||||||
|
then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
audio_opt="-oac copy"
|
||||||
|
fi
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
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..."
|
echo "Cleanup..."
|
||||||
\rm frameno.avi
|
|
||||||
\rm divx2pass.log
|
\rm divx2pass.log
|
||||||
|
\rm xvid-twopass.stats
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if [ "$vpass" == "1" ]
|
||||||
|
then
|
||||||
|
echo "Compressing DivX..."
|
||||||
|
mencoder $read_opt $audio_opt $video_opt $vf_opt -o $divx_name >$out_name.3.log 2>&1
|
||||||
|
else
|
||||||
|
echo "Compressing DivX pass 1..."
|
||||||
|
mencoder $read_opt $audio_opt $video_opt1 $vf_opt -o $divx_name >$out_name.3.log 2>&1
|
||||||
|
|
||||||
|
echo "Compressing DivX pass 2..."
|
||||||
|
mencoder $read_opt $audio_opt $video_opt2 $vf_opt -o $divx_name >$out_name.4.log 2>&1
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user