Zum Hauptinhalt springen
SubtitleMatrix

SMI-Untertitelformat

Was dieses Format ausdrücken kann

Textformatierung
Fett und Kursiv
Positionierung auf dem Bildschirm
Ja
Karaoke-Zeitangaben
Nein
Zeilenumbrüche innerhalb eines Blocks
Ja
Zeitachse
Start- und Endzeit für jeden Block
Zeitauflösung
1 ms
Zeitangaben als Bildnummern gespeichert
Nein
Rechts-nach-links-Text
Ja

Beispiele

Eine typische SMI-Datei und was daraus gelesen wird

Datei

<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>

Was sie enthält

2 cues, 3 lines of text

  Start=1000  =  00:00:01.000 → 00:00:03.000
    Hello there.
    [Class=ENCC]
  Start=3500  =  00:00:03.500 → 00:00:06.000
    How are you?
    Fine, thanks.
    [Class=ENCC]

Outside the cues:
  head       a <STYLE> block with CSS for the paragraphs, kept as it came in
  cue ends   the next <SYNC> tag — a SAMI file writes no end time of its own
  clearing   a <P>&nbsp; block blanks the screen; the two here are kept as clearing blocks, not turned into cues

Die rechte Seite ist keine konvertierte Datei, sondern das, was diese Seite aus der linken liest — und der Ausgangspunkt jeder Konvertierung dieser Datei.

Eine unordentliche SMI-Datei und was trotzdem gelesen wird

Datei

<SAMI>
<BODY>
<SYNC Start=abc>
<P Class=ENCC>this block's start cannot be read
<SYNC Start=2000>
<SYNC Start=4000>
<P>no attributes here<br>second line
<SYNC Start="6000">
some loose text before any P
</BODY>
</SAMI>

Was sie enthält

3 cues, 3 lines of text

  Start=2000  =  00:00:02.000 → 00:00:04.000
    (no text)
  Start=4000  =  00:00:04.000 → 00:00:06.000
    no attributes here
    second line
  Start=6000  =  00:00:06.000 → 00:00:08.000
    some loose text before any P

Outside the cues:
  head       no <STYLE> block and no <TITLE> — just the <SAMI> and <BODY> tags
  cue ends   the next <SYNC> tag; the last cue has none after it, so its end time was given a default
  loose text text between two <SYNC> tags that belongs to no <P> is kept and attached to the cue open at that point

Reported while reading — repaired or skipped, never silently:
  1 × SYNC blocks whose start time could not be read (they were skipped)
  1 × the last cue has no following timestamp, so its end time was generated

Echte Dateien kommen mit Byte-Order-Mark, Windows-Zeilenenden, einer Fremdzeile vor einem Zeitstempel oder einem Zeitstempel, der sich nicht lesen lässt. Nichts davon löst einen Fehler aus: Was nicht verstanden wird, wird berichtet statt stillschweigend verworfen.

SAMI (SMI) in ein anderes Format konvertieren

Jede davon läuft vollständig in Ihrem Browser. Die Beschriftungen sagen, was diese Richtung kostet, bevor Sie sie öffnen.

In dieses Format konvertieren

SMI ist das Untertitelformat von SAMI, der Untertiteltechnik von Microsoft. Diese Seite ist die Referenz: was das Format speichern kann, was nicht, und ein Einstieg in jede Konvertierung, die von SMI aus möglich ist.

SAMI ist HTML mit einer Zeitsteuerung: Jeder Block beginnt mit `<SYNC Start=4126>`, der Text steht in einem `<P>`, und ein `<STYLE>`-Block vergibt Klassen wie `Class=ENCC`. Diese Konstruktionen sind der Grund, warum SMI mehr ausdrücken kann als SRT — und warum beim Konvertieren in einfachere Formate etwas übrig bleibt.

Alle diese Konvertierungen laufen im Browser. Nichts wird hochgeladen, und ein Konto ist nicht nötig — das zählt bei Material unter Geheimhaltungsvereinbarung, bei Patientendaten oder bei einer Sendesperrfrist.

Häufige Fragen

Was ist eine SMI-Datei?

`.smi` ist das Dateiformat von SAMI, einem älteren Untertitelstandard von Microsoft: HTML mit Zeitmarken. Die Datei liegt meist als `.smi` oder `.sami` vor, lässt sich aber wie jede andere Untertiteldatei einlesen.

Wie funktionieren die `<SYNC>`-Tags in SMI?

Ein `<SYNC Start=4126>` sagt, dass ab Millisekunde 4126 etwas Neues auf dem Bildschirm steht; weil SAMI keinen Endzeitpunkt kennt, ersetzt der nächste `<SYNC>` den vorherigen Inhalt. Deshalb steht hinter jedem Block ein `<P>&nbsp;`, das den Bildschirm wieder leert.

Was macht der `<STYLE>`-Block in SMI?

Er ist eine kleine CSS-Regel: `<STYLE>` vergibt Klassen wie `Class=ENCC` eine Schrift, eine Farbe oder eine Position, und jeder `<P>` verweist nur noch darauf. Dieselbe Klasse kann in vielen Blöcken stehen — ein Vorteil, den SRT nicht kennt.

In welche Formate lässt sich SMI ohne Verlust konvertieren?

In keines der zwölf hier behandelten Formate ganz ohne Verlust: SMI hat mit `<STYLE>`, `Class=` und `Start=` Konstruktionen, die jeweils eigene Gegenstücke brauchen. Die Tabelle oben zeigt, wie viel jede Richtung behält — ASS, SSA und TTML verlieren am wenigsten, weil sie Stile selbst ausdrücken können.

Warum zeigen manche Player eine SMI-Datei als leeren Bildschirm?

Weil SAMI den Inhalt bei jedem `<SYNC>` vollständig ersetzt: Fehlt das abschließende `<P>&nbsp;`, bleibt die letzte Zeile bis zum Ende stehen. Eine Datei mit einem einzigen `<SYNC>` zeigt deshalb nur einen Block, und ein Player ohne SAMI-Unterstützung zeigt gar nichts.