DVD Encoding
From SmlugWiki
DVD Encoding in Linux (for backup / archival purposes)
TODO: Explain the shell script below
#!/bin/bash
if [ "$#" -lt 1 ];
then
NAME=`lsdvd|grep "Disc Title"|cut -f 3 -d " "`
#OPTS="-oac lavc -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1000:abitrate=192"
OPTS="-oac copy -ovc lavc -lavcopts vcodec=mpeg4:v4mv:mbd=2:vbitrate=1400"
TRACK=`lsdvd|grep "Longest"|cut -f 3 -d " "`
AID=`mencoder -v dvd://$TRACK -o /dev/null $OPTS -chapter 3 -endpos 0 2>&1 |grep 'aid'|grep ' en '|grep 'ac3'|grep "5.1"|cut -f 12 -d " "`
CROP=`mencoder -v dvd://$TRACK -o /dev/null $OPTS -chapter 3 -endpos 1 -vf cropdetect 2>&1 |grep "\-vf crop="|cut -f 2 -d "="|cut -f 1 -d ")"|uniq`
TESTOPTS="dvd://$TRACK -o $NAME-Test.avi $OPTS -aid $AID -vf crop=$CROP -chapter 3 -endpos 60"
RUNOPTS="dvd://$TRACK -o $NAME.avi $OPTS -aid $AID -vf crop=$CROP"
echo "----------------------------------------------------------------------------------------"
echo "** Best Guesses **"
echo "----------------------------------------------------------------------------------------"
echo "Movie Title: $NAME"
echo "Title Track: $TRACK"
echo "AID: $AID"
echo "CROP: $CROP"
echo "----------------------------------------------------------------------------------------"
echo ""
echo "Command for Test: "
echo ""
echo "mencoder dvd://$TRACK -o $NAME-Test.avi $OPTS -aid $AID -vf crop=$CROP -chapter 3 -endpos 60"
echo ""
echo "Command for Run:"
echo ""
echo "mencoder dvd://$TRACK -o $NAME.avi $OPTS -aid $AID -vf crop=$CROP"
echo "----------------------------------------------------------------------------------------"
echo "Enter T to do test run, R to do full encode or Control-C to quit"
echo ""
read
if [ "$REPLY" = "T" ];
then
mencoder $TESTOPTS
elif [ "$REPLY" = "R" ];
then
mencoder $RUNOPTS
else
exit
fi
fi
exit
if [ "$#" -lt 2 ];
then
echo "Usage:"
echo " dvdencode.sh <Title> <Name> [Extra Options to mplayer]"
echo "You must include Title Track Number and Name"
exit
else
TRACK=$1
NAME=$2
shift
shift
REST=$*
echo "** Preparing to Encode DVD **"
echo "** For Best Picture and performance you can determine which Title to"
echo "** Encode by typing the following command:"
echo "** "
echo "lsdvd"
echo "**"
echo "** You can also determine which Audio Track to use by typing"
echo "**"
echo "mplayer -v dvd://1 |grep aid"
echo "**"
echo "** To Determine the picture size to crop to, type"
echo "**"
echo "mplayer dvd://1 -chapter 3 -endpos 5 -vf cropdetect |grep crop"
echo "**"
echo "** then use the -vf crop= from that output on the command line"
echo "**"
echo "** Command line used is:"
echo "**"
CMD="mencoder dvd://$TRACK -o $NAME.avi -oac lavc -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1000:abitrate=192 $REST"
echo "$CMD"
echo "**"
read -p "** Press <Enter> to Continue or Control-C to stop" RESULT
mencoder dvd://$TRACK -o $NAME.avi -oac lavc -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1000:abitrate=192 $REST
#mencoder -v dvd://`lsdvd|grep "Longest"|cut -f 3 -d " "` -o $NAME .avi -oac lavc -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1000:abitrate=192 $REST -chapter 3 -endpos 3
fi

