Audio synchronisieren bei gegrabbtem VHS-Video

Oft laufen im gegrabbten Video Ton und Bild auseinander.
Hier wird erklärt, wie du die Audio-Spur reparierst.

Warum Audio und Video auseinanderlaufen können
Den genauen Laufzeitversatz zwischen Video und Audio feststellen
Wie du Audio und Video synchronisierst
Synchronisationsfehler in Videos mit MP3-Ton

Warum Audio und Video auseinanderlaufen können

Symptom

Beim Abspielen laufen Ton und Bild auseinander. Meist wird der Versatz nach hinten zu immer größer. Im Eigenschaften-Fenster des Videos wird zudem manchmal eine unterschiedliche Länge von Audio- und Videospur angezeigt.

Ursachen für Tonversatz

  1. Ton-Versatz entsteht als Folge der automatischen Bildsynchronisation des abspielenden VHS-Players.
    VHS-Player gleichen geometrische Abweichungen im Bandlauf aus, indem sie die Wiedergabegeschwindigkeit beim Abspielen leicht abändern, bis das Bild richtig synchronisiert wird. Dies geschieht automatisch oder über einen manuellen Einsteller. In der Folge ist bei VHS die tatsächliche Bildwiederholrate bei der Wiedergabe nie genau 25 fps. Sie weicht immer etwas ab.
    Wenn diese Aufnahme auf dem Computer anschließend mit genau 25 Frames wiedergegeben wird, entsteht eine falsche Laufzeit der Videospur. Audio wird hingegen mit der selben Abtastfrequenz wie beim Aufzeichnen wiedergeben (genau 48 kHz oder 41.5 kHz). Dadurch laufen Audio und Videospur auseinander.
    Schon 0.1% Abweichung machen 1s Versatz in 20 Minuten aus.
    Dieser Audio-Versatz nimmt prozentual mit steigender Laufzeit immer mehr zu.
  2. Bei knittrigem VHS-Band kommt es zu Bildaussetzern. Dadurch fehlen unter Umständen einige Einzelbilder im gegrabbten Video (dropped frames). Der Ton wird aber weiter ohne Aussetzer aufgezeichnet. Dieser Fehler tritt vor allem bei E-300 Kassetten auf, weil diese das dünnste Band haben.
    Die Debut Video capture Software zeigt am Ende der Aufnahme die Anzahl von dropped frames an.
    Du solltest vorsichtshalber die Aufzeichnung immer erst starten, wenn das Video-Signal vom VHS-Band schon anliegt.
    Audio-Versatz durch verlorene Frames tritt stufenweise auf, so dass sich bei gestörten Stellen im Video der Ton schlagartig verschiebt.
    Durch Störungen im VHS Bandlauf können Bilder auch verzögert werden. Verzögerte oder doppelt erfasste Bilder erfordern, dass die Audiospur ebenfalls gedehnt wird. Dagegen verkürzen verlorene Frames die Laufzeit des Videos, so dass die Audiospur auch verkürzt werden muss (oder einen negativen Offset für einen bestimmten Zeitpunkt benötigt).
  3. Dropped Frames entstehen auch als Folge zu hoher Prozessorlast beim capturen. Der Computer kommt nicht hinterher. Dieser Fehler sollte nicht auftreten, wenn du die Tipps in Teil 1 beachtest.
  4. Ton-Versatz entsteht auch als Folge unterschiedlicher Abtastraten bei getrennten Wandlern für Bild und Ton.
    Da alle Audiokarten mit hochgenauen Quartzen getaktet sind, beträgt dieser Versatz nur Bruchteile von Promillen und würde nur bei sehr langen Laufzeiten von Videos auffallen.

Audio und Video Versatz
Audioversatz in gegrapptem VHS-Video (Bildrate nicht 25 fps und Dropped frames ab 0:50)

