The [Events] section starts with a Format: line naming the
fields, followed by one line per event: the event’s type, a colon, then the values
separated by commas. The order of events in the file does not matter to playback.
libass and VSFilter act only on Dialogue events.
Fields
| Field | Values | Meaning |
|---|---|---|
Layer | Integer | Drawing layer. Higher layers are drawn over lower ones, and events on different layers ignore each other for collision. |
Start | H:MM:SS.CC | When the event starts. One digit for the hour, then centiseconds. |
End | H:MM:SS.CC | When the event ends. |
Style | Name | A style’s name. Default maps to *Default. |
Name | Text | Speaker’s name, informational only. |
MarginL | Four digits | Overrides the style’s margin. All zeros use the style’s value. |
MarginR | Four digits | As above. |
MarginV | Four digits | As above. |
Effect | Text | A transition effect, or empty. |
Text | Text | The subtitle with its override tags. Always last, so it may contain commas. |
Text uses \n for a soft line break (a space unless wrap style 2) and
\N for a hard one. \h is a non-breaking space.
Event types
| Type | Meaning |
|---|---|
Dialogue | A subtitle. |
Comment | Has the same fields as an event but is ignored during playback. |
Picture | Shows an image file (.bmp, .jpg, .gif, .ico, .wmf); the style is ignored and margins give its bottom-left corner. |
Sound | Plays a .wav. Style, margins and End are ignored. |
Movie | Plays an .avi. Margins give its top-left corner; End says when the picture goes. |
Command | Runs a program. Style, margins, transitions and End are ignored. Internal commands include SSA:Pause and SSA:Wait for audio trigger. |
Only SubStation Alpha itself acted on the last four types. The file names in those
events are held in the Text field.
Effect values
Effect names are case-sensitive. Parameters are separated by semicolons.
| Effect | Meaning |
|---|---|
Karaoke | Obsolete. |
Scroll up;y1;y2;delay[;fadeawayheight] | Scrolls text up between two heights. Zero y values mean full screen height. Delay is 1–100, with 0 fastest. |
Scroll down;y1;y2;delay[;fadeawayheight] | The same, downward. |
Banner;delay[;lefttoright;fadeawaywidth] | Scrolls a single line across the screen. lefttoright is 0 (default, right to left) or 1. |
The specification warns that one old renderer, Avery Lee’s subtitler plugin, read the
parameters of Scroll up in a different order, as
delay;y1;y2.
Worked example
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,Anna,0,0,0,,{\pos(960,540)}Where are we going?
Comment: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Check this line
Dialogue: 1,0:00:04.00,0:00:06.25,Default,,0,0,0,Scroll up;0;0;50,The end