Videoencoding - Audio/Video Delay: Probleme und Loesungen
Beim Encodieren von Videos ist meist das groesste Problem, dass die Audiospur nicht zum Bild passt. Entweder:
1. ist die Audiospur von Anfang verschoben (das gute alte "A/V-delay")
2. oder die Audiospur wird im immer verschobener (manchmal ein NTSC=>PAL problem)
Der erste Teil kommt sehr haeufig beim DVD-
code = Get_Byte();
AudioPTS = (code & 0x0e) << 29;
AudioPTS |= (Get_Short() & 0xfffe) << 14;
AudioPTS |= (Get_Short()>>1) & 0x7fff;
fuers Audio; Und aehnliches auch fuers Video. Danach wird mit:
(AudioPTS-VideoPTS)/90
die Differenz der beiden gebildet und durch die 90Hz der PTS timestamp
units geteilt. Und fertig ist das Offset des Audios in ms. Diese
Differenz muss man nun nach dem encodieren vom Video und vom Audio beim
zusammen-muxxen angeben. Fertig.
Beim 2. Fall ist es leider nicht so leicht im Vorfeld sowas zu erkennen (ausser
man hat tatsaechlich eine amerikanische NTSC DVD und will diese in ein
PAL-Video encodieren; Fuer diesen Fall bieten aber sogut wie alle
GUI-DVD-ripper eine "NTSC=>PAL"-checkbox).
Da es
eigentlich immer aergerlich ist, wenn man nach n Stunden encoding
Fehler entdeckt, ist es sehr ratsam vorher ein Sample zu erstellen.
Wenn man das auf 1min begrenzt, kann man sogar sehr leicht die zu
erreichende Dateigroesse abschaetzen. Ausserdem sieht man, ob die
encodier-optionen den gewuenschten Effekt erzielen. Eine
A/V-verschieben (1.Fall) kann man dabei auch erkennen. Aber den 2.Fall
hoert man mit dem blossen Auge meisst nicht (1% Abweichung sind bei 1min Spielzeit ca. eine halbe Sekunde - Bei 90min Spielzeit ca. 1Minute)!
Dafuer kann man aber ein Programm (wie von mir schon oefters Erwaehnt) wie Avidemux nutzten. Einfach das Sample laden und dann auf den "Eigenschaften"-Button (rot umkreist) klicken:
Zu
sehen bekommt man jetzt verschiedene Information - darunter auch die
Laenge der Videospur und die der Audio. Aus dem Quotienten der
Videospur zur Differenz der beiden Spuren kann man ueber einfachsten
Dreisatz die Laenge der Audiospur bei einer laengeren Videospur
abschaetzen und somit auch sehen wie gross die Verzoegerung seien wird.
Wenn
man keine Lust auf neu-encodieren hat: Denn nehme man ein Audioeditor
seiner Wahl (z.B.: BeSweep ) und passt eben die Laenge der Audiospur
die der Videospur an. Danach wieder muxen. Fertig.
Und das naechste Mal erklaere Ich, was ein Video/Subs - Delay ist und wie man sowas behebt B-)
Kommentare
Noch keine Kommentare