In der Abbildung sieht man den realen Tonversatz, den ein digitalisierter Märchenfilm von einer VHS-Kassette hatte. Bis zur 50ten Minute gibt es einen stetig zunehmenden Versatz, der allein dadurch entsteht, dass die Videokassette nicht genau mit 25 Bildern pro Sekunde läuft. Die Framerate weicht nur 0,026% ab. Aber das genügt schon, damit man etwa ab der 10. Minute merkt, dass der Ton dem Bild hinterher läuft. Denn man bemerkt einen Versatz schon etwa ab 100 ms. Bei 50 Minuten hat sich der Versatz bereits auf 800 ms aufaddiert. Das ist fast eine Sekunde.
Ab der 50ten Minute steigt der Tonversatz plötzlich stark an. Im digitalsierten Video konnte man sehen, dass sich das Bild in diesem Bereich immer wieder sprunghaft bewegte. Also gab es hier dropped Frames. Im Ton konnte man zusätzlich kleine Knack- und Knister-Geräusche identifizieren, woraus ich schließe, dass die fehlenden Bilder schon als Störungen im Bandlauf der VHS-Kassette vorhanden waren, und nicht durch zu hohe Rechnerlast beim Digitalisieren entstanden sind.
Die Korrekturen der Laufzeit habe ich in Wavelab vorgenommen. Jeden Abschnitt in der Grafik zwischen zwei Punkten habe ich in Wavelab separat korrigiert. Der als Offset benutzte Korrekturwert ist immer die Differenz zwischen dem Versatz am Abschnittende und dem Versatz am Abschnitt-Anfang. Zwischen 1:05 und 1:07 beispielsweise 200 ms. Nach diesen Anpassungen war die Synchronizität zwischen Ton und Bild okay.

Schritt 1: Den genauen Laufzeitversatz zwischen Video und Audio feststellen

Bevor du den Audio-Versatz korrigieren kannst, musst du zunächst möglichst exakt heraus bekommen, wie groß er ist.

a) Durch Auslesen der Datei-Informationen deines Videos.

Dies geht leider nur bei MPG-Dateien.
In den AVI-Dateien, die mit Debut Video Capture und dem PicVideo MJPG Encoder aufgezeichnet wurden, sind die Laufzeitangaben für Bild und Ton nicht exakt.

Öffne die Video-Datei in Avidemux: Datei > Datei-Information

Audio und Video Versatz
0.01381%. Versatz zwischen Ton und Bild. Das entspricht etwa 1 s Versatz pro Stunde Video-Laufzeit

Du siehst die Länge des Videostroms (auf 25.00 fps umgerechnet) und die Länge des Audio-Stroms (entspricht der tatsächlichen Aufnahmezeit). Die prozentuale Abweichung des Tones erhälst du, indem du beide Werte in Sekunden umrechnest und danach durcheinander teilst. Im Beispiel sind das 0.01381% Versatz.
Diesen Wert kannst du für die Korrektur genau so in Wavelab eingeben.

Zum Grabben wollen wir allerdings MPG nicht verwenden, weil das Bild dabei komprimiert wird und sich danach schlecht deinterlacen lässt.

b) durch Kalibrieren deiner Aufnahme-Strecke

Nehme testweise 10 … 30 Minuten deines Videos als MPG auf (beispielsweise mit dem Programm WinAVI Video Grabber). Dann bekommst du mit der oben beschriebenen Methode a) deinen genauen prozentualen Audio-Versatz heraus.

Wenn alle deine Videos mit der selben Abspielgeschwindigkeit durchlaufen, benötigen auch alle den selben Korrektur-Wert.
Du kannst anschließend das Video mit einem anderen Codec aufnehmen. Der prozentuale Versatz zwischen Ton und Bild wird gleich bleiben.

Die Kalibrierungs-Methode funktioniert nur, wenn deine Videos vom Player mit der selben konstanten Synchronisations-Einstellung abgespielt werden. Benutzt dein Player hingegen eine automatische Synchronisation, dann musst du wahrscheinlich auf die Probier-Methode wechseln.

c) Probier-Methode

Die Probier-Methode ist etwas ungenauer. Mit etwas Übung wird es dir gelingen, den Tonversatz auf etwa 100 ms genau einzuschätzen.

