#!/bin/bash # # $1 dvd device # $2 output file (avi) # $3 bitrate # $4 chapter # autodetect cropping mplayer -ao null -dvd-device $1 -vf cropdetect,spp,scale -frames 120 dvd://$4 > cropdetect CROP=`tail -n 10 cropdetect | head -n 1 | awk -F"=" '{print $2}' | awk -F")" '{print $1}' | awk -F":" '{print $1-$1%16 ":" $2-$2%16 ":" $3+($1%16-$1%4)/2 ":" $4+($2%16-$2%4)/2 }'` echo $CROP rm -f cropdetect # first pass touch first-pass mencoder -dvd-device $1 dvd://$4 -aid 128 -vf pullup,softskip,crop=$CROP,hqdn3d=2:1:2,harddup -ofps 24000/1001 -oac copy -ovc x264 -x264encopts bitrate=$3:pa ss=1:subq=1:bframes=3:frameref=1:turbo=1 -o $2.avi -passlogfile $2.divx.log rm first-pass # second pass #echo touch second-pass #echo mencoder -dvd-device $1 dvd://$4 -aid 128 -vf pullup,softskip,crop=$CROP,hqdn3d=2:1:2,harddup -ofps 24000/1001 -oac copy -ovc x264 -x264encopts bitrate =$3:pass=3:subq=6:4x4mv:me=3:frameref=5:bframes=3:b_pyramid:weight_b -o $2.avi -passlogfile $2.divx.log #echo rm second-pass #third pass touch third-pass mencoder -dvd-device $1 dvd://$4 -aid 128 -vf pullup,softskip,crop=$CROP,hqdn3d=2:1:2,harddup -ofps 24000/1001 -oac copy -ovc x264 -x264encopts bitrate=$3:pa ss=3:subq=6:4x4mv:me=3:frameref=5:bframes=3:b_pyramid:weight_b -o $2.avi -passlogfile $2.divx.log rm third-pass # get video mencoder $2.avi -ovc copy -oac copy -of rawvideo -o $2.264 #mencoder $2.avi -ovc copy -nosound -of rawvideo -o $2.264 # get audio into FAAC mkfifo audiodump.pcm #faac -q 100 -P -R 48000 -C 2 -X audiodump.pcm -o $2-a.mp4 & mplayer $2.avi -vc dummy -vo null -ao pcm:nowaveheader -channels 2 > /dev/null # stereo faac -q 100 -I 5,6 -P -R 48000 -C 6 -X audiodump.pcm -o $2-a.mp4 & mplayer $2.avi -vc dummy -vo null -ao pcm:nowaveheader -channels 6 > /dev/null # 5 channel rm audiodump.pcm # AC3 mencoder $2.avi -of rawaudio -ovc copy -oac copy -o $2.ac3 # OGG #echo oggenc -q 10 $2.ac3 # MUX Into Containers MP4Box -fps 23.97602398 -add $2.264 $2-v.mp4 mkvmerge -o $2.mkv $2-v.mp4 $2.ac3 #echo mkvmerge -o $2.mkv -2-v.mp4 $2.ogg cp $2-v.mp4 $2.mp4 MP4Box -add $2-a.mp4 $2.mp4