Zum Inhalt springen
OneKitly

Unsynchrone Untertitel: den Versatz messen und eine SRT-Datei um exakt so viele Sekunden verschieben

Veröffentlicht am 5.8.2026 · 13 Min. Lesezeit · Entwickler-Tools

Daniel Okonkwo

Daniel OkonkwoFront-end-Entwickler und Tech-Redakteur bei OneKitly

Web-Performance · Dateiformate

Anhand von 4 Quellen geprüft

Profil ansehen
Kurz gesagt

Miss den Versatz, bevor du irgendetwas verschiebst. Suche nahe am Anfang eine unverwechselbare Dialogzeile, notiere die genaue Zeit, zu der sie im Player gesprochen wird, ziehe den Startstempel des Untertitels ab — das ist der Versatz in Sekunden — und wiederhole die Messung dann gegen Ende des Films. Stimmen beide Werte überein, trägt die Spur einen konstanten Versatz und eine einzige Verschiebung repariert die ganze Datei: SRT einfügen, Versatz in Sekunden eintragen (positiv verzögert, negativ zieht vor) und die korrigierte Datei mitnehmen. Ist der zweite Wert größer als der erste, ist es gar kein Versatz, sondern Drift, und keine Verschiebung behebt sie. Drift bedeutet fast immer einen Bildraten-Konflikt. Eine Spur, die auf einem 25-fps-Master getimt wurde und auf einem 23,976-fps-Transfer läuft — 23,976 ist exakt 24000/1001 —, braucht ihre Zeitstempel mal 1,042708, nicht verschoben: Der Fehler wächst um 2,5625 Sekunden je Minute Laufzeit, also eine Sekunde alle 23,4 Sekunden und 3 Minuten 50,6 Sekunden über eine 90-minütige Untertitel-Zeitleiste. Das sanftere Paar, 24 gegen 23,976 oder 30 gegen 29,97, beträgt exakt 1,001 — nur 5,4 Sekunden über dieselben 90 Minuten, weshalb es in der ersten halben Stunde als konstanter Versatz fehlgedeutet wird. Ein Verhalten, das du vor einem negativen Wert kennen solltest: Ein Untertitel, den die Verschiebung ganz vor null schiebt, wird entfernt und nicht plattgedrückt, und eine bernsteinfarbene Zeile über der Ausgabe zählt, wie viele es traf. Ein Untertitel, der über null hinausragt, behält sein echtes Ende und beginnt bei 00:00:00,000. Damit wird eine große negative Verschiebung auch zu einem brauchbaren Weg, ein Intro abzuschneiden — die Untertitel darin verschwinden, alles Folgende behält seine Abstände, und du erfährst, was verloren ging.

Miss den Versatz an zwei Stellen, statt ihn einmal zu schätzen. Ist er konstant, repariert eine einzige Verschiebung die Datei. Wächst er, ist es ein Bildraten-Konflikt — 25 fps gegen 23,976 driftet 2,5625 Sekunden pro Minute — und keine Verschiebung behebt das.

Miss den Versatz, schätze ihn nicht

Nimm eine Dialogzeile, die du nicht verwechseln kannst — einen Namen, eine Zahl, einen Ruf, irgendetwas mit einem harten Anfangskonsonanten. Spiele den Film, halte auf dem Bild an, in dem der Ton einsetzt, und lies die Uhr des Players. Suche dann dieselbe Zeile in der Untertiteldatei und lies ihren Startstempel. Der Versatz ist die Videozeit minus die Untertitelzeit. Sagt das Video 00:04:12,500 und der Untertitel 00:04:09,000, laufen die Untertitel 3,5 Sekunden zu früh, und der nötige Versatz beträgt +3,5 Sekunden.

Wiederhole das ein zweites Mal, so nah am Filmende, wie du eine saubere Zeile findest. Diese zweite Messung ist die gesamte Diagnose, und sie zu überspringen ist der Grund, warum dieselbe Datei viermal verschoben und nie repariert wird. Zwei Werte, die auf ein paar Zehntel übereinstimmen, bedeuten konstanten Versatz: eine Verschiebung, fertig. Zwei Werte, die sich um Minuten unterscheiden, bedeuten, dass die Datei gar nicht versetzt ist, sondern zu schnell oder zu langsam läuft — jede Verschiebung repariert dann ein Ende des Films und verschlechtert das andere.

