Zum Hauptinhalt springen
SubtitleMatrix

SMI in SSA umwandeln

Oder Untertiteltext einfügen

Was diese Konvertierung ändert

2 Sachen entfallen oder brauchen eine Entscheidung

  • Genauigkeit

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

  • Formatspezifischer Inhalt

    Inhalt, den das Quellformat außerhalb seiner Blöcke führt (Nicht-Block-Abschnitte, Kopftext, Einstellungen pro Block, auskommentierte Ereignisse) — das Zielformat hat keinen Platz dafür

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 konvertiert SMI nach SSA. Datei hineinziehen oder Text einfügen — zurück kommt die SSA-Fassung. Die Konvertierung läuft vollständig im Browser, ohne Upload und ohne Konto.

Text, Zeiten und Zeilenumbrüche kommen vollständig an. Verloren gehen Präzision — SSA speichert Hundertstelsekunden, SMI Millisekunden — und SAMI-eigene Konstruktionen wie der `<STYLE>`-Block, der `<TITLE>` und die `Class=`-Verweise, für die es in SSA kein Gegenstück gibt. Betonung, die direkt im Text eines Blocks steht, bleibt als Auszeichnung erhalten.

Eine Datei ist kein Problem, eine ganze Staffel auch nicht: Die Warteschlange arbeitet sie der Reihe nach ab, und die Ergebnisse kommen gemeinsam als eine ZIP-Datei.

Beispiele

Eine typische SMI-Datei, nach SSA konvertiert

Eingabe

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Ausgabe

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,How are you?\NFine, thanks.

Verloren in dieser Ausgabe: Präzision und SAMI-eigene Konstruktionen. Alles Übrige stimmt Zeile für Zeile.

Dieselbe Konvertierung mit einer unordentlichen Eingabe

Eingabe

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Ausgabe

[Script Info]
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:02.50,0:00:09.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Tom &amp; Jerry

So sehen echte Schäden aus — gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Im Vergleich zum sauberen Beispiel oben wird sichtbar, was der Parser verzeiht.

Häufige Fragen

Warum haben sich bei SMI nach SSA die Zeitstempel verschoben?

SSA speichert Zeit als `0:00:04.13`, SMI als `Start=4126` — Hundertstel gegen Tausendstel —, also wird jeder Zeitcode auf die nächsten 10 ms gerundet: aus 4126 Millisekunden werden 4,13 Sekunden. Nichts wird gestreckt oder umsortiert, und kein Block bewegt sich um mehr als 5 ms.

Was passiert bei SMI nach SSA mit dem `<STYLE>`-Block?

Er fällt weg, ebenso der `<TITLE>` und die `Class=`-Verweise: SAMI beschreibt das Aussehen seiner Untertitel außerhalb des Blocktextes, und SSA speichert Blöcke statt eines Dokuments. Betonung, die im Text eines Blocks selbst steht, ist davon nicht betroffen — sie kommt als Auszeichnung an.

Wie sieht die Ausgabe aus, wenn SMI zu SSA wird?

Wie SSA: keine Blocknummern, jeder Untertitel ist eine `Dialogue:`-Zeile im Abschnitt `[Events]`, mit einem `Marked`-Feld dort, wo SRT die Nummer führt. Jeder SMI-Block wird ein SSA-Block, in derselben Reihenfolge.

Wie kommt ein zweizeiliger SMI-Block in SSA an?

Als zwei Zeilen mit `\N` dazwischen — so schreibt SSA einen harten Zeilenumbruch. Das `<br>` der SMI-Datei wird zu `\N`, und die beiden Zeilen bleiben ein Untertitel.

Behalten SMI-Blöcke in der SSA-Ausgabe ihre Reihenfolge?

Ja, und sie werden unterwegs nach Startzeit sortiert — der früheste zuerst. War die SMI-Datei ungeordnet, stellt SSA die Reihenfolge wieder her; das ändert die Struktur, nicht den Inhalt.

Lässt sich SSA wieder nach SMI konvertieren?

Ja, und diese Richtung hat ihre eigene Liste: SSA nach SMI verliert Stile, Karaoke und formatspezifische Konstruktionen. Die Liste unterscheidet sich von der obigen, weil die beiden Formate unterschiedliche Dinge behalten.

Verwandte Werkzeuge