Öffne dein Video mit einem Video-Player (MPC Media player classic oder VLC Media player). Wenn dein Video keine starken Bildstörungen hat, kannst du davon ausgehen, dass ein konstant wachsender Versatz zwischen Audio und Video besteht. Folglich ist der Versatz am Anfang des Video 0, und am Ende erreicht er ein Maximum.
Dieses Maximum bestimmst du wie folgt:

Gehe zum Ende des Videos zu einer Stelle, an der sich gut der Ton mit dem dazugehörigen Bild vergleichen lässt. Aufnahmen mit deutlich sichtbaren Lippenbewegungen sind günstig.
Im Media Player Classic erreichst du die Audio-Einstellungen mit rechter Maustaste > Audio > Options.
Aktiviere [x] Audio time shift und trage versuchsweise einen geschätzten Wert ein. Du kannst hier positive oder auch negative Werte eintragen.
Pausiere das Video und lass es dann weiter spielen. Schätze ein, ob du dich einer optimalen Einstellung angenähert hast und verbessere schrittweise den Zahlenwert für Audio time shift. Wenn der Ton lippensynchron ist, notiere den genauen Zahlenwert.

Bei Videos mit starken Bildaussetzern musst du eventuell den Audioversatz nach jeder gestörten Strecke bestimmen, da er sich stufenweise ändern kann.

MPC audio time shift
Im Beispiel wurde im Media Player Classic ein Audio-Zeitversatz von +1100 ms eingestellt

Hinweis: Der MPC merkt sich den Wert für den Audio-Versatz. Deshalb solltest du den Wert hinterher wieder auf Null setzen.

Falls du die Tonspur schrittweise korrigierst, kannst du mit dem MPC die korrigierte Tonspur als Dub einlesen und statt des originalen Filmtons auswählen (File > Open file > Dub: Browse, dann Play > Audio: Tonspur auswählen). Damit ersparst du dir, nach jedem Korrekturschritt die Tonspur wieder neu in die Videodatei einweben zu müssen.

Wie du Audio und Video synchronisierst (digitale Recordings von VHS reparieren)

Audio speichern

Um den Ton bearbeiten zu können, musst du ihn aus der Video-Datei extrahieren. Dies geht so:

Aus Virtualdub:
Video öffnen
Virtualdub > File > Save WAV...
(Unter Audio: Direct stream copy auswählen, sonst wird der Ton mit dem ausgewählten Codec komprimiert.)

Aus Avidemux:
Video öffnen
Avidemux > Audio > Tonspur speichern...

Solltest du Audio als ac3-Datenstrom (Dolby digital) aufgezeichnet haben, so kannst du ihn auf folgende Arten als PCM (Wav) exportieren:

Aus Avidemux:
Video öffnen
Video: Kopie
Audio: PCM
Datei > Speichern unter...
Es wird eine neue Video-Datei gespeichert, wobei nur der Ton neu gerendert wird.
Anschließend das neue Video in Avidemux öffnen und Audio speichern.

Oder die AC-3 Audiodaten direkt aus Avidemux speichern.
Anschließend mit dem Tool BeSweet die AC-3 Daten in Wav konvertieren.

Audio Laufzeit korrigieren mit Wavelab

Lese die Audio-Datei in Wavelab ein.

Korrigiere zunächst die Lautstärke.
Gegebenenfalls kannst du den Ton auch filtern, entclicken, vorsichtig entrauschen oder entbrummen.
Wenn du dein Video mit dem USB Video Grabber aufgenommen hast, solltest du mit einem 60 Hz Hochpass filtern.
Speichere das Ergebnis.
Es kann passieren, dass du an diesen Punkt zurückkehren musst, wenn dir bei der folgenden Korrektur der Laufzeit ein Fehler unterläuft.

Zeitkorrektur mit Wavelab:
Wavelab > Ausführen > Zeitkorrektur
Du kannst hier entweder die geplante Laufzeit angeben, oder den Prozentsatz der Korrektur.
Ich empfehle letzteres, da dieser Wert für die meisten deiner Videos gleich sein wird.
In den Optionen wähle Qualität: Gut, [x] Tonhöhe beibehalten
Den Dirac-Prozessor solltest du nur aktivieren, wenn dein Video Musik enthält. Die zeitliche Skalierung dauert mit Dirac Prozessor bis zu mehreren Stunden(!), ohne ihn nur wenige Minuten.