Eine praktische Anmerkung zum Ablesen der Uhr: Die meisten Player zeigen die Position auf eine Zehntelsekunde genau, und ein Zehntel liegt deutlich unter dem, was ein Publikum bemerkt — Bildgenauigkeit ist hier also unnötig. Nötig ist Ehrlichkeit darüber, welchen Moment du gemessen hast. Miss den Moment, in dem der Ton einsetzt, nicht den, in dem du ihn bemerkst, und miss beide Male denselben Typ Moment — sonst unterscheiden sich deine zwei Ablesungen um deine eigene Reaktionszeit und du erfindest eine Drift, die es nicht gibt.

Wenn der Versatz wächst: die Bildraten-Arithmetik

Derselbe Film existiert in zwei Familien von Laufgeschwindigkeiten, und die Untertiteldatei erinnert sich, gegen welche sie geschrieben wurde. Die Kinofamilie läuft mit 24 Bildern je Sekunde oder mit 24000/1001 — 23,976 — auf jedem Transfer, der in das Timing des amerikanischen Farbfernsehens passen musste. Die Rundfunkfamilie des größten Teils Europas läuft mit 25. Das sind keine dekorativen Etiketten: ffmpegs eigene Raten-Abkürzungen schreiben sie als exakte Brüche, film = 24/1, pal = 25/1, ntsc-film = 24000/1001, ntsc = 30000/1001. Eine Untertiteldatei für die eine, gespielt auf der anderen, steht nicht an der falschen Stelle, sie läuft mit der falschen Geschwindigkeit.

Die Korrektur ist eine Multiplikation, keine Addition. Zeitstempel, die für eine 25-fps-Fassung geschrieben und auf einer 23,976-fps-Fassung abgespielt werden, müssen mit 25 ÷ (24000/1001) = 25025/24000 = 1,042708 multipliziert werden. Lies das als Fehlerrate, und es wird auf einen Blick erkennbar: 2,5625 Sekunden Drift je Minute Laufzeit, eine volle Sekunde alle 23,4 Sekunden. Über eine 90-minütige Untertitel-Zeitleiste summiert sich das auf 230,6 Sekunden — 3 Minuten 50,6 Sekunden. Umgekehrt trägt eine Zeile, die zur 90. Minute des 23,976-Transfers gehört, einen 25-fps-Stempel von 86 Minuten 18,8 Sekunden und erscheint 3 Minuten 41,2 Sekunden zu früh.

Das gefährliche Paar ist das kleine. Der Wechsel zwischen 24 und 23,976 oder zwischen 30 und 29,97 ist ein Verhältnis von exakt 1,001, über dieselben 90 Minuten also 5,4 Sekunden. In den ersten zwanzig Minuten ist das unsichtbar; in der letzten Rolle ist es ein ganzer Satz daneben. Man verschiebt eine solche Datei um zwei Sekunden, sieht den Anfang zufrieden an und stößt eine Stunde später auf dasselbe Problem — weil es nie ein Versatz war. Zwei Messungen im Abstand einer Stunde sagen dir in etwa neunzig Sekunden Arbeit, welchen der beiden Fälle du hast.

Dieses Werkzeug verschiebt und skaliert nicht, und das sollte man offen sagen, statt es dich entdecken zu lassen. Weichen deine zwei Messungen voneinander ab, muss jeder Zeitstempel multipliziert werden — dafür braucht es ein Werkzeug zur Bildratenkonvertierung oder ein kurzes Skript, und der Faktor ist das Verhältnis deiner zwei gemessenen Positionen, kein zu ratender Wert. Teile die echte Videozeit der späten Zeile durch die der frühen, tue dasselbe mit den zwei Untertitelstempeln; das Verhältnis dieser beiden Verhältnisse ist das, was anzuwenden ist.

Was eine negative Verschiebung hier wirklich tut

