Zum Hauptinhalt springen
SubtitleMatrix

SRT in ASS umwandeln

Oder Untertiteltext einfügen

Was diese Konvertierung ändert

1 Sache entfällt oder braucht eine Entscheidung

  • Genauigkeit

    Zeitgenauigkeit — die Uhr der Ausgabe ist gröber, jeder Zeitstempel wird also auf die nächsten 10 ms gerundet

Diese Liste stammt aus der Fähigkeitsmatrix für diese beiden Formate, nicht aus der konkreten Datei, die Sie geladen haben. Eine bestimmte Datei kann mehr verlieren, wenn sie Merkmale nutzt, die das Format erlaubt, die Matrix aber nicht modelliert.

Diese Seite schreibt eine SRT-Datei in ein Advanced-SubStation-Alpha-Skript um. Die beiden Formate sind sich uneinig, was ein Untertitel ist: SRT ist eine Liste von Blöcken mit Zeitstempeln, ASS ein Skript mit Kopf, Stiltabelle und Dialogue-Zeilen. Also wird jeder Block eine `Dialogue`-Zeile, die auf einen Stil zeigt, und die Zeiten werden in ASS-Schreibweise übertragen: `0:00:01.00` statt `00:00:01,000`, weil ASS Hundertstel zählt, wo SRT Millisekunden zählt.

Formatierung wird übersetzt statt eingeklebt. Ein Kursivlauf in der Quelle wird ein ASS-Override-Code, der am Anfang des Laufs eingeschaltet und am Ende ausgeschaltet wird; für Fett gilt dasselbe. Ein Zeilenumbruch im Block wird der ASS-Zeilenumbruch, sodass zwei Zeilen in einem Event zwei Zeilen bleiben und nicht zwei Blöcke werden. Was SRT nicht sagen kann – Schriftart, Position, Kontur –, wird nicht für Sie erfunden: Sie bekommen ein sauberes Skript mit einem brauchbaren Stil.

Eine Datei oder eine ganze Staffel, keine Bildrate zu bestimmen (beide Formate speichern Uhrzeit), und nichts verlässt Ihren Rechner.

Beispiele

Eine typische SRT-Datei, konvertiert nach ASS

Eingabe

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

Ausgabe

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,{\i1}Whispering{\i0} now.\NAnd a second line.
Dialogue: 0,0:00:06.00,0:00:09.25,Default,,0,0,0,,{\b1}Bold{\b0} statement.

In dieser Ausgabe geht verloren: Genauigkeit. Alles andere stimmt Zeile für Zeile überein.

Dieselbe Konvertierung mit ungewöhnlicher Eingabe

Eingabe

1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.


2
00:00:03,500 --> 00:00:06,000


3
00:00:08,000 --> 00:00:09,000
Last one.

Ausgabe

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,{\b1}Bold{\b0} and {\i1}italic{\i0}.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,
Dialogue: 0,0:00:08.00,0:00:09.00,Default,,0,0,0,,Last one.

So sehen echte Dateien aus – gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Vergleichen Sie mit dem sauberen Beispiel oben.

Häufige Fragen

Warum enthält eine SRT-Datei nach der Konvertierung nach ASS eine Stiltabelle?

Weil ASS keinen ungestylten Block kennt. Jede `Dialogue:`-Zeile verweist auf einen Stil, also muss das Skript mindestens einen deklarieren. Der Konverter legt einen einzigen Stil namens Default an – Arial, Größe 20, weiß mit dunkler Kontur – und lässt alle Zeilen darauf zeigen. Ändern Sie diese eine Zeile im Kopf, ändert sich die ganze Datei mit.

Was bedeutet die Zahl nach dem Komma im ASS-Zeitstempel, der aus SRT entsteht?

Hundertstel Sekunden. ASS speichert Zeit auf die Zentisekunde, deshalb wird aus `00:00:01,250` in SRT die ASS-Schreibweise `0:00:01.25`. Feiner löst das Format nicht auf; feinere Werte standen auch nicht in Ihrer SRT-Datei.

Wie kommen Kursiv und Fett von SRT nach ASS?

Als echte ASS-Stile: Ein Kursivlauf wird von `{\i1}` und `{\i0}` eingeschlossen, ein Fettlauf von `{\b1}` und `{\b0}`. Ein ASS-Editor zeigt sie als Formatierung statt als übrig gebliebenes Markup – der Unterschied zwischen einem sauberen Skript und einem voller verirrter Zeichen.

Bleibt ein harter Zeilenumbruch im SRT-Block in ASS erhalten?

Ja, als ASS-Zeilenumbruch `\N`. Zwei Zeilen in einem SRT-Block bleiben zwei Zeilen in einem `Dialogue`-Event, die zweite Zeile behält also das Timing des Blocks.

Was geht beim Konvertieren von SRT nach ASS verloren?

Nur die Genauigkeit: SRT zählt Millisekunden, ASS Hundertstel, jeder Zeitstempel wird auf die nächsten 10 ms gerundet. Text, Reihenfolge und Zeilenumbrüche bleiben; Stile, Position oder Karaoke erfindet die Ausgabe nicht, weil SRT sie nicht enthielt.

Liegt die ASS-Ausgabe zeitlich auf demselben Video wie die SRT-Datei?

Ja. Nichts wird verschoben oder gestaucht: Der erste Block beginnt zum selben Moment, der letzte endet zum selben Moment. Geändert hat sich nur die Schreibweise der Zeit und das, was den Text umgibt.

Verwandte Werkzeuge