Hallo,
ich wandle eine DVD mit mplayer und mencoder in eine avi-Datei um. Bei den avi-Dateien ist die Sprache und das Bild nicht perfekt synkronisiert: der Ton ist stets ein wenig verspätet. Gibt es ein idiotensicheres Verfahren, dies zu beheben/umgehen? Sind andere Formate dafür besser geeignet (z.B. SVCD statt avi)? Besteht das gleiche Problem bei DVDrip/Transcode oder gibt es dort andere Probleme?
Hier meine Methode:
Bemerkung:
* kein Interlace
Kann die Gemeinsame Extraktion der Untertitel und der Audiospur den Fehler verursachen?
Ich hoffe Ihr könnt mir helfen.
Gruß
xxxsemoi
EDIT
* Die Option -ni -mc 0 beim Abspielen der avi-Datei hilft, jedoch würde ich gerne ein von alleine funktionierende avi-Datei erstellen.
* Wenn ich die Bitrate der Audiodatei nicht variabel sondern fest wähle ist das Ergebnis zufriedenstellend.
Also -lameopts vbr=3 durch -lameopts abr:br=128 ersetzen.
EDIT
Trotz dieser Einstellungen gab es bei mir erneut Probleme. Ich habe deshalb beim Abspielen die Asynchronisation per Hand behoben:
Den Film mit
mplayer FILMNAME.avi -nobps
starten. Anschließend mit "+" bzw. "-" Ton und Bild synchronisieren. Die Option "-framedrop" hilft nur, falls die A/V-Asynchronisation durch einen zu langsamen Computer verursacht wird.
ich wandle eine DVD mit mplayer und mencoder in eine avi-Datei um. Bei den avi-Dateien ist die Sprache und das Bild nicht perfekt synkronisiert: der Ton ist stets ein wenig verspätet. Gibt es ein idiotensicheres Verfahren, dies zu beheben/umgehen? Sind andere Formate dafür besser geeignet (z.B. SVCD statt avi)? Besteht das gleiche Problem bei DVDrip/Transcode oder gibt es dort andere Probleme?
Hier meine Methode:
Code:
## meine Substitutionen
DVDDEVICE="dvd://1" # wo mplayer die DVD findet
FILM="$FILMNAME.vob" # Name der .vob-Datei
MPLAYER=`which mplayer`
MENCODER=`which mencoder`
CROP="-vf crop=720:544:0:18" # schwarze Ränder wegwerfen
BREITE="720" # einfach erste Zahl von CROP-Eintrag
BITRATE="676" # wird bei Extraktion des Tones bestimmt
AID="-aid $AIDZAHL" # Sprachauswahl
SID="-sid $SIDZAHL" # Untertitel
SID_DATEI="-vobsubout Untertitel-en -vobsuboutindex 0 -vobsuboutid en"
## kopiere DVD auf Festplatte:
$MPLAYER -dumpstream -dumpfile $FILM $DVDDEVICE
## Extraktion des Tones (Audio) und Bestimmung der Bitrate, sowie
# Extraktion der Untertitel in eine externe Datei
$MENCODER $FILM $AID $CROP $SID $SID_DATEI -af volnorm -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi
## Jetzt wird der Film encodiert (in zwei Schritten, für bessere Qualität):
# erster Durchlauf:
$MENCODER $FILM $AID $CROP,scale -zoom -xy $BREITE -oac copy -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=$BITRATE:mbd=2:v4mv:vpass=1 -o /dev/null
# zweiter Durchlauf:
$MENCODER $FILM $AID $CROP,scale -zoom -xy $BREITE -oac copy -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=$BITRATE:mbd=2:v4mv:vpass=2 -o $FILMNAME.avi
* kein Interlace
Kann die Gemeinsame Extraktion der Untertitel und der Audiospur den Fehler verursachen?
Ich hoffe Ihr könnt mir helfen.
Gruß
xxxsemoi
EDIT
* Die Option -ni -mc 0 beim Abspielen der avi-Datei hilft, jedoch würde ich gerne ein von alleine funktionierende avi-Datei erstellen.
* Wenn ich die Bitrate der Audiodatei nicht variabel sondern fest wähle ist das Ergebnis zufriedenstellend.
Also -lameopts vbr=3 durch -lameopts abr:br=128 ersetzen.
EDIT
Trotz dieser Einstellungen gab es bei mir erneut Probleme. Ich habe deshalb beim Abspielen die Asynchronisation per Hand behoben:
Den Film mit
mplayer FILMNAME.avi -nobps
starten. Anschließend mit "+" bzw. "-" Ton und Bild synchronisieren. Die Option "-framedrop" hilft nur, falls die A/V-Asynchronisation durch einen zu langsamen Computer verursacht wird.