• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Tip] DVDs als divx4/ac3 Avi auf Festplatte

taki

Advanced Hacker
Hier ist ein simpler Weg, legal erworbenen DVDs auf die Festplatte zu rippen, als Sicherheitskopie, oder noch besser um sie sich unterwegs auf einem ebenso legal erworbenen PMA (z.B. Archos AV420 :wink: ) anzuschauen. Eine weitere nette Anwendungsmöglichkeit: Diese Videos passen auch gut in die Videosammlung von Kalva, da sie annähernd das gleiche Format haben wie von Kalva erzeugte Videos. Auf Extras wie Szenenmenü muss man aber dabei verzichten.

Ein wichtiger Satz noch: Ich rate dringend davor ab, damit DVDs zu rippen, die einem nicht gehören, oder die gerippten Videos weiterzugeben oder auch nur fahrlässiger Weise andern zugänglich zu machen!!!.

Bis auf ac3 anstelle von mp3 ist das Format übrigens genau das selbe, was Kalva bei Aufnahmen erzeugt. Warum ac3 und nicht mp3? Ich habe beides ausprobiert und festgestellt, dass die Dateien mit mp3 etwa fünf mal größer wurden.

#!/bin/bash
TITEL="$*";
if [ "$TITEL" == "" ]
then
TITEL="DVD";
fi

### -oac mp3lame -lameopts abr:br=128:mode=0 \
### -oac copy \
mencoder dvd:// \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000:vratetol=8000:aspect=1.31048 \
-oac copy \
-ffourcc DIVX \
-o "/home/documents/Video/$TITEL.avi"
 
OP
taki

taki

Advanced Hacker
Ein durchschnittlich langer Film hat da ca. 1,6 G. Das ganze ist nicht zum Erstellen von VCDs gedacht.
 
Wie hab ich das immer gemacht von DVD nach DivX
Ja, ich hatte da doch mal ein Shellscript. ( Stammt aber nicht von mir )

Falls es jemanden interessieren sollte:

# !/bin/bash
# Specify your cdburner settings:
CDR_DEVICE=/dev/scd1
CDR_SPEED=4
CDR_ID=0,1,0

dialog --backtitle "MencTool 0.2" --menu "How many cd's (700 Mb) would you use?" 9 51 2 1 "one cd (recommended)" 2 "two cd's (if movie is longer than 150 min)" 2>/tmp/f;

SPACE=`cat /tmp/f`

# Creates the summary file
echo "Cd number: `echo $SPACE`" > /tmp/summary;

# Avi final size
SPACE=`expr $SPACE \* 690 \* 8192`

dialog --backtitle "MencTool 0.2" --inputbox "Which track would you encode?" 9 30 1 2>/tmp/f;

TRACK=`cat /tmp/f`

dialog --backtitle "MencTool 0.2" --inputbox "Insert total movie time (minutes):" 9 30 2>/tmp/f;

TIME=`cat /tmp/f`

# Conversion from minutes to seconds
TIME=`expr $TIME \* 60`

dialog --backtitle "MencTool 0.2" --menu "Select audio bitrate:" 11 30 4 64 "Kbit/s" 96 "Kbit/s" 112 "Kbit/s" 128 "Kbit/s" 2>/tmp/f;

A_BITRATE=`cat /tmp/f`

# Finds audio track size
AUDIO=`expr $A_BITRATE \* $TIME`

# Finds video bitrate
BITRATE=`expr $SPACE - $AUDIO`
BITRATE=`expr $BITRATE / $TIME`

# If video bitrate is major than 6000 sets it to 6000 Kbit/s
if [ $BITRATE -gt 6000 ]
then BITRATE=6000
fi

dialog --backtitle "MencTool 0.2" --menu "Select audio language:" 12 30 5 "en" english "it" italian "fr" french "de" german "hu" hungarian 2>/tmp/f

LANGUAGE=`cat /tmp/f`

dialog --backtitle "MencTool 0.2" --menu "Select resolution:" 14 30 7 720:576 "(original)" 640:480 "" 640:360 "" 480:360 "" 480:270 "" 360:270 "" 360:202 "" 2>/tmp/f;

RESOLUTION=`cat /tmp/f`

dialog --backtitle "MencTool 0.2" --inputbox "Insert .avi file name:" 9 30 .avi 2>/tmp/f;

FILENAME=`cat /tmp/f;`

dialog --backtitle "MencTool 0.2" --yesno "Would you burn the movie, after ripping?" 9 30

BURN=$?

if [ $BURN -eq 0 ]
then eject $CDR_DEVICE;
dialog --backtitle "MencTool 0.2" --msgbox "Insert a 700 Mb Cd-R..." 9 30;
fi

dialog --backtitle "MencTool 0.2" --yesno "Would you shutdown the system, finally?" 8 30

# Variabile verified at the end of script for shutdown
HALT=$?

# Appends rip settings to summary file
echo "Selected track: `echo $TRACK`" >> /tmp/summary;
echo "Video bitrate : `echo $BITRATE` Kbit/s" >> /tmp/summary;
echo "Resolution: `echo $RESOLUTION` pixel" >> /tmp/summary;
echo "Audio bitrate : `echo $A_BITRATE` Kbit/s" >> /tmp/summary;
echo "Language: `echo $LANGUAGE`" >> /tmp/summary;

dialog --backtitle "MencTool 0.2" --textbox /tmp/summary 11 30
rm -f /tmp/summary;

clear;

# Start time log
date > time.txt;

rm -f frameno.avi lavc_stats.txt;

# Detects crop value to cut black bands
mencoder -dvd $TRACK -chapter 2 -endpos 5 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$BITRATE:keyint=50:vhq -vop cropdetect,scale=$RESOLUTION -sws 2 -oac copy -o temp.avi | grep vop | tail -n 1 | cut -d "=" -f 2 | tr -d ')' > /tmp/f;

CROP=`cat /tmp/f; rm -f /tmp/f`

# Save on disc selected track. If you don't have enough disk space
# comment this line and edit the three passes removing 'cat TEMP.VOB |'
# and using 'mencoder -dvd $TRACK ...'; remember to also remove the '-'.
mencoder -dvd $TRACK -ovc copy -oac copy -alang $LANGUAGE -o TEMP.VOB;

# First pass: audio compression
cat TEMP.VOB | mencoder - -ovc frameno -alang $LANGUAGE -oac mp3lame -lameopts br=$A_BITRATE:cbr:vol=3 -o frameno.avi;

# Second pass: video compression first pass
cat TEMP.VOB | mencoder - -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$BITRATE:keyint=50:vhq:vpass=1 -vop crop=$CROP,scale=$RESOLUTION -sws 2 -oac copy -o /dev/null;

# Third pass: video compression second pass while adding compressed audio
cat TEMP.VOB | mencoder - -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$BITRATE:keyint=50:vhq:vpass=2 -vop crop=$CROP,scale=$RESOLUTION -sws 2 -oac copy -o $FILENAME;
rm -f frameno.avi TEMP.VOB;

# End time log
date >> time.txt

# Burns the movie
if [ $BURN -eq 0 ]
then mkisofs -J -l -V "$FILENAME" $FILENAME | cdrecord -v dev=$CDR_ID speed=$CDR_SPEED -data -
fi

# Shutdowns the computer using sudo (for non privileged users)
if [ $HALT -eq 0 ]
then sudo halt
fi
 
Oben