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
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 & \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
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
Authoring software
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 | |
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. |
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
Software tools to encode subtitle files into video containers (mkv, mp4, mov, ...):
Title | Platform | License | Notes |
---|---|---|---|
titlebee | Windows | Freeware | Hardsubbing movies on Windows[10] |
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[11] |
iSubtitle | MacOS | Freeware | Encoding of soft subtitled movies for Apple gears[12] |
HandBrake | Windows, Linux, Mac OS | Free and open-source | HandBrake is an open-source, GPL-licensed, multiplatform video transcoder[13] |
MKVToolNix | Windows, Linux, Mac OS, BSD, OpenIndiana | Free and open-source | MKVToolNix is a collection of tools for the Matroska media container format. |
XMedia Recode | Windows | Freeware | XMedia Recode is a free All-In-One video converter and audio converter tool[14] |
Players and renderers
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[15] |
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[16] | 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[17] |
VirtualDub with the subtitler or textsub filters[18] | 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 |
PotPlayer | Media player for Windows, with a huge amount of features and customizations, allowing screen recording, podcasts, and many user friendly shortcuts including global hotkeys |
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
- "SSA/ASS Subtitles". Matroska.org. CoreCodec, Inc. Retrieved 12 July 2010.
- Kotus (18 February 2002). "Sub Station Alpha v4.00+ Script Format" (Microsoft Word Document). Retrieved 11 July 2010.
- "ASS Tags". Aegisub Manual. aegisub.org. Retrieved 25 March 2014.
References
- ↑ "Gaupol Subtitle Editor". Home.gna.org. Retrieved 2010-08-19.
- ↑ "Miyu". Fluffalope Factory. Archived from the original on August 10, 2010. Retrieved 2010-08-19.
- ↑ "Sub Station Alpha - Video software and downloads". VideoHelp.com. Retrieved 2010-08-19.
- ↑ "Subtitle Composer". Retrieved 25 November 2013.
- ↑ "Subtitle Processor | Download Subtitle Processor software for free at". Sourceforge.net. Retrieved 2010-08-19.
- ↑ "URUWorks - Subtitle Workshop". Urusoft.net. Retrieved 2010-08-19.
- ↑ "Subtitle Editor". Kitone.free.fr. Retrieved 2010-08-19.
- ↑ "VisualSubSync". Visualsubsync.org. 2010-04-18. Retrieved 2010-08-19.
- ↑ "Надписвачът". Retrieved January 2012.
- ↑ "titlebee". titlebee.com.
- ↑ "FFmpeg". ffmpeg.org.
- ↑ "iSubtitle". bitfield.se/isubtitle.
- ↑ "HandBrake". handbrake.fr.
- ↑ "XMedia Recode". xmedia-recode.de.
- ↑ "DivX Plus Software". DivX.com. DivX, LLC is a subsidiary of Rovi Corporation. Retrieved 11 November 2011.
- ↑ http://mpc-hc.sourceforge.net/History.html
- ↑ http://www.nchsoftware.com/videopad/subtitles.html
- ↑ VirtualDub Filters