Menü

Werkzeuge durchsuchenÄnderungsprotokoll

zum Navigieren zum ÖffnenBeschreiben Sie das Problem, nicht das Tool

Alle Untertitel früher oder später anzeigen

Verschiebt alle Zeitangaben einer SRT- oder WebVTT-Datei um denselben Millisekunden-genauen Versatz. Untertiteltext, Kennungen, Cue-Einstellungen und sonstige Blöcke bleiben erhalten; die Datei wird nicht hochgeladen.

UTF-8-kodierte SubRip-Datei (.srt) oder WebVTT-Datei (.vtt) bis 20 MB. Sie wird nur in diesem Tab gelesen.

Später verzögert Untertitel, die vor der Sprache erscheinen. Früher zieht Untertitel vor, die erst nach der Sprache erscheinen.

Derselbe Versatz wird zu jeder Start- und Endzeit addiert oder davon abgezogen und auf eine Millisekunde gerundet.

Verschobene Cues
Anzahl der gültigen Untertitel-Zeitzeilen, die um den gewählten Versatz verschoben wurden.
Entfernte Cues
Untertitelformat
Angewandter Versatz (Sekunden)

So funktioniert es

Was sich ändert

Dieses Werkzeug verändert ausschließlich die Start- und Endzeiten erkannter Untertitel-Cues. Der Text, Cue-Kennungen, WebVTT-Einstellungen und andere Blöcke werden wieder in die Ausgabedatei übernommen. Ein Versatz von 2,5 Sekunden nach hinten macht beispielsweise aus 00:00:10,000 bis 00:00:12,000 die Spanne 00:00:12,500 bis 00:00:14,500.

„Später“ ist richtig, wenn der Untertitel der Sprache vorausläuft. „Früher“ ist richtig, wenn die Sprache bereits zu hören ist, bevor der Text erscheint. Die Ergebniszahl zeigt das Vorzeichen zusätzlich an, damit eine gespeicherte Datei später nachvollziehbar bleibt.

SRT und WebVTT

SubRip schreibt Millisekunden nach einem Komma:

00:01:04,250 --> 00:01:07,900

WebVTT verwendet einen Punkt und kann hinter der Endzeit Positionierungsangaben tragen:

00:01:04.250 --> 00:01:07.900 position:50% align:middle

Die beiden Zeitpunkte werden intern als ganze Millisekunden berechnet. Beim Zurückschreiben erhält jedes Format wieder seinen eigenen Trenner, und die WebVTT-Einstellungen bleiben unangetastet.

Nullpunkt und entfernte Cues

Beim Vorziehen können negative Zeiten entstehen. Ein Cue, der vollständig vor dem Beginn des Mediums endet, kann nie angezeigt werden und wird entfernt. Reicht er über den Nullpunkt hinaus, gibt es zwei sinnvolle Entscheidungen: Den sichtbaren Teil behalten und seinen Start auf null setzen oder den gesamten Cue entfernen. Die Auswahl im Formular macht diese inhaltliche Entscheidung explizit.

Versatz ist nicht Drift

Ein konstanter Versatz erhält alle Abstände zwischen den Cues. Er ist die richtige Korrektur, wenn die gesamte Spur beispielsweise zwei Sekunden zu früh beginnt. Wird der Fehler gegen Ende immer größer, genügt Verschieben nicht. Dann unterscheiden sich meist Bildrate, Schnitt oder Wiedergabegeschwindigkeit; die Zeitachse muss skaliert oder die Untertitelspur neu angepasst werden.