Achtung: Die Wavelab-Zeitkorrektur merkt sich die letzten verwendeten Werte. Daher musst du erst auf Verhältnis: Quelle klicken, damit als Ausgangswert 100% der Originallänge gesetzt wird. Dann musst du den vorher herausgefunden Laufzeitunterschied dazu addieren (meist einige 100 ms) und als neue Laufzeit des Abschnittes eingeben.

Speichere die fertige Datei als neue Datei unter anderem Namen, damit du notfalls einen Schritt zurück kannst.

Audio Laufzeit korrigieren mit anderer Audio Software

Audacity
Zum Strecken der Tonspur kann auch Audacity verwendet werden. Die Tonspur wird wie beschrieben mit VirtualDub als wav exportiert. Dann mit Audacity geöffnet und unter Effekte -> Tempo ändern (engl: Effect -> Change Tempo) kann die errechnete Prozentzahl eingetragen werden. Zur weiteren Verbesserung kann Rausch-Verminderung, Klick-Entferner und Normalisierung verwendet werden. (Danke, Martin)

Bitte Vorschläge einreichen an mich: sven@engon.de

Testlauf

Direkter Test in MPC:
File > Open file > Dub: Browse, dort die korrigierte Audiospur auswählen
Play > Audio: Diese externe Tonspur auswählen
Dann den Film abspielen. Der Audio-Offset muss auf 0 gesetzt sein.

Direkter Test in Virtualdub:
Virtualdub > Audio > Audio from other file...: deine korrigierte Audiodatei auswählen.
Testweise solltest du mit dem Play Button verschiedene Stellen deines Filmes anspielen, um zu überprüfen ob die korrigierte Audio-Spur nun mit dem Bild synchron läuft. Ist alles okay, kannst du nun das Video filtern und rendern.

Indirekter Test mit einem Videoplayer und Virtualdub:
Virtualdub > Audio > Audio from other file...: deine korrigierte Audiodatei auswählen.
Video: Direct stream copy
Datei als Avi unter neuem Namen speichern (das geht recht schnell, da das Video nicht neu berechnet wird)
Lade diese Datei in einen Videoplayer und überprüfe, ob die korrigierte Audio-Spur mit dem Bild synchron läuft.

Ist alles okay, kannst du nun das Bild nachbearbeiten und dabei das Video mit der korrigiernte Audio-Datei rendern.

Variante b) Synchronisation von Video und Audio durch Anpassen des Videostroms

Prinzipiell könnte auch die Laufzeit des Video-Strom korrigiert werden, indem Zwischenbilder gelöscht oder eingerechnet werden. Dies führt aber immer zu ruckeligen Bewegungen, weshalb davon abzusehen ist.

Daher habe ich diesen Abschnitt aus der Anleitung entfernt.

Synchronisationsfehler in Videos mit MP3-Ton

AVI-Dateien können den Ton auch als MP3 enthalten, aber oft entsteht dabei einen Zeitversatz zwischen Bild und Ton.

Die beste Synchronisation von Audio und Video hatte ich mit folgendem Workflow:
Audio als Wav-Datei erstellen. Video in Avidemux einlesen. Die Wav-Datei als externe Audio-Spur laden. In den Audio-Einstellungen MP3 als Zielformat einstellen mit der gewünschten festen (!) Bitrate (CBR). Neues Video speichern. Der Ton wird dabei in MP3 umgewandelt und mit den Videodaten verflochten.
Du darfst keine variable Bitrate wählen, denn dann gäbe es eine variable Bitrate pro Zeiteinheit, und der Ton könnte nicht mehr eindeutig den Bildern zugeordnet werden.
Vorsicht: Erzeuge MP3-Ton nur mit Avidemux. Verwende keine anderes Programm. Mit Wavelab und anderen Programmen habe ich MP3-Dateien mit falscher Laufzeit erhalten, selbst wenn diese den selben LAME Encoder verwendeten!


Flattr this Diese Seite ist mir was wert.

[Counter]