SubStation Alpha

From Wikipedia, the free encyclopedia
Jump to: navigation, search
SubStation Alpha
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.

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[edit]

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[edit]

  • 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 & \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. {\bord8\be1}
  • \N and \n commands don't use braces.

Advanced SubStation Alpha[edit]

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 nobody\NThe second line in subtitle

Software support[edit]

Authoring software[edit]

Title Platform License Notes
Aegisub Windows, Linux, FreeBSD, Mac OS X Free and open-source The official subtitle editor, focused mostly on typesetting.
Gaupol Linux and Windows Free and open-source Has partial support for Sub Station Alpha and Advanced Sub Station Alpha subtitles.[1]
Jubler Java Free and open-source [citation needed]
Miyu Mac OS X, Freeware [2]
Sabbu Windows, Mac OS X, Linux and BSD Free and open-source Focused mostly on timing. No longer developed.[citation needed]
Sub Station Alpha Windows Freeware Outdated and no longer developed, but still a favorite of some[3]
Subtitle Composer Linux Free and open-source Supports SSA/ASSA formats, text style and colors, unsupported SSA styles are ignored.[4]
Subtitle Edit Linux and Windows Free and open-source
Subtitle Processor Windows Free and open-source Unicode is supported from version 7.7, UTF-8 is preferred, other encodings are internally converted to UTF-8.[5]
Subtitle Workshop Windows Freeware It is not advised because it is not a fully dedicated SSA/ASS editor, because it doesn't follow the strict rules about SSA subtitles, and it erases any style put in with another program.[6]
subtitleeditor GNU/Linux Free and open-source [7]
VisualSubSync Microsoft Windows Free and open-source [8]
Надписвачът Windows Freeware Fully SSA oriented. Supports ANSI and Unicode subtitles.[9]

Subtitle encoding software[edit]

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

Title Platform License Notes
FFmpeg Windows, Linux, Mac OS Free and open-source FFmpeg can also encode and convert subtitles in video containers including 'Subtitles Character Encoding Conversion' for plaintext files and special characters[10]
iSubtitle MacOS Proprietary software Encoding of soft subtitled movies for Apple gears[11]
HandBrake Windows, Linux, Mac OS Free and open-source HandBrake is an open-source, GPL-licensed, multiplatform video transcoder[12]
XMedia Recode Windows Freeware XMedia Recode is a free All-In-One video converter and audio converter tool[13]

Players and renderers[edit]

Title Description
Avidemux Open-source video editing and processing software product
DirectVobSub a DirectShow codec for displaying SSA subtitles in Windows Media Player or other Directshow player (there is also a fork of it called xy-VSFilter).
DivX The proprietary DivX Plus software supports this subtitle format[14]
GStreamer Open-source multimedia framework that supports SSA subtitles through its plugin architecture
HandBrake Open-source video transcoder (video converter) that can process SSA subtitles (either soft-subbing or hard-subbing them, depending on the user's preference)
KooRaRoo Media A media server and organizer for Windows. Supports rendering external subtitles as SSA on devices that don't support external or embedded subtitles.
libass Open-source library used by Aegisub, Avidemux, GStreamer, HandBrake, MPlayer, Totem, VLC media player, XBMC, and many other open-source programs to render/process SSA subtitles
Media Player Classic Home Cinema[15] Open-source self-contained media player for Windows
MPlayer Open-source media player that runs on Windows, Mac OS X, Linux, *BSD, Solaris, BeOS, Syllable, AmigaOS and MorphOS
PS3 Media Server Media server that works with PlayStation 3 systems
Totem GNOME's default media player that can render SSA subtitles via GStreamer
VideoPad Video editing program from NCH Software that support .ssa subtitles[16]
VirtualDub with the subtitler or textsub filters[17] Open-source video capture/processing utility for 32-bit and 64-bit Windows platforms
VLC media player Open-source media player for Windows, Mac OS X, Linux, FreeBSD, OpenBSD, Solaris, BeOS and Syllable
XBMC Open-source cross-platform Media Center program
xy-VSFilter a DirectShow codec for displaying SSA subtitles in Windows Media Player or other Directshow player, included in the Combined Community Codec Pack and the K-Lite Codec Pack (it is a fork of DirectVobSub)

Further reading[edit]

References[edit]

  1. ^ "Gaupol Subtitle Editor". Home.gna.org. Retrieved 2010-08-19. 
  2. ^ "Miyu". Fluffalope Factory. Retrieved 2010-08-19. [dead link]
  3. ^ "Sub Station Alpha - Video software and downloads". VideoHelp.com. Retrieved 2010-08-19. 
  4. ^ "Subtitle Composer". Retrieved 25 November 2013. 
  5. ^ "Subtitle Processor | Download Subtitle Processor software for free at". Sourceforge.net. Retrieved 2010-08-19. 
  6. ^ "URUWorks - Subtitle Workshop". Urusoft.net. Retrieved 2010-08-19. 
  7. ^ "Subtitle Editor". Kitone.free.fr. Retrieved 2010-08-19. 
  8. ^ "VisualSubSync". Visualsubsync.org. 2010-04-18. Retrieved 2010-08-19. 
  9. ^ "Надписвачът". Retrieved January 2012. 
  10. ^ "FFmpeg". ffmpeg.org. 
  11. ^ "iSubtitle". bitfield.se/isubtitle. 
  12. ^ "HandBrake". handbrake.fr. 
  13. ^ "XMedia Recode". xmedia-recode.de. 
  14. ^ "DivX Plus Software". DivX.com. DivX, LLC is a subsidiary of Rovi Corporation. Retrieved 11 November 2011. 
  15. ^ http://mpc-hc.sourceforge.net/History.html
  16. ^ http://www.nchsoftware.com/videopad/subtitles.html
  17. ^ VirtualDub Filters