So wird es gemacht

  1. Lies die UTF-8-Datei im Browser und erkenne anhand von Kopfzeile, Endung und Zeitzeilen, ob es sich um SubRip oder WebVTT handelt.
  2. Zerlege jede gültige Cue-Zeitzeile in Start, Trennpfeil, Ende und bei WebVTT mögliche Einstellungen nach der Endzeit.
  3. Wandle beide Zeitpunkte in ganze Millisekunden um und addiere für „später“ beziehungsweise subtrahiere für „früher“ denselben gerundeten Versatz.
  4. Entferne einen Cue, dessen Ende bei oder vor null liegt. Beginnt er nur vor null, begrenze den Start auf null oder entferne ihn vollständig, je nach gewählter Regel.
  5. Schreibe SRT-Zeiten mit Komma und WebVTT-Zeiten mit Punkt als Millisekundentrenner zurück. Stunden werden beibehalten und bei Bedarf erweitert.
  6. Setze die unveränderten Text-, Kennungs-, Kommentar- und Einstellungszeilen wieder zusammen und biete die vollständige verschobene Datei an.

Wovon es ausgeht

  • Derselbe feste Versatz gilt für jeden Cue. Das korrigiert einen konstanten Zeitfehler, aber keine langsam anwachsende Abweichung durch unterschiedliche Bildraten oder Schnittfassungen.
  • Nur syntaktisch gültige SRT- oder WebVTT-Zeitzeilen werden verändert. Andere Textblöcke bleiben byteinhaltlich erhalten, abgesehen von der vereinheitlichten UTF-8-Decodierung und den Zeilenumbrüchen.
  • Der Versatz wird auf eine ganze Millisekunde gerundet, weil beide unterstützten Formate Zeitstempel nur mit Millisekundengenauigkeit schreiben.
  • Ein Cue, dessen Ende bei oder vor null liegt, kann nicht sichtbar werden und wird immer entfernt. Ein nur teilweise vor null liegender Cue folgt der gewählten Begrenzungsregel.
  • Überlappungen zwischen Cues werden nicht aufgelöst. Weil alle Zeiten gleich verschoben werden, bleiben bestehende Abstände und Überlappungen untereinander identisch.
  • Die Datei muss UTF-8-kodiert sein. Eine ungültige Bytefolge wird nicht stillschweigend mit einer anderen historischen Zeichencodierung interpretiert.

Fragen

Wird meine Untertiteldatei hochgeladen?

Nein. Der Browser liest, verändert und schreibt die Datei in diesem Tab. Der Untertiteltext und die Zeitangaben werden nicht an einen Verarbeitungsserver gesendet.

Welche Richtung brauche ich?

Erscheint der Text vor dem gesprochenen Satz, wählen Sie „Später“. Erscheint er erst nach der Sprache, wählen Sie „Früher“. Der angezeigte angewandte Versatz ist bei „Später“ positiv und bei „Früher“ negativ.

Kann das Werkzeug eine mit der Zeit größer werdende Abweichung beheben?

Nein. Ein fester Versatz verschiebt alle Cues um denselben Betrag. Wenn Anfang und Ende unterschiedlich weit danebenliegen, stammen Video und Untertitel wahrscheinlich aus verschiedenen Bildraten oder Schnittfassungen und müssen skaliert oder neu synchronisiert werden.

Was geschieht mit Untertiteln vor 00:00?

Endet ein Cue vollständig vor oder genau bei null, wird er entfernt. Beginnt er vor null und endet danach, kann sein Start auf 00:00 begrenzt oder der gesamte Cue entfernt werden. Diese Entscheidung ist vor der Verarbeitung auswählbar.

Bleiben WebVTT-Einstellungen und Kommentare erhalten?

Ja. Geändert werden nur die beiden Zeitstempel einer erkannten Cue-Zeile. Cue-Kennungen, Positionierungsangaben nach der Endzeit, NOTE-Blöcke, STYLE-Blöcke und der eigentliche Untertiteltext werden wieder übernommen.

Warum kann ich keine beliebige Textcodierung wählen?

WebVTT ist auf UTF-8 festgelegt, und moderne SRT-Dateien werden zuverlässig als UTF-8 ausgetauscht. Automatisches Raten älterer Codierungen kann still und unbemerkt Buchstaben verfälschen; deshalb lehnt das Werkzeug ungültiges UTF-8 ab.

Quellen