Eine negative Verschiebung ist der Normalfall — zu spät kommende Untertitel müssen vorgezogen werden — und sie ist die einzige Stelle, an der ein Untertitelwerkzeug eine Entscheidung treffen muss, die das Format ihm nicht abnimmt. Ein Untertitel bei 00:00:01,000, um −5 Sekunden verschoben, begänne bei −4 Sekunden. SubRip kann das nicht schreiben. Drei Antworten sind möglich: trotzdem einen negativen Stempel schreiben und den Player daran ersticken lassen, den Untertitel verwerfen, oder ihn bei null begrenzen. Dieses Werkzeug wählt Untertitel für Untertitel zwischen den beiden letzten, je nachdem, was nach dem Nullpunkt übrig bleibt.

Geprüft wird der Endstempel des Untertitels, was zwei verschiedene Ergebnisse erzeugt. Ein Untertitel, der über null hinausragt, wird beschnitten: Bei −2,5 Sekunden kommt 00:00:01,000 --> 00:00:04,000 als 00:00:00,000 --> 00:00:01,500 zurück. Er behält sein echtes Ende, erscheint also schon im allerersten Bild und dauert anderthalb Sekunden zu kurz — sichtbar, aber nicht tödlich. Ein Untertitel, der ganz vor null geschoben wird, ist etwas anderes. Bei −5 Sekunden endete derselbe Untertitel bei −1 Sekunde: Er hat nichts mehr zu zeigen und wird aus der Datei entfernt. Die verbleibenden Untertitel werden ab 1 neu nummeriert, sodass eine kürzere Datei zurückkommt statt einer aufgefüllten.

Schiebe die ganze Datei weit genug zurück, und die Untertitel in diesem Abschnitt verschwinden schlicht. Eine Verschiebung um −20 Sekunden auf eine Datei, deren erste drei Untertitel in den ersten zwölf Sekunden liegen, liefert gar nichts mehr, und eine bernsteinfarbene Zeile über der Ausgabe meldet, dass nun alle Untertitel vor null liegen. Unterhalb dieses Extremfalls trägt dieselbe Zeile zwei Zahlen: wie viele Untertitel entfernt wurden und wie viele vor null begannen und jetzt am Nullpunkt starten. Was das Werkzeug nicht mehr tut, ist Untertitel zu verlieren, ohne es zu sagen — lies die Zahlen, bevor du etwas überschreibst, und vergleiche sie mit dem, was du verlieren wolltest.

Damit wird eine große negative Verschiebung außerdem zu einem echten Schneidewerkzeug. Schneide ein dreißigsekündiges Intro vom Anfang eines Videos ab, verschiebe die Untertitel um −30 Sekunden, und die Untertitel des Intros werden entfernt, der über den Schnitt hinausragende beginnt mit seinem echten Ende im ersten Bild, und alles Folgende behält seine Abstände. Die Zahl im Hinweis ist die Kontrolle: Meldet sie vier entfernte Untertitel, während du zwei verlieren wolltest, war dein Versatz länger als das Intro.

Was zurückkommt und was sich dabei leise ändert

Die Ausgabe ist immer SubRip, was auch immer hineinging. Untertitel werden in Dateireihenfolge ab 1 neu nummeriert, Zeitstempel als HH:MM:SS,mmm mit Komma vor den Millisekunden geschrieben, und alles zwischen Zeitstempelzeile und Leerzeile wird unverändert durchgereicht — einschließlich deiner Kursiv-Tags oder Dialogstriche. Der letzte Punkt zählt: Das ist ein Umtakter, kein Reiniger, und er verändert deinen Text in keiner Weise.

Es liest auch eine WebVTT-Datei, und das sollte man wissen, denn das Ergebnis ist nicht das, was ein Unbedarfter erwartet. Füge ein .vtt ein: Das Werkzeug findet die Untertitel, wirft die WEBVTT-Kopfzeile weg, wirft Cue-Bezeichner und alle nach dem Pfeil stehenden Cue-Einstellungen weg, wandelt den Dezimalpunkt in ein Komma und gibt dir SubRip. Die Zeiten verschieben sich korrekt. Aber die zurückkommende Datei ist kein gültiges WebVTT mehr — der Header ist eine harte Anforderung der Spezifikation, und die Positionierungseinstellungen, auf die du dich vielleicht verlassen hast, sind fort. Wolltest du ein verschobenes .vtt, ist das nicht der Weg.

