Subtitle formats
Reference links
- http://suntechnic.ru/amusements/subtitles/subtitles_overview.html
- http://subs.com.ru/list.php?c=subtitle_formats
ASS - Advanced SubStation Alpha
Official website:
Wikipedia: http://en.wikipedia.org/wiki/SubStation_Alpha#Advanced_SubStation_Alpha
What is 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.
Format specifications
Format specifications:
Example
[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, <br>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
FSB - FanSubber Script
Official website:
Wikipedia:
What is FanSubber Script
Format specifications
Format specifications:
Example
IDX
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
Example
JS - JACOsub
Official website: http://unicorn.us.com/jacosub/
Wikipedia:
What is JACOsub?
JACOsub is a program (now open source) designed for displaying timed sequences of titles and graphics over a video. Professional-quality output and flexibility have been the primary goals since the program's inception. It was originally written for the Japanese Animation Club of Orlando (JACO) to lay English subtitles over Japanese-language films and television shows. The program has spread and grown in popularity due to its extremely flexible script format, clean multi-buffered title transitions, and other features described in the next section.
The development of JACOsub has been primarily user-driven. Most of the program's more interesting features exist because users suggested them. Because of the valuable input given by so many people, JACOsub has become an exceptionally powerful program while retaining its initial simplicity at the same time.
Format specifications
Format specifications: http://unicorn.us.com/jacosub/jscripts.html
Example
# VobSub index file, v7 (do not modify this line!) # # To repair desyncronization, you can insert gaps this way: # (it usually happens after vob id changes) # # delay: [sign]hh:mm:ss:ms # # Where: # [sign]: +, - (optional) # hh: hours (0 <= hh) # mm/ss: minutes/seconds (0 <= mm/ss <= 59) # ms: milliseconds (0 <= ms <= 999) # # Note: You can't position a sub before the previous with a negative value. # # You can also modify timestamps or delete a few subs you don't like. # Just make sure they stay in increasing order. # Settings # Original frame size size: 720x480 # Origin, relative to the upper-left corner, can be overloaded by aligment org: 0, 0 # Image scaling (hor,ver), origin is at the upper-left corner or at the alignment coord (x, y) scale: 100%, 100% # Alpha blending alpha: 100% # Smoothing for very blocky images (use OLD for no filtering) smooth: OFF # In millisecs fadein/out: 50, 50 # Force subtitle placement relative to (org.x, org.y) align: OFF at LEFT TOP # For correcting non-progressive desync. (in millisecs or hh:mm:ss:ms) # Note: Not effective in DirectVobSub, use "delay: ... " instead. time offset: 0 # ON: displays only forced subtitles, OFF: shows everything forced subs: OFF # The original palette of the DVD palette: 000000, 7e7e7e, fbff8b, cb86f1, 7f74b8, e23f06, 0a48ea, b3d65a, 6b92f1, 87f087, c02081, f8d0f4, e3c411, 382201, e8840b, fdfdfd # Custom colors (transp idxs and the four colors) custom colors: OFF, tridx: 0000, colors: 000000, 000000, 000000, 000000 # Language index in use langidx: 0 # English id: en, index: 0 # Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x # alt: English # Vob/Cell ID: 1, 1 (PTS: 0) timestamp: 00:00:01:101, filepos: 000000000 timestamp: 00:00:08:708, filepos: 000001000
LRC - Lyric
Official website:
Wikipedia: http://en.wikipedia.org/wiki/LRC_%28file_format%29
What is LRC?
LRC is a computer file format that synchronizes song lyrics with an audio file, such as MP3, Vorbis or MIDI. When an audio file is played with certain music players on a computer or on modern digital audio players, the song lyrics are displayed. The lyrics file generally has the same name as the audio file. For example, song.mp3 and song.lrc. The LRC format is text based and similar to subtitle files.
Format specifications
Format specifications:
Example
MKS - Matroska Subtitles
Official website: http://www.matroska.org/
Wikipedia: http://en.wikipedia.org/wiki/Matroska
What are Matroska subtitles?
The MKS file suffix is associated with the Matroska file format. Matroska is a container format generally used for video, audio and subtitles. The native file extension, that is used by Matroska, is MKV. MKS files contain only subtitle streams without video or audio data. The Matroska subtitle stream can contain some of the most used subtitle formats such as VobSub subtitle format (SUB), SubRip subtitle format (SRT), (Advanced) SubStation Alpha subtitle format (SSA/ASS) and Core Media Player XML universal subtitle format (USF).
Format specifications
Format specifications:
PJS - Phoenix Japanimation Society
Official website:
Wikipedia:
What is Phoenix Japanimation Society?
Phoenix Japanimation Society seems to be a fansubbing group of old times, a subtitle format of theirs and possibly also software for handling it.
Format specifications
Format specifications:
- Format is timed in tenths of seconds.
- Unknown whether spacing between/in front of timings are mandatory.
- Pipe character for forced line breaks.
- Text enclosed in double quotes.
Example
2447, 2513, "You should come to the Drama Club, too." 2513, 2594, "Yeah. The Drama Club is worried|that you haven't been coming." 2603, 2675, "I see. Sorry, I'll drop by next time."
RT - RealText
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications: http://service.real.com/help/library/guides/realone/ProductionGuide/HTML/htmfiles/realtext.htm
Example
S2K - Sasami2k script
Official website:
Wikipedia:
What is Sasami2k script
Format specifications
Format specifications:
Example
SMI - SAMI
Official website:
Wikipedia: http://en.wikipedia.org/wiki/SAMI
What is SAMI?
SAMI (Synchronized Accessible Media Interchange) is a Microsoft accessibility initiative released in 1998. The structured markup language is designed to simplify creating captions for media playback on a PC, i.e. not for broadcast purposes.
SAMI documents are text, and can be written in any text editor, although there are special utilities available to create SAMI documents. They use .smi or .sami file extensions. The common use of .smi for SAMI files creates a file extension collision with SMIL files.
Each SAMI document may contain more than one language.
Format specifications
Format specifications:
Example
<SAMI> <HEAD> <TITLE>SAMI Example</TITLE> <SAMIParam> Media {cheap44.wav} Metrics {time:ms;} Spec {MSFT:1.0;} </SAMIParam> <STYLE TYPE="text/css"> <!-- P { font-family: Arial; font-weight: normal; color: white; background-color: black; text-align: center; } #Source {color: red; background-color: blue; font-family: Courier; font-size: 12pt; font-weight: normal; text-align: left; } .ENUSCC { name: English; lang: en-US ; SAMIType: CC ; } .FRFRCC { name: French; lang: fr-FR ; SAMIType: CC ; } --> </STYLE> </HEAD> <BODY> <-- Open play menu, choose Captions and Subtiles, On if available --> <-- Open tools menu, Security, Show local captions when present --> <SYNC Start=0> <P Class=ENUSCC ID=Source>The Speaker</P> <P Class=ENUSCC>SAMI 0000 text</P> <P Class=FRFRCC ID=Source>French The Speaker</P> <P Class=FRFRCC>French SAMI 0000 text</P> </SYNC> <SYNC Start=1000> <P Class=ENUSCC>SAMI 1000 text</P> <P Class=FRFRCC>French SAMI 1000 text</P> </SYNC> <SYNC Start=2000> <P Class=ENUSCC>SAMI 2000 text</P> <P Class=FRFRCC>French SAMI 2000 text</P> </SYNC> <SYNC Start=3000> <P Class=ENUSCC>SAMI 3000 text</P> <P Class=FRFRCC>French SAMI 3000 text</P> </SYNC> </BODY> </SAMI>
SRT - SubRip
Official website:
Wikipedia: http://en.wikipedia.org/wiki/SubRip
What is SubRip?
SubRip is a software program for Windows which "rips" (extracts) subtitles and their timings from video. It is free software, released under the GNU GPL. SubRip is also the name of the widely used and broadly compatible subtitle text file format created by this software.
Format specifications
Format specifications:
The SubRip file format is "perhaps the most basic of all subtitle formats." SubRip files are named with the extension .srt, and contain formatted plain text. The time format used is hours:minutes:seconds,milliseconds. The decimal separator used is the comma, since the program was written in France. The line break used is often the CR+LF pair. Subtitles are numbered sequentially, starting at 1. The sections must appear in numbered order in the file, and must also be sorted on start-time. Two sections can not overlap time-wise.
Subtitle index number Start time --> End time Text of subtitle (one or more lines) Blank line
Three override tags are supported: Bold, Italics and Underline. They use the common HTML-style tag pairs <b>bold</b>, <i>italics</i> and <u>underline</u>. Changing the font color with <font color="#ff0000"></font> or the font size with <font size="35"></font> is also possible but not supported by many players.
A feature of SubRip files that is supported by almost no players is the positioning of subtitles:
Subtitle index number Start time --> End time X1:Position left X2:Position right Y1:Position up Y2:Position down Text of subtitle (one or more lines) Blank line
Example
1 00:00:20,000 --> 00:00:24,400 Altocumulus clouds occur between six thousand 2 00:00:24,600 --> 00:00:27,800 and twenty thousand feet above ground level.
1 00:00:02,001 --> 00:00:16,001 X1:000 X2:000 Y1:050 Y2:100 Let us have some! Let us have some!
SSA - SubStation Alpha
Official website:
Wikipedia: http://en.wikipedia.org/wiki/SubStation_Alpha
What is SubStation Alpha?
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.
Format specifications
Format specifications:
A file consists of 4 or 5 parts, declared ala INI file (but it's not an INI !)
The first, "[Script Info]" contains some information about the subtitle file, such as it's title, who created it, type of script and a very important one : "PlayResY". Be carefull of this value, everything in your script (font size, positioning) is scaled by it. Sub Station Alpha uses your desktops Y resolution to write this value, so if a friend with a large monitor and a high screen resolution gives you an edited script, you can mess everything up by saving the script in SSA with your low-cost monitor.
The second, "[V4 Styles]", is a list of style definitions. A style describe how will look a text on the screen. It defines font, font size, primary/.../outile colour, position, aligment etc ...
For example this :
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding Style: Wolf main,Wolf_Rain,56,15724527,15724527,15724527,4144959,0,0,1,1,2,2,5,5,30,0,0
The third, "[Events]", is the list of text you want to display at the right timing. You can specify some attribute here. Like the style to use for this event (must be defined in the list), the position of the text (Left, Right, Vertical Margin), an effect. Name is mostly used by translator to know who said this sentence. Timing is in h:mm:ss.cc (centisec).
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: Marked=0,0:02:40.65,0:02:41.79,Wolf main,Cher,0000,0000,0000,,Et les enregistrements de ses ondes delta ? Dialogue: Marked=0,0:02:42.42,0:02:44.15,Wolf main,autre,0000,0000,0000,,Toujours rien.
"[Pictures]" or "[Fonts]" part can be found in some SSA file, they contains UUE-encoded pictures/font but those features are only used by Sub Station Alpha, i.e. no filter (Vobsub/Avery Lee Subtiler filter) use them.
Example
[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
SUB
The .sub file extension is used for a variety of external subtitle files.
SUB - MicroDVD
Official website: http://www.tiasoft.de/mdvdp/
Wikipedia: http://en.wikipedia.org/wiki/MicroDVD
What is MicroDVD?
MicroDVD is a subtitle file format for digital video. Its name is derived from a media player application designed to play DVD videos along with subtitles, originally developed by Tiamat Software. The application was first released in 2000 but development ended in 2001. Media players that support the format are able to interpret MicroDVD subtitles and mix their contents with their corresponding video files.
Format specifications
Format specifications:
MicroDVD subtitle files consist of multiple lines, each defining a portion of the subtitle text that must be displayed between certain given video frames. The line syntax is:
{start-frame}{stop-frame}Text
For example, if "Hello!" is to be displayed during the first 25 frames of a digital video, clip or movie, the corresponding .sub file must contain the line:[1]
{0}{25}Hello!
The duration of the text being displayed depends on the frame rate of the corresponding video file. For example, if the frame rate of the corresponding video file is 25 frames per seconds and the subtitle file in last example is accompanied with, "Hello!" is displayed for one second.
The font size cannot be configured in .sub files, only in player, but the font style of the subtitle displayed may be changed:
{0}{25}{y:i}Hello!
"Hello!" is displayed in italic.
{0}{25}{y:b}Hello!
"Hello!" is displayed in bold.
{0}{25}{y:u}Hello!
"Hello!" is underlined.
{0}{25}{y:s}Hello!
"Hello!" is stroked.
{0}{25}{C:$0000ff}Hello!
"Hello!" is displayed in red. The color format is: $BBGGRR (8 bits blue, 8 bits green and 8 bits red). Note that this is not standard RGB color model.
Example
{1}{1}25.000 {2447}{2513}You should come to the Drama Club, too. {2513}{2594}Yeah. The Drama Club is worried|that you haven't been coming. {2603}{2675}I see. Sorry, I'll drop by next time.
SUB - SubViewer
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
Example
SUB - VobSub
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
Example
TMP - TMPlayer
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
TMPlayer subtitles appear to come in five varieties:
time-base 00:00:00:
00:00:50:This is the Earth at a time|when the dinosaurs roamed... 00:00:53: 00:00:54:a lush and fertile planet. 00:00:56:
time-base 0:00:00:
0:00:50:This is the Earth at a time|when the dinosaurs roamed... 0:00:53: 0:00:54:a lush and fertile planet. 0:00:56:
time-base 00:00:00=
00:00:50=This is the Earth at a time|when the dinosaurs roamed... 00:00:53= 00:00:54=a lush and fertile planet. 00:00:56=
time-base 0:00:00=
0:00:50=This is the Earth at a time|when the dinosaurs roamed... 0:00:53= 0:00:54=a lush and fertile planet. 0:00:56=
and multiline time-base 00:00:00,1=
00:00:50,1=This is the Earth at a time 00:00:50,2=when the dinosaurs roamed... 00:00:53,1= 00:00:54,1=a lush and fertile planet. 00:00:56,1=
Example
TTS
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
Example
TXT
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
Example
USF (Universal Subtitle Format)
Official website:
Wikipedia: https://en.wikipedia.org/wiki/Universal_Subtitle_Format
What is Universal Subtitle Format
Universal Subtitle Format (USF) is a CoreCodec project to create a clean, documented, powerful and easy to use subtitle file format. It is based on XML for flexibility, unicode support, hierarchical system, and ease of administration.
USF subtitles are usually used in Matroska containers.
Format specifications
Format specifications:
Example
XSS - XombieSubs
Official website: http://xombie.soldats.net/
Wikipedia:
What are XombieSubs?
XombieSub is the name of a subtitling application and a subtitle format.
The application is written in legacy Visual Basic. It doesn't seem to work on all computers, for unknown reasons.
The format is mostly a variation of ASS, and XombieSub and ASS files are much alike.
Format specifications
Format specifications:
Example
ZEG - ZeroG
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications: