Girish Mahajan (Editor)

SubStation Alpha

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Filename extension
  
.ssa, .ass

Developed by
  
Kotus

SubStation Alpha (or Sub Station Alpha), abbreviated SSA, is a subtitle file format created by CS Low (also known as Kotus) that allows for more advanced subtitles than the conventional SRT and similar formats. This format can be rendered with VSFilter in conjunction with a DirectShow-aware video player (on Microsoft Windows), or MPlayer with the SSA/ASS library. It is also the name of the popular, now discontinued tool used to edit subtitles.

Contents

This subtitle format is frequently used in anime fansubs, either to overlay subtitles onto video while it is being encoded (hardsubbing), or to store subtitle data alongside video data in a Matroska (MKV) container (softsubbing). Hardsubbing is irreversible but does not require VSFilter or other special resources for playback. Softsubbing allows the end user to choose whether subtitles will be displayed, and makes it possible to include multiple subtitle streams in the same video file.

The current version of SSA is v4.00.

There are many freeware and open source subtitling applications that support the SSA format.

Principal sections in an SSA subtitle

A basic SSA subtitle:

[Script Info] ; This is a Sub Station Alpha v4 script. ; For Sub Station Alpha info and downloads, ; go to http://www.eswat.demon.co.uk/ Title: Neon Genesis Evangelion - Episode 26 (neutral Spanish) Original Script: RoRo Script Updated By: version 2.8.01 ScriptType: v4.00 Collisions: Normal PlayResY: 600 PlayDepth: 0 Timer: 100,0000 [V4 Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding Style: DefaultVCD, Arial,28,11861244,11861244,11861244,-2147483640,-1,0,1,1,2,2,30,30,30,0,0 [Events] Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: Marked=0,0:00:01.18,0:00:06.85,DefaultVCD, NTP,0000,0000,0000,,{pos(400,570)}Like an angel with pity on nobody

Explanation

  • Script Info: general information about the script:
  • Title
  • Original Script
  • Script Updated By
  • Script Type (useful for compatibility)
  • Collisions (determines the stacking direction of the subtitles when two or more are present with no specific position: if Normal, subtitles are stacked from down to up; if Reverse, they're stacked from up to down, and can leave spaces under them)
  • PlayResX & PlayResY (useful for graphics and subtitle positioning. If only one present, the other is calculated with real video proportions)
  • PlayDepth (determines number of colors)
  • Timer (all timing is multiplied by this percentage, always written with decimal point and four decimal signs. If smaller than 100.0000, subtitles appear faster and sooner than specified. If greater, slower and later)
  • V4 Styles: a "Format:" line, that specifies the meaning of the "Style:" line Fields, and one or multiple "Style" lines, specifying the color, position, margins, the "shape" of a normal subtitle when adjusted to a determinated style (see "Events" section below). All boolean options are written as 0 or 1 (0=false, 1=true). Strange features are:
  • PrimaryColour. Subtitle filling color
  • SecondaryColour. If subtitle has karaoke commands, will appear in this color, changing to PrimaryColour.
  • TertiaryColour (OutlineColour in ASS). Border color
  • BackColour. Shadow color
  • MarginL, MarginR. Minimum margins from subtitles to video limits.
  • MarginV. Minimum margin from subtitles to a video limit, that changes with alignment: if the video limit is the top, distances are from video top; if bottom, distances are from video bottom; if centered, this is unused. In all margin parameters, line is normally cut in & N commands and in spaces, when necessary. An optional parameter in Script Info (only available in ASS), WrapStyle, can change this.
  • Outline. Subtitle can be defined with a border, a rectangle or nothing.
  • Shadow. Distance from shadow to subtitle.
  • AlphaLevel. Transparency (0 is null, 255 is total)
  • Encoding. Useful for writing other alphabet characters in ASCII. With Latin characters, this is set to zero. With Japanese characters, it can be set to 128 (ex: ‹ó displays Sora kanji). With Hebrew characters, it can be set to 177.
  • Events: the section with the subtitles. Timing and text are here, and special effects and style modifications can also be placed, with commands with the same syntax: {letters invoking command(parameters separated by comma)}, like in {move(80,80,200,200,150,300)}. Commands with only a single parameter do not need parentheses (ex. {kf89}). Strange parameters:
  • Marked. Unused.
  • Effect. There are three available effects for text appearing, all of them substitutable for commands and others.
  • Two exceptions:

  • Inside braces can be more than one command. Ex. {ord8e1}
  • N and commands don't use braces.
  • Advanced SubStation Alpha

    Advanced SubStation Alpha (ASS) is a script for more advanced subtitles than SSA. It is technically SSA v4+. It is able to produce anything from simple texts to manual graphic editing used in karaoke. There are few programs designed to create these scripts. The main feature of ASS is it has more specifications than normal SSA, like in styles programming. For example, the above script changed into ASS:

    [Script Info] ; Script generated by Aegisub ; http://www.aegisub.net Title: Neon Genesis Evangelion - Episode 26 (neutral Spanish) Original Script: RoRo Script Updated By: version 2.8.01 ScriptType: v4.00+ Collisions: Normal PlayResY: 600 PlayDepth: 0 Timer: 100,0000 Video Aspect Ratio: 0 Video Zoom: 6 Video Position: 0 [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: DefaultVCD, Arial,28,&H00B4FCFC,&H00B4FCFC,&H00000008,&H80000008,-1,0,0,0,100,100,0.00,0.00,1,1.00,2.00,2,30,30,30,0 [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.18,0:00:06.85,DefaultVCD, NTP,0000,0000,0000,,{pos(400,570)}Like an Angel with pity on nobodyNThe second line in subtitle

    Subtitle encoding software

    Software tools to encode subtitle files into video containers (mkv, mp4, mov, ...):

    References

    SubStation Alpha Wikipedia