Zwei kleine Randbefunde, beide gefunden, indem man dem Werkzeug seine eigene Ausgabe vorlegt. Der Zeitstempelleser akzeptiert bis zu drei Ziffern im Stundenfeld, ein Stempel wie 111:06:41,000 wird also anstandslos zurückgelesen; die Decke liegt bei 999:59:59,999, darüber schriebe das Werkzeug Stunden, die es selbst nicht mehr lesen kann — eine Mauer, die kein Film je erreicht. Und der Versatz wird bei der Ausgabe auf ganze Millisekunden gerundet, sodass aus 0,0005 Sekunden eine Bewegung um eine Millisekunde wird statt gar keiner. Beides stört keinen Film, beides sollte man aber kennen, wenn man Operationen verkettet.

Drift pro Minute
Dieselbe 90-minütige Untertitel-Zeitleiste bei fünf Bildraten-Konflikten — Faktor, Drift pro Minute, Gesamtdrift
KonfliktAnzuwendender FaktorDrift pro MinuteDrift über 90 MinutenWie es sich beim Sehen zeigt
Konstanter Versatz (beliebige Ursache)1,000000 — stattdessen verschieben0 s0 sBei Minute 1 und Minute 89 gleich falsch — eine Verschiebung genügt
24-fps-Untertitel auf 23,976-fps-Video (oder 30 auf 29,97)1,0010000,060 s5,4 sZwanzig Minuten unsichtbar, am Ende ein Satz daneben — der am häufigsten fehlgedeutete Fall
25-fps-Untertitel auf 24-fps-Video1,0416672,500 s3 min 45,0 sDie Untertitel eilen voraus, und der Abstand wächst schon in der ersten Rolle sichtbar
25-fps-Untertitel auf 23,976-fps-Video1,0427082,563 s3 min 50,6 sDer klassische PAL-Kino-Konflikt: jede 23,4 Sekunden geht eine Sekunde verloren
23,976-fps-Untertitel auf 25-fps-Video0,959041−2,458 s−3 min 41,2 sDerselbe Konflikt umgekehrt: Die Untertitel fallen immer weiter zurück
SRT-Untertitel-ZeitversatzBehebe unsynchrone Untertitel, indem du jeden Zeitstempel einer SRT-Datei um denselben Versatz verschiebst. Füge die Untertitel ein, gib einen positiven Versatz zum Verzögern oder einen negativen zum Vorziehen an, in Sekunden oder Millisekunden, und kopiere oder lade die korrigierte Datei. Zeiten werden nie negativ.Tool ausprobieren

Häufige Fragen

Wie messe ich den Versatz genau, ohne den ganzen Film Bild für Bild durchzugehen?
Zwei Messungen genügen, und eine Genauigkeit von einer Zehntelsekunde reicht. Suche nahe am Filmanfang eine Zeile mit hartem Anfangskonsonanten, halte auf dem Bild an, in dem der Ton einsetzt, und lies die Position des Players; ziehe davon den Startstempel des Untertitels ab. Wiederhole das mit einer Zeile nahe am Ende. Stimmen beide Versätze überein, wende ihren Mittelwert an, fertig. Wichtiger als Präzision ist hier die Gleichförmigkeit der Methode: Miss immer denselben Moment — den Beginn des Tons, nicht den Augenblick des Erkennens —, denn ein Reaktionszeitfehler von einer halben Sekunde in einer der beiden Messungen genügt, um eine Drift zu erfinden, die es nicht gibt. Zeigt dein Player nur ganze Sekunden, nimm einen, der Zehntel anzeigt: Der Unterschied zwischen 3 und 3,5 Sekunden Versatz ist auf dem Bildschirm sichtbar.
Meine Untertitel sitzen am Anfang perfekt und sind am Ende etwa vier Minuten zu früh. Was ist das?
Das ist ein Bildraten-Konflikt, und seine Größe verrät welcher. Rund vier Minuten Drift über einen Spielfilm ist die Signatur von 25-fps-Untertiteln auf einem 23,976-fps-Video: Der Faktor ist 1,042708, die Drift 2,5625 Sekunden pro Minute, und über eine 90-minütige Untertitel-Zeitleiste summiert sie sich auf 230,6 Sekunden — 3 Minuten 50,6 Sekunden, oder 3 Minuten 41,2 Sekunden, wenn du an der Uhr des Videos misst. Eine Verschiebung kann das nicht beheben, denn sie addiert zu jedem Zeitstempel dieselbe Zahl, während dein Fehler proportional zum Zeitstempel ist. Nötig ist eine Multiplikation jedes Stempels mit 1,042708 — das ist Bildratenkonvertierung, nicht Zeitverschiebung. Dieses Werkzeug leistet das nicht, und eine Verschiebung verlagert nur die Stelle, an der die Untertitel zufällig stimmen, von einem Filmende ans andere.
Was passiert mit Untertiteln, die eine negative Verschiebung vor 00:00:00,000 schiebt?
Sie werden entfernt, und das Werkzeug sagt, wie viele. Entschieden wird am Endstempel, daher zwei Ergebnisse. Ein Untertitel, der über null hinausragt, behält sein echtes Ende: 00:00:01,000 --> 00:00:04,000 um −2,5 Sekunden verschoben ergibt 00:00:00,000 --> 00:00:01,500, das ab dem ersten Bild erscheint und anderthalb Sekunden zu kurz ist. Ein Untertitel, dessen Ende ebenfalls vor null gerutscht ist, hat nichts mehr zu zeigen und fällt weg; die übrigen werden ab 1 neu nummeriert, sodass die Ausgabe eine kürzere gültige Datei ist und keine mit leeren Einträgen aufgefüllte. Eine bernsteinfarbene Zeile über der Ausgabe trägt die Zahlen — wie viele Untertitel entfernt wurden, wie viele jetzt am Nullpunkt beginnen — und wenn die Verschiebung alles auslöscht, sagt sie das, statt dir eine Datei zu geben. Negative Zeiten werden nie geschrieben. In der Praxis wird eine große negative Verschiebung damit zu einem brauchbaren Weg, ein Intro abzuschneiden: Vergleiche die Zahl der entfernten Untertitel mit der Zahl, die du verlieren wolltest, bevor du etwas überschreibst.
Kann ich eine WebVTT-Datei einfügen, oder nimmt es nur SubRip?
Es liest WebVTT, gibt dir aber SubRip zurück, und diese Umwandlung ist nicht umsonst. WebVTT ist eine W3C-Spezifikation: Die Datei muss mit einer WEBVTT-Zeile beginnen, Zeitstempel verwenden vor der dreistelligen Nachkommastelle einen Punkt statt eines Kommas, das Stundenfeld ist optional, und eine Cue-Timing-Zeile darf nach dem Pfeil eine Einstellungsliste tragen — Ausrichtung, Position, Region — sowie einen optionalen Bezeichner in der Zeile darüber. Dieses Werkzeug findet die Cue-Timings, verschiebt sie und schreibt SubRip: Der Header ist weg, die Bezeichner sind weg, die Einstellungen sind weg, und der Punkt wird zum Komma. War deine Quelle gestaltetes oder positioniertes WebVTT, wird all das stillschweigend verworfen. Willst du eigentlich reinen Text aus einer Untertiteldatei statt einer umgetakteten, ist der eigene VTT-zu-TXT-Konverter der ehrliche Weg.
Gibt es eine offizielle SubRip-Spezifikation, an der ich meine Datei prüfen kann?
Nein, und das sollte man wissen, bevor man mit einem Werkzeug darüber streitet, was gültig ist. Das Format ist das, was das ursprüngliche SubRip-Programm ausgab, plus das, was Player später zu tolerieren beschlossen. Die Library of Congress führt es als nur teilweise dokumentiert und schlecht normiert und nennt überhaupt kein Spezifikationsdokument; ihre Formatbeschreibung gibt die Timecode-Form als Stunden:Minuten:Sekunden,Millisekunden an, mit Komma, und den Pfeil als zwei Bindestriche und eine spitze Klammer. Auch einen registrierten Medientyp gibt es nicht, während WebVTT mit text/vtt bei der IANA registriert ist. Praktisch heißt das: Die Kodierung ist Ratesache — das Originalprogramm gab standardmäßig eine Windows-Codepage aus, jeder Parser muss also eine Zeichensatzerkennung versuchen — und wenn zwei Werkzeuge über deine Datei uneins sind, liegt keines von beiden gemessen an einer Norm falsch. Teste im Player, den du wirklich verwenden wirst.

