SSubToolDesk
de

Wie du sauberen Text aus SRT- oder VTT-Untertiteldateien extrahierst

Den reinen Dialog aus einer Untertiteldatei zu ziehen klingt trivial, bis man auf Cue-Nummern, Zeitstempel und mitten in der Zeile geteilte Sätze stößt. So machst du es richtig.

Untertiteldateien speichern drei Dinge miteinander verschachtelt: eine Indexnummer, einen Zeitbereich und den eigentlichen Text. Wenn du nur den Text willst (für ein Blog-Zitat, einen Artikel, einen Suchindex oder zur Weitergabe an ein anderes Tool), sind Timing und Nummerierung nur Rauschen, das du entfernen musst.

Der manuelle Ansatz, und wo er versagt

Ein schnelles Suchen-und-Ersetzen mit einem Regex für Zeitstempelzeilen (\d{2}:\d{2}:\d{2}[,.]\d{3}\s*-->\s*...) löst den offensichtlichen Fall. Wo es scheitert:

  • Cue-Nummern, die wie Text aussehen. Eine Zeile, die nur aus 42 besteht, könnte ein Cue-Index sein, oder, selten, Teil des eigentlichen Dialogs (eine Figur, die eine Zahl vorliest). Naives Entfernen kann diesen Unterschied im großen Maßstab nicht immer zuverlässig erkennen.
  • Sätze, die über Cues hinweg geteilt sind. Untertitel werden für die Lesbarkeit auf dem Bildschirm zerstückelt (etwa eine Zeile pro paar Sekunden), nicht nach Grammatik. Ein einzelner Satz erstreckt sich regelmäßig über zwei oder drei aufeinanderfolgende Cues. Wenn man die Zeitstempelzeilen entfernt, ohne die Fragmente wieder zusammenzufügen, bleiben abgehackte, unzusammenhängende Satzteile statt fließendem Text übrig.
  • Inline-Formatierungstags. <i>, <b> und VTTs Sprecher-/Farbtags (<v Speaker>, <c.colorname>) müssen ebenfalls entfernt werden, sonst erscheinen sie als wörtlicher Text mit spitzen Klammern in der Ausgabe.
  • Gemischte Zeilenenden. Dateien, die aus unterschiedlichen Tools oder Betriebssystemen exportiert wurden, mischen manchmal \r\n und \n, was Regex-Muster brechen kann, die von einem der beiden Formate ausgehen.

Wie gutes Ergebnis aussieht

Richtig extrahierter Text liest sich wie normaler Fließtext: vollständige Sätze, Absatzumbrüche an natürlichen Pausen, keine verirrten Zahlen oder Zeitstempelfragmente, kein übrig gebliebenes Markup. Das Ziel ist ein Dokument, das so wirkt, als hätte jemand den Dialog von vornherein einfach transkribiert, ohne jede Spur des Untertitelformats, aus dem es stammt.

Ohne manuelle Aufräumarbeit erledigen

Unser SRT-zu-TXT-Konverter (und der passende VTT-zu-TXT-Konverter) übernimmt das alles automatisch: Cue-Nummern und Zeitstempel entfernt, Tags gestrippt, über Cues hinweg geteilte Sätze wieder zu zusammenhängenden Absätzen zusammengefügt. Es läuft vollständig in deinem Browser, sodass nichts aus der Datei irgendwohin gesendet wird.

SRT in TXT umwandeln