SubStationAlpha-Benutzerhandbuch

Aus Fansub-Wiki
Zur Navigation springen Zur Suche springen

Dieses Dokument ist aus der Spezifikation des Dateiformats für SubStationAlpha (ursprüngliche Adresse im Web: http://www.eswat.demon.co.uk, heute nicht mehr funktionsfähig) hervorgegangen.

Erweiterungen für das Dateiformat des Programms Advanced SubStation sind an den entsprechenden Stellen eingearbeitet.


Allgemeines über das Skriptformat "SubStationAlpha v4.00+"

Dieses Dokument setzt voraus, dass der Leser mit den Begriffen und Konzepten des Programms SubStationAlpha (SSA) vertraut ist. Diese sind in der Hilfedatei ssa.hlp beschrieben, welche gemeinsam mit dem Programm ausgeliefert wird.

  • Das Skript-Format v4.00 unterscheidet sich von demjenigen früherer Versionen von SSA. SSA v4.00 kann Skripte älterer Versionen lesen, aber v4.00-Skripte können von älteren SSA-Versionen nicht korrekt geladen werden.
    Einige der Änderungen des Skriptformates haben das Ziel, allen Versionen von SSA ab v4.00 zu ermöglichen, Skripte der aktuellen und jeder künftigen Version lesen zu können; insbesondere die neuen "Format"-Zeilen erlauben es SSA, nur diejenigen Informationen zu lesen, die es verarbeiten kann, und alle zusätzlichen Informationen künftiger Skript-Formate zu ignorieren.
  • Skripte sind einfache (DOS-) Textdateien. Sie können also "manuell" mit jedem normalen Texteditor bearbeitet werden, doch dabei ist entsprechende Vorsicht erforderlich: SSA setzt einen korrekten Aufbau des Skripts gemäß der in dem vorliegenden Dokument beschriebenen Regeln voraus, und jeder Fehler kann zu unvorhersehbaren Folgen führen, sobald das Skript von SSA eingelesen wird.
  • Ein Skript ist unterteilt in Abschnitte, ähnlich einer Windows-ini-Datei.
    SSA-Skripte sind allerdings keine wirklichen Windows-.ini-Dateien, und einige Eigenschaften, die man erwarten könnte, sind deshalb nicht gewährleistet.
  • Die meisten Zeilen innerhalb jedes Abschnittes beginnen mit einer Art Schlüsselwort zur Beschreibung der Art des Inhalts dieser Zeile. Dieses Schlüsselwort wird von einem Doppelpunkt gefolgt.
  • Die Informationsfelder innerhalb jeder Zeile werden durch Kommata voneinander getrennt. Daher darf innerhalb von Charakter- oder Style-Namen kein Komma verwendet werden (was SSA selbst bei der Eingabe auch verhindern würde). Es ist deshalb aber auch relativ einfach, Abschnitte eines SSA-Skripts als CSV-Datei in eine Tabellenkalkulation zu laden und die von anderen Untertitelprogrammen ggf. benötigten Spalten herauszuschneiden.
  • Die Reihenfolge, in welcher die Ereignisse innerhalb eines Skripts eingegeben werden, ist für SSA irrelevant. Selbst wenn sie in exakt umgekehrter Reihenfolge eingegeben worden wären, würde SSA sie immer noch korrekt abspielen. Die Annahme, dass die Reihenfolge der Ereignis-Zeilen der chronologischen Reihenfolge ihres Abspielens entsprechen würde, ist also nicht zulässig.
  • Strukturell fehlerhafte Zeilen werden ignoriert. SSA überliest alle Zeilen, die es nicht verstehen kann, und gibt nach dem Laden des Skripts eine Warnungsmeldung mit der Anzahl der ignorierten Zeilen aus.
  • Es gibt kein Zeichen für die Markierung einer Fortsetzungszeile. Jeder Eintrag in einem Skript enthält seine vollständige Information innerhalb einer einzigen Zeile. (Anm.d.Übers.: Ausgenommen in das Skript eingebundene Binärdateien.)
  • Falls innerhalb eines Skripts undefinierte Styles auftreten, dann wird der *Default-Style verwendet. Falls beispielsweise Ereignis-Zeilen aus einem anderen Skript eingefügt wurden, ohne die Definitionen der in diesen Zeilen verwendeten Styles ebenfalls zu übernehmen, dann verwendet SSA beim Abspielen des Skripts seine Default-Style-Einstellungen für diese Zeilen.
  • Falls ein Style eine Schriftart verwendet, die nicht installiert ist, wird stattdessen die Schriftart Arial verwendet. Dies kann bei Skripten passieren, die der Anwender nicht selbst erstellt hat - auf dem System des Skript-Autors könnten zusätzliche Schriftarten installiert sein.

Die Abschnitte innerhalb eines SSA-Skripts

Allgemeine Informationen

[Script Info]

Dieser Abschnitt enthält allgemeine Informationen über das Skript.

In einem Skript des Formats der SSA-Version 4 muss die Zeile "[Script Info]" die erste Zeile der Datei sein.

Style-Definitionen

[v4 Styles]

Dieser Abschnitt enthält alle Style-Definitionen, die von diesem Skript benötigt werden. Jeder von einem Untertitel verwendete Style sollte hier definiert sein.

ASS verwendet die Markierung "[v4 Styles+]" für diesen Abschnitt.

Ereignis-Definitionen

[Events]

Dieser Abschnitt enthält alle Ereignisdefinitionen für das Skript - alle Untertitel, Kommentare, eingebundene Bild-, Sound- und Video-Dateien sowie interne Kommandos von SSA. Im Wesentlichen enthält er alle Informationen, die im Tabellen-Raster des Haupt-Bildschirms von SubStationAlpha sichtbar sind.

Eingebundene Schriftarten

[Fonts]

Dieser Abschnitt enthält als Text codierte Schriftartdateien, falls der Anwender sich dafür entschieden hat, Nonstandard-Schriftarten direkt in das Skript einzubinden. Diese Einbindung ist innerhalb von SSA-Skripten nur mit Truetype-Schriftarten möglich.

Jede Schriftartdatei wird durch eine Zeile im Format

fontname: <dateiname>

eingeleitet.

Das Wort "fontname" muss in Kleinbuchstaben notiert werden (Großbuchstaben werden als Teil des Inhalts einer textcodierten Datei interpretiert).

<dateiname> ist der Name der Datei, den SSA beim Abspeichern der Schriftart verwenden wird. Er besteht aus

  • dem ursprünglichen Dateinamen der Truetype-Schriftart,
  • gefolgt von einem Underscore "_",
  • gefolgt von einem optionalen "B", falls die Schrift fett (bold) dargestellt werden soll,
  • gefolgt von einem optionalen "I", falls die Schrift kursiv (italic) dargestellt werden soll,
  • gefolgt von einer Zahl zur Bezeichnung des Codes (Zeichensatz) sowie
  • der Endung ".ttf".

Beispiele für solche Anweisungen:

fontname: chaucer_B0.ttf
fontname: comic_0.ttf

Die fontname-Zeile wird gefolgt von Zeilen druckbarer Zeichen, welche die Binärwerte des Inhalts der Schriftartdatei darstellen. Jede Zeile ist genau 80 Zeichen lang, ausgenommen die letzte Zeile, welche kürzer sein kann.

Die genaue Art der Umwandlung von binären in druckbare Zeichen ist im Anhang B dieses Dokuments genauer beschrieben.

Eingebundene Bilddateien

[Graphics]

Dieser Abschnitt enthält textcodierte Bilddateien, falls der Anwender sich dafür entschieden hat, Bilddateien innerhalb des Skripts zu verwenden.

Die textcodierte Darstellung dieser binären Bilddateien ist zwar ineffizient, doch sie garantiert, dass die Bearbeitung von SSA-Skripten mit jedem normalen Texteditor weiterhin möglich bleibt.

Jede Bilddatei wird durch eine Zeile im Format

filename: <dateiname>

eingeleitet.

Das Wort "filename" muss in Kleinbuchstaben notiert werden (Großbuchstaben werden als Teil des Inhalts einer textcodierten Datei interpretiert).

<dateiname> ist der Name der Datei, unter dem SSA die Bilddatei abspeichern wird. Er muss dem Namen eines in der Skript-Datei verwendeten Bildes entsprechen.

SSA speichert alle innerhalb des Skripts gefundenen Bilder in einem Unterverzeichnis seines Programm-Installationsverzeichnisses mit dem Namen "Pictures", also beispielsweise im Verzeichnis "c:\Programme\Sub Station Alpha v4.00\Pictures". SSA versucht, Dateien zunächst über den im Skript angegebenen Namen zu laden; wird eine Bilddatei dort nicht gefunden, dann sucht SSA nach dieser Datei in seinem "Pictures"-Unterverzeichnis.

Die filename-Zeile wird gefolgt von Zeilen druckbarer Zeichen, welche die Binärwerte des Inhalts der Bilddatei darstellen; für das Format gilt dasselbe wie bei Schriftartdateien.

Zeilentypen innerhalb eines SSA-Skripts

Liste aller Zeilentypen eines SSA-Skripts

Dieses Kapitel enthält eine Kurzbeschreibung aller Zeilentypen, die innerhalb eines SSA-Skripts zulässig sind. Eine vollständige Beschreibung jedes einzelnen Zeilentyps ist den nachfolgenden Kapiteln zu entnehmen.

Zeilentyp Bedeutung
!: Dies kennzeichnet eine Kommentarzeile innerhalb des Skripts. Der Inhalt dieser Zeile ist nicht sichtbar, wenn das Skript mit SSA geöffnet wird.
Title: In dieser Zeile kann man dem Skript einen beschreibenden Namen geben.
Original Script: Der bzw. die ursprünglichen Autor(en) des Skripts
Original Translation: (optional) Der ursprüngliche Übersetzer der Dialoge
Original Editing: (optional) Der bzw. die ursprüngliche(n) Editor(en) des Skripts, üblicherweise der bzw. die Namen derjenigen Person(en), welche die unbearbeitete Übersetzung in idiomatisches und besser lesbares Englisch umgewandelt haben.
Original Timing: (optional) Angaben über den bzw. die Timer, d. h. die Person(en), welche das Timing des Original-Skripts erstellt haben.
Synch Point: (optional) Die Angabe des Zeitpunkts, ab dem innerhalb des Videos das Abspielen dieses Skripts begonnen werden soll.
Script Updated By: (optional) Namen anderer Bearbeiter des Original-Skripts (Fansubber-Gruppen etc.).
Update Details: Eine Beschreibung der während dieser Bearbeitung vorgenommenen Änderungen.
ScriptType: Die Version des verwendeten SSA-Skriptformats, z. B. "V3.00".
Collisions: Eine Festlegung des anzuwendenden Verfahrens für die Bewegung von Untertitel, um Kollisionen bei deren Anzeige zu verhindern.
PlayResY: Die Höhe des Bildschirmformats, welches beim Abspielen des Videos vom Skript-Autor verwendet wurde.
PlayResX: Die Breite des Bildschirmformats, welches beim Abspielen des Videos vom Skript-Autor verwendet wurde.
PlayDepth: Die Farbtiefe, welches beim Abspielen des Videos vom Skript-Autor verwendet wurde.
Timer: Eine Abspiel-Geschwindigkeit für das Skript als Prozentangabe. Der Wert "100.0000" entspricht einer Geschwindigkeit von genau 100%. Diese Timer-Geschwindigkeit wird von SSA als Multiplikator auf alle Zeitangaben der SSA-eigenen Uhr angewendet (to provide a ramp time?).
WrapStyle: Eine Definition einer Strategie zum automatischen Zeilenumbruch für anzuzeigenden Text.
[[|Style:]] Eine Style-Definition, die verwendet wird, um den vom Skript anzuzeigenden Text zu formatieren.
[[|Dialogue:]] Ein Dialog-Ereignis, d. h. ein anzuzeigender Text.
[[|Comment:]] Ein Kommentar-Ereignis. Es kann dieselben Informationen wie ein Dialog-, Bild-, Sound-, Movie- oder Kommando-Ereignis enthalten, wird jedoch beim Abspielen des Skripts ignoriert.
[[|Picture:]] Ein Bild-Ereignis; SSA zeigt die angegebene Graphik im Format .bmp, .jpg, .gif, .ico bzw .wmf ab.
[[|Sound:]] Ein Sound-Ereignis; SSA spielt die angegebene .wav-Datei ab.
[[|Movie:]] Ein Movie-Ereignis; SSA spielt die angegebene .avi-Datei ab.
[[|Command:]] Ein Kommando-Ereignis; SSA führt das angegebene Programm als Hintergrund-Task aus.

Der Kopfabschnitt eines SSA-Skripts

Zeile ";"

Nach dem Semikolon darf beliebiger Text folgen. Dies ist eine Kommentarzeile innerhalb des Skripts; sie ist nicht sichtbar, wenn das Skript in SubStationAlpha geladen wird.

Das Semikolon muss das erste Zeichen innerhalb der Zeile sein.

Dieses Zeilenformat löst den Zeilentyp "!:" früherer Skript-Versionen ab.

Zeile "Title:"

Diese Zeile enthält einen beschreibenden Titel des Skripts.

Haben der bzw. die Original-Autor(en) hier keinen Wert angegeben, dann wurde automatisch der Wert "<untitled>" eingetragen.

Zeile "Original Script:"

Der bzw. die Original-Autor(en) des Skripts.

Haben der bzw. die Original-Autor(en) hier keinen Wert angegeben, dann wurde automatisch der Wert "<untitled>" eingetragen.

Zeile "Original Translation:"

(optional) Der Original-Übersetzer der Dialoge.

Hat der Autor hier keinen Wert angegeben, dann ist diese Zeile nicht im Skript enthalten.

Zeile "Original Editing:"

(optional) Der Editor des Original-Skripts, üblicherweise also derjenige, der die Rohfassung der Übersetzung in idiomatisches, lesbares Englisch verwandelt hat.

Hat der Autor hier keinen Wert angegeben, dann ist diese Zeile nicht im Skript enthalten.

Zeile "Original Timing:"

(optional) Diejenige Person, welche das Timing des Original-Skripts erstellt hat.

Hat der Autor hier keinen Wert angegeben, dann ist diese Zeile nicht im Skript enthalten.

Zeile "Synch Point:"

(optional) Festlegung eines Zeitpunkts innerhalb des Videos, ab welchem die Auswertung des Skripts beim Abspielen begonnen werden soll.

Hat der Autor hier keinen Wert angegeben, dann ist diese Zeile nicht im Skript enthalten.

Zeile "Script Updated By:"

(optional) Namen beliebiger andere Fansubgruppen, von denen das Original-Skript bearbeitet wurde.

Haben nachfolgende Bearbeiter des Skripts hier keinen Wert angegeben, dann ist diese Zeile nicht im Skript enthalten.

Zeile "Update Details:"

Eine Beschreibung der vorgenommenen Änderungen am Original-Skript (durch andere Fansub-Gruppen).

Haben nachfolgende Bearbeiter des Skripts hier keinen Wert angegeben, dann ist diese Zeile nicht im Skript enthalten.

Zeile "Script Type:"

Dies ist die Version des in diesem SSA-Skript verwendeten Formats, z. B. "V4.00". Sie wird von SubStationAlpha dazu verwendet, um beim Laden eines Skripts in eine SSA-Version, die selbst älter ist als die Version des Skripts, eine Warnung auszugeben.

Die Version von ASS-Skripten lautet "V4.00+".

Zeile "Collisions:"

Diese Angabe legt fest, auf welche Weise Untertitel an einer anderen als der geplanten Stelle angezeigt werden, um eine automatisch erkannte Kollision zwischen mehreren Untertitel-Einblendungen zu verhindern:

  • Falls dieser Eintrag den Wert "Normal" enthält, dann wird SSA versuchen, Untertitel an den durch ihre Randabstands-Definitionen definierten Positionen einzublenden. Es ist allerdings möglich, dass Untertitel vertikal verschoben werden, um Kollisionen zu vermeiden. Die Einstellung "Normal" bewirkt dabei ein "Übereinander-Stapeln" von Untertiteln, welche jedoch so nahe wie möglich am vertikalen (unteren) Rand positioniert werden - wobei eine Einblendung auch in einer "Lücke" zwischen den bereits angezeigten Untertiteln erfolgen kann, falls diese dafür genügend Platz bietet.
  • Falls dieser Eintrag den Wert "Reverse" enthält, dann werden bereits angezeigte Untertitel nach oben verschoben, um Platz für neue, überlappende Untertitel zu schaffen. Die Untertitel können also praktisch immer von oben nach unten in der Reihenfolge ihrer Einblendung gelesen werden - es ist allerdings möglich, dass der zuerst eingeblendete Untertitel etwa in der Mitte des Bildschirms angezeigt wird, bevor nachfolgende überlappende Untertitel sichtbar werden. Diese Methode kann also eine Menge Platz auf dem Bildschirm belegen.

Zeile "PlayResY:"

Dies beschreibt die Höhe des Bildschirmformats, die der Skript-Autor beim Abspielen des Skripts verwendet hat.

SSA v4 wird automatisch die Einstellung mit der geringstmöglichen Abweichung auswählen, falls das Playback-Verfahren "Directdraw" verwendet wird.

Zeile "PlayResX:"

Dies beschreibt die Breite des Bildschirmformats, die der Skript-Autor beim Abspielen des Skripts verwendet hat.

SSA v4 wird automatisch die Einstellung mit der geringstmöglichen Abweichung auswählen, falls das Playback-Verfahren "Directdraw" verwendet wird.

Zeile "PlayDepth:"

Dies beschreibt die Farbtiefe, die der Skript-Autor beim Abspielen des Skripts verwendet hat.

SSA v4 wird automatisch die Einstellung mit der geringstmöglichen Abweichung auswählen, falls das Playback-Verfahren "Directdraw" verwendet wird.

Zeile "Timer:"

Legt die Timer-Geschwindigkeit für das Skript fest, in Form eines Prozentwerts. Beispiel: "100.0000" entspricht exakt 100%. Der Wert wird auf vier Dezimalstellen nach dem Komma genau angegeben.

Die Timer-Geschwindigkeit wirkt als Multiplikator angewendet auf die interne Uhr von SSA, um die Dauer eines Skripts zu strecken bzw. zu stauchen. Eine Geschwindigkeit größer als 100% reduziert die Abspieldauer des Skripts, so dass der Abspielzeitpunkt der Untertitel mit wachsender Laufzeit des Skripts immer weiter nach vorne verschoben wird. Eine Geschwindigkeit kleiner als 100% erhöht die Abspieldauer des Skripts, so dass der Abspielzeitpunkt der Untertitel mit wachsender Laufzeit des Skripts immer weiter nach vorne verschoben wird (ähnlich einer positiven "ramp time").

Diese Streckung oder Stauchung tritt nur während des Abspielens des Skripts auf - die tatsächlichen Zeitangaben der Events innerhalb des Skripts werden durch diese Angabe nicht verändert.

(Check the SSA user guide if you want to know why "Timer Speed" is more powerful than "Ramp Time", even though they both achieve the same result.)

Zeile "WrapStyle:"

Legt die Art des Zeilenumbruchs fest:

  • 0: Intelligenter Zeilenumbruch, die dabei erzeugten Zeilen werden möglichst gleich lang gestaltet, wobei die oberste Zeile breiter wird.
  • 1: Zeilenumbruch nur durch Zeilenende in der Datei und \N.
  • 2: kein Zeilenumbruch außer durch \n bzw. \N.
  • 3: Wie 0, aber die unterste Zeile wird breiter.

Style-Definitionen in einem SSA-Skript

Ereignisse (Events) in einem SSA-Skript

Dialog-Ereignisse (Texteinblendungen)

Diese Zeilen enthalten

  • den Untertiteltext,
  • Angaben über den Zeitpunkt sowie
  • weitere Angaben über die Art, wie die Anzeige erfolgen soll.

Die Liste aller Felder, welche in einer Ereigniszeile enthalten sind, wird von einer "Format:"-Zeile definiert, die vor allen Ereigniszeilen innerhalb dieses Abschnitts angegeben werden muss. Diese Formatbeschreibungszeile spezifiziert, wie SSA den Inhalt sämtlicher nachfolgenden Ereigniszeilen interpretieren soll. Die Namen der einzelnen Felder müssen exakt wie nachfolgend angegeben geschrieben werden; folgende Feldnamen stehen zur Verfügung:

Das letzte Feld einer Event-Zeile ist immer der Untertiteltext, welcher deshalb selbst Kommata enthalten darf.

(Anmerkung: Diese Art der variablen Formatdefinition ist bewusst so gestaltet, dass bei zukünftigen Format-Erweiterungen weitere Felder hinzu kommen könnten und eine ältere Software-Version dennoch diejenigen Felder lesen könnte, die sie auswerten kann, selbst wenn sich die Reihenfolge der Felder geändert haben sollte - weil sie Felder mit ihr unbekannter Bedeutung einfach ignorieren und über die "Format:"-Zeile die geänderte Reihenfolge der Felder erkennen kann).

Event-Feld 1: Marked

Wertebereich für SSA: Marked=[0 bzw. 1]

Wertebereich für ASS: ganze Zahl

Achtung: Die Bedeutung von Feld 1 unterscheidet sich zwischen dem SSA- und dem ASS-Format!

Im SSA-Format bedeutet "Marked=1", dass die Zeile vom Programm SSA als 'markiert' angezeigt wird.

Im ASS-Format definiert dieses Feld eine logische Ebene, auf der dieser Untertitel liegt. Untertitel verschiedener Ebenen üben während der Prüfung auf Überlappung (Kollisionen) von Einblendungen keinen Effekt aufeinander aus.

Eine Ebene mit einer höheren Nummer überlagert eine Ebene mit einer niedrigeren Nummer.

Event-Feld 2: Start

Wertebereich: 0:00:00:00 (h:mm:ss:nn)

Startzeitpunkt des Ereignisses im Format Stunde:Minute:Sekunde:Hundertstelsekunde. Dies ist der Zeitpunkt seit dem Beginn des Abspielens des Skripts, zu dem die Anzeige des Textes auf dem Bildschirm beginnt.

Achtung: Für die Angabe der Stunde ist nur eine Dezimalziffer vorgesehen!

Event-Feld 3: End

Wertebereich: 0:00:00:00 (h:mm:ss:nn)

Endzeitpunkt des Ereignisses im Format Stunde:Minute:Sekunde:Hunterstelsekunde. Dies ist der Zeitpunkt seit dem Beginn des Abspielens des Skripts, zu dem die Anzeige des Textes auf dem Bildschirm endet.

Achtung: Für die Angabe der Stunde ist nur eine Dezimalziffer vorgesehen!

Event-Feld 4: Style

Wertebereich: Name

Name des für die Textdarstellung zu verwendenden Styles. Falls dieser Name den Wert "Default" hat, dann wird der in SSA eingestellte "*Default"-Style verwendet.

Der vom Skript-Autor definierte Default-Style wird jedoch im Skript gespeichert, obwohl er von SSA ignoriert wird - die Information bleibt für eine eventuelle spätere Verwendung erhalten.

Falls der Name des Default-Style mit Hilfe des Programms SSA in seiner Style-Definition geändert wird, bewirkt dies automatisch die Umwandlung dieses Styles in einen normalen Style.

Event-Feld 5: Name

Wertebereich: Name

Name des Sprechers. Dies ist der Name desjenigen Charakters, der diesen Dialog spricht. Diese Angabe ist nur als interne Information gedacht, um das Skript während des Editierens bzw. Timings lesbarer zu gestalten.

Event-Feld 6: MarginL

Wertebereich: Ganze Zahl (4 Stellen)

Definition eines linken Randes in Anzahl von Pixeln (vorrangig gegenüber dem verwendeten Style).

Ein Wert von Null bedeutet, dass die Definition des linken Randes aus der in dieser Zeile benutzten Style-Definition verwendet werden soll.

Event-Feld 7: MarginR

Wertebereich: Ganze Zahl (4 Stellen)

Definition eines rechten Randes in Anzahl von Pixeln (vorrangig gegenüber dem verwendeten Style).

Ein Wert von Null bedeutet, dass die Definition des rechten Randes aus der in dieser Zeile benutzten Style-Definition verwendet werden soll.

Event-Feld 8: MarginV

Wertebereich: Ganze Zahl (4 Stellen)

Definition eines unteren Randes in Anzahl von Pixeln (vorrangig gegenüber dem verwendeten Style).

Ein Wert von Null bedeutet, dass die Definition des unteren Randes aus der in dieser Zeile benutzten Style-Definition verwendet werden soll.

Event-Feld 9: Effect

Wertebereich: Name

Übergangseffekt, der auf den anzuzeigenden Text angewendet wird. Dieses Feld ist entweder leer oder es enthält Angaben über einen der in SSA v4.x implementierten Übergangseffekte. Groß- bzw. Kleinschreibung der Effekt-Namen ist signifikant, die Namen müssen exakt in der hier beschriebenen Schreibweise angegeben werden (ohne umgebende Hochkommata). Die Werte der Parameter hinter den Schlüsselworten werden jeweils durch Semikolons voneinander getrennt.

(Achtung: Einige der hier beschriebenen Übergangseffekte sind nur im ASS-Format verfügbar, nicht im SSA-Format.)

Mögliche Angaben für Übergangseffekte sind:

Karaoke-Effekt
  • (SSA) "Karaoke" bedeutet, dass der Text Wort für Wort farblich hervorgehoben wird.

("Karaoke" als Effekt-Art ist obsolet im Skript-Format für ASS, welches hierfür wesentlich detailliertere Möglichkeiten bereitstellt.)

Vertikales Bewegen von Text (Scrolling)
  • (SSA) "Scroll up;<y1>;<y2>;<delay>" bedeutet, dass der Text bzw. das Bild innerhalb des Bildschirms nach oben bewegt wird.
  • (ASS) "Scroll up;<y1>;<y2>;<delay>[;<fadeawayheight>]" - erweitert um einen zusätzlichen Parameter.
  • (ASS) "Scroll down;<y1>;<y2>;<delay>[;<fadeawayheight>]" - analog zu "Scroll up;", der Text wird nach unten bewegt.

Die Werte <y1> und <y2> definieren einen vertikalen Bereich des Bildschirms, innerhalb dessen der Text bewegt wird. Diese Werte sind in Pixeln angegeben, und es ist irrelevant, in welcher Reihenfolge die obere und untere Grenze dieses Bereichs angegeben wird. Falls beide Parameter den Wert 0 haben, dann wird der Text über die gesamte Höhe des Bildschirms bewegt.

Der Parameter <delay> kann einen Zahlenwert zwischen 1 und 100 annehmen; er legt die Verzögerung der Bewegung fest. Der Wert 0 bedeutet keine Verzögerung, die Bewegung erfolgt also so schnell wie möglich.

Der Parameter <fadeawayheight> kann dazu verwendet werden, den bewegten Text an den jeweiligen Rändern ein- und auszublenden.

(Achtung: Das "subtitler"-Plugin von Avery Lee interpretiert die Parameter des "Scroll up"-Effekts in der vom Skript-Format abweichenden Reihenfolge "<delay>;<y1>;<y2>".)

Horizontales Bewegen von Text (Banner)
  • (SSA) "Banner;<delay>" bedeutet, dass der Text unbedingt in einer einzigen Zeile (ohne Zeilenumbruch) angezeigt wird, ungeachtet seiner Länge, und dabei von rechts nach links über den Bildschirm geschoben wird.
  • (ASS) "Banner;<delay>[;<lefttoright>;<fadeawaywidth>]"

Der Parameter <delay> kann einen Zahlenwert zwischen 1 und 100 annehmen; er legt die Verzögerung der Bewegung fest. Der Wert 0 bedeutet keine Verzögerung, die Bewegung erfolgt also so schnell wie möglich. Wenn für den Parameter <delay> ein Wert größer als 0 angegeben wird, dann wird die Bewegung des Textes um jeweils einen Pixel (1000/<delay>) Sekunden dauern.

Der Parameter <lefttoright> kann den Wert 0 (Bewegung des Textes von rechts nach links) bzw. 1 (Bewegung des Textes von links nach rechts) annehmen; dieses Feld ist optional, sein Defaultwert is 0 (um abwärtskompatibel zum SSA-Format zu sein).

Der Parameter <fadeawaywidth> kann dazu verwendet werden, den bewegten Text an den jeweiligen Rändern ein- und auszublenden.

Event-Feld 10: Text

Wertebereich: Text

Untertiteltext. Dies ist der Text, der auf dem Bildschirm angezeigt wird.

Alles hinter dem 9. Komma einer "Event"-Zeile wird als Untertiteltext behandelt; folglich darf dieses selbst auch Kommata enthalten.

Der Text darf die Zeichenkette "\N" enthalten, welche einen Zeilenumbruch bewirkt, und darüber hinaus spezielle Formatierungsanweisungen, die in geschweifte Klammern eingeschlossen werden.

Kommentarzeilen im Ereignis-Abschnitt

Einbindung von Bild-Dateien

Einbindung von Sound-Dateien

Einbindung von Video-Dateien

Spezielle Kommandos

Solche Zeilen weisen dieselbe Struktur auf wie Dialog-Ereignisse, doch statt eines Untertiteltextes enthält Feld 10 den vollständigen Pfad- und Dateinamen eines auszuführenden Programms.

Angaben über Styles, Randdefinitionen und Übergangseffekte werden ignoriert. Auch der Endzeitpunkt hat keine Bedeutung - das Programm wird solange ausgeführt, bis es sein normales Ende erreicht hat oder vom Anwender manuell beendet wurde.

Außerdem dürfen einige SSA-interne Kommandos in SSA-Skripten verwendet werden: Die beiden Kommando-Ereignisse

  • "SSA:Pause" und
  • "SSA:Wait for trigger" sowie
  • genlock control commands (?).

All diese Kommandos beginnen mit der Zeichenkette "SSA:".

Das Kommando "SSA:Pause" hat dieselbe Wirkung wie ein Druck auf die Taste P während des Abspielens des Skripts. Es ist hilfreich als Synchronisationspunkt, um die Untertitelung an dieser Stelle fortzusetzen, falls beim Abspielen des Videos eine Laserdisk umgewendet werden muss.

Das Kommando "SSA:Wait for audio trigger" hat ebenfalls denselben Effekt wir ein Druck auf die Taste P während des Abspielens des Skripts, aber das Abspielen wird automatisch fortgesetzt, sobald die Audio-Eingabe an den Computer ein bestimmtes Trigger-Niveau überschreitet. Dies ist nützlich als eine zweite Art von Synchronisationspunkt, um die Untertitelung nach dem Umwenden einer Laserdisk fortzusetzen. Der Audio-Trigger kann durch einen Druck auf die Taste P außer Kraft gesetzt werden.

Die Wirkung eines Audio-Triggers endet spätestens nach 10 Minuten - falls bis dahin weder ein entsprechender Audio-Peak erreicht oder die Taste P gedrückt wurde, wird das Abspielen des Skripts automatisch fortgesetzt.

Anhänge

Anhang A: Style-Markierungen innerhalb von Untertiteltexten

Einfache Markierungen

Funktionen

Operationen zum Zeichnen von Graphiken

Anhang B: Codierung eingebundener Zeichensatz- bzw. Bilddateien