Artikel, die dich interessieren könnten

Alle Ratgeber
AnleitungSRT zu Text: ein sauberes Transkript aus Untertiteln gewinnenNummern und Zeitstempel zu entfernen ist die leichte Hälfte. Über die Lesbarkeit entscheiden Kursiv-Tags, Dialogstriche, Geräuschbeschreibungen und über zwei Untertitel gebrochene Sätze — und dieser Konverter überlässt sie dir allesamt.AnleitungUntertitel in die Tabelle und zurück: was den Umweg überstehtEin Komma wird zitiert, ein Anführungszeichen verdoppelt, und ein zweizeiliger Untertitel behält beide Zeilen — Byte für Byte über drei aufeinanderfolgende Umwege geprüft. Ändern kann die Datei jetzt noch die Tabelle in der Mitte.AnleitungZwei Untertitelspuren zu einer zweisprachigen Fassung verbinden: was wirklich mit den Untertiteln geschiehtUntertitel 12 der englischen Spur ist nicht Untertitel 12 der französischen, weil Übersetzer Sätze anders trennen und zusammenziehen. Zwei Strategien gibt es zum Paaren; dieser Zusammenführer nutzt keine davon — er verschränkt. Das kommt dabei heraus, und so weit reicht es.ErklärungWarum dein Videoschnitt zwei Sekunden zu früh landetDu wolltest 1:23 und hast 1:21 bekommen. Nichts ist kaputt: ein Schnitt ohne Neukodierung kann nur auf einem Keyframe landen, und wie weit der nächste entfernt ist, hängt ganz davon ab, was das Video aufgenommen hat. So erkennst du, was du hast, und wann du die Abweichung hinnimmst.RatgeberStandbilder aus einem Video holen — und warum sie weicher aussehen als das VideoHinter drei Knöpfen stecken drei Befehle: ein Bild zu einem Zeitpunkt, eine feste Anzahl über den Clip verteilt, oder eines alle N Sekunden. Hier stehen die exakten Argumente, die Obergrenze von 60 Bildern und der Grund, warum ein Bild aus der Mitte eines komprimierten Clips nie so scharf wird wie ein Keyframe.AnleitungDen Ton aus einem Video holen, ohne eine zweite VerlustgenerationDie Tonspur in deinem Video ist bereits einmal durch einen verlustbehafteten Encoder gelaufen. Ob das Herausholen dich einen zweiten Durchgang kostet, hängt ganz davon ab, welchen der drei Knöpfe du drückst — und „nach MP3 extrahieren“, der Griff aller, ist der, der kostet.

Ähnliche Tools

SubRip hat keine Spezifikation. Die Library of Congress führt es als nur teilweise dokumentiert und schlecht normiert, also entscheidet der Player, der Encoder oder die Plattform, die sie liest, was als gültige .srt-Datei gilt — und zwei davon werden früher oder später uneins sein. Alles hier Beschriebene wurde an der tatsächlichen Ausgabe des Werkzeugs geprüft, nicht an einer Norm, denn für dieses Format gibt es keine. WebVTT ist anders — es hat eine veröffentlichte W3C-Spezifikation — bleibt aber ein Candidate Recommendation Draft und keine fertige Empfehlung. Behalte die Originaldatei, teste die konvertierte in genau dem Player oder Upload-Werkzeug, das du wirklich verwenden willst, bevor du etwas wegwirfst, und behandle jede Aussage darüber, was „alle Player“ tun — auch die auf dieser Seite — als etwas, das du an deinem prüfst.

Quellen

Hast du einen Fehler in diesem Artikel entdeckt?