Subtitle formats: Difference between revisions
(→SSA - SubStation Alpha: added spec link) |
|||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Reference links = | |||
* http://suntechnic.ru/amusements/subtitles/subtitles_overview.html | |||
* http://subs.com.ru/list.php?c=subtitle_formats | |||
=ASS - Advanced SubStation Alpha= | =ASS - Advanced SubStation Alpha= | ||
Official website: | Official website: | ||
Line 34: | Line 39: | ||
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 | 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 | ||
</pre> | </pre> | ||
=DivX Subtitle (XSUB)= | |||
Official website: | |||
Wikipedia: | |||
===What is DivX Subtitle=== | |||
===Format specifications=== | |||
Format specifications: | |||
===Example=== | |||
=FSB - FanSubber Script= | |||
Official website: | |||
Wikipedia: | |||
===What is FanSubber Script=== | |||
===Format specifications=== | |||
Format specifications: | |||
===Example=== | |||
Line 128: | Line 159: | ||
timestamp: 00:00:01:101, filepos: 000000000 | timestamp: 00:00:01:101, filepos: 000000000 | ||
timestamp: 00:00:08:708, filepos: 000001000</pre> | timestamp: 00:00:08:708, filepos: 000001000</pre> | ||
=KATE= | |||
Official website: https://wiki.xiph.org/OggKate | |||
Wikipedia: | |||
===What is KATE=== | |||
Kate is an overlay codec, originally designed for karaoke and text, that can be multiplexed in Ogg. | |||
Text and images can be carried and animated by a Kate stream. Most of the time, they will (optionally) be multiplexed with audio/video to carry subtitles, song lyrics (with or without karaoke data), etc. | |||
===Format specifications=== | |||
Format specifications: | |||
===Example=== | |||
Line 193: | Line 240: | ||
=S2K - Sasami2k script= | |||
Official website: | |||
Wikipedia: | |||
===What is Sasami2k script=== | |||
===Format specifications=== | |||
Format specifications: | |||
===Example=== | |||
<pre> | |||
// translated by Sami2Sasami 1.0.7.300 | |||
// contact: nuclei@shinbiro.com | |||
;Set.Slot=1 | |||
;Set.Time.Delay=15000 | |||
;Set.Alpha.End=256 | |||
;Set.Alpha.Start=256 | |||
;Set.Alpha.Step=-300 | |||
;Set.Font.Bold=0 | |||
;Set.Font.Color=#EEF4FB | |||
;Set.Font.Outline.Color=#00101010 | |||
;Set.Font.Outline2.Color=#01101010 | |||
;Set.Font.Size=9 | |||
;Set.Font.Face=№ЩЕБ | |||
;Buffer.Push=1 | |||
;Buffer.Pop=1 | |||
;Set.Time.Start=18352 | |||
;Set.Start.Position.x=117 | |||
;Set.End.Position.x=117 | |||
;Set.Start.Position.y=203 | |||
;Set.End.Position.y=203 | |||
;Set.Start.Position.x=117 | |||
;Set.End.Position.x=117 | |||
;Set.Start.Position.y=203 | |||
;Set.End.Position.y=203 | |||
;(ї¬°бµК) | |||
;Set.Start.Position.x=164 | |||
;Set.End.Position.x=164 | |||
;Set.Start.Position.y=203 | |||
;Set.End.Position.y=203 | |||
;Set.Start.Position.x=164 | |||
;Set.End.Position.x=164 | |||
;Set.Start.Position.y=203 | |||
;Set.End.Position.y=203 | |||
Long, long ago, | |||
;Set.Start.Position.x=160 | |||
;Set.End.Position.x=160 | |||
;Set.Start.Position.y=221 | |||
;Set.End.Position.y=221 | |||
;Set.Start.Position.x=160 | |||
;Set.End.Position.x=160 | |||
;Set.Start.Position.y=221 | |||
;Set.End.Position.y=221 | |||
Ihrie! Hey, lhrie! | |||
;Set.Start.Position.x=160 | |||
;Set.End.Position.x=160 | |||
;Set.Start.Position.y=203 | |||
;Set.End.Position.y=203 | |||
;Set.Start.Position.x=160 | |||
;Set.End.Position.x=160 | |||
;Set.Start.Position.y=203 | |||
;Set.End.Position.y=203 | |||
;Set.Start.Position.x=160 | |||
;Set.End.Position.x=160 | |||
;Set.Start.Position.y=221 | |||
;Set.End.Position.y=221 | |||
;Set.Start.Position.x=160 | |||
;Set.End.Position.x=160 | |||
;Set.Start.Position.y=221 | |||
;Set.End.Position.y=221 | |||
What is it, Fam? | |||
</pre> | |||
=SMI - SAMI= | =SMI - SAMI= | ||
Line 308: | Line 433: | ||
00:00:02,001 --> 00:00:16,001 X1:000 X2:000 Y1:050 Y2:100 | 00:00:02,001 --> 00:00:16,001 X1:000 X2:000 Y1:050 Y2:100 | ||
Let us have some! Let us have some!</pre> | Let us have some! Let us have some!</pre> | ||
=SSA - SubStation Alpha= | =SSA - SubStation Alpha= | ||
Line 318: | Line 445: | ||
===Format specifications=== | ===Format specifications=== | ||
Format specifications: | Format specifications: http://moodub.free.fr/video/ass-specs.doc | ||
A file consists of 4 or 5 | A file consists of 4 or 5 sections, declared ala INI file (but it's not an INI!) | ||
The first, "[Script Info]" contains some information about the subtitle file, such as | The first section, "[Script Info]" contains some information about the subtitle file, such as its title and author, the type of script and a very important field: "PlayResY". Be careful of this value, everything in your script (font size, positioning) is scaled by it. Sub Station Alpha uses your desktop's 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 | The second section, "[V4 Styles]", is a list of style definitions. A style describes how text will look on the screen. It defines the font, font size, primary/.../outile colour, position, alignment etc. | ||
For example | For example: | ||
<pre>Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding | <pre>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</pre> | Style: Wolf main,Wolf_Rain,56,15724527,15724527,15724527,4144959,0,0,1,1,2,2,5,5,30,0,0</pre> | ||
The third, "[Events]", is the list of text you want to display at the right | The third section, "[Events]", is the list of text you want to display at the right time. You can specify some attributes here, like the style to use for each event (must be defined in the style list), the position of the text (Left, Right, Vertical Margin), and an effect. Name is mostly used by translator to know who said each sentence. Times are given as h:mm:ss.cc (centiseconds). | ||
<pre>Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text | <pre>Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text | ||
Line 337: | Line 464: | ||
Dialogue: Marked=0,0:02:42.42,0:02:44.15,Wolf main,autre,0000,0000,0000,,Toujours rien.</pre> | Dialogue: Marked=0,0:02:42.42,0:02:44.15,Wolf main,autre,0000,0000,0000,,Toujours rien.</pre> | ||
A "[Fonts]" section can be found in some SSA files. It contains uuencoded fonts. Most software supports it (including VSFilter and libass), but alternative distribution methods such as MKV attachments are safer. | |||
The format also supports a "[Graphics]" section with uuencoded files and Picture, Sound, Movie and Command event lines in the "[Events]" section, but these features are only supported by Sub Station Alpha itself, and no standalone renderer (VSFilter, libass, Avery Lee's Subtiler filter) supports them. | |||
===Example=== | ===Example=== | ||
Line 361: | Line 490: | ||
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 | 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 | ||
</pre> | </pre> | ||
=STL - Spruce Subtitle Format= | |||
Official website: http://www.reocities.com/mcpoodle43/DVDMaestro/stl_format.html | |||
Wikipedia: | |||
===What is STL=== | |||
The Spruce Subtitle format (extension .stl) was designed specifically for DVDMaestro. | |||
===Format specifications=== | |||
Format specifications: | |||
===Example=== | |||
Line 428: | Line 571: | ||
===Example=== | ===Example=== | ||
<pre> | |||
[INFORMATION] Пожалуйста спаси мою землю | |||
[AUTHOR] Silvan Elf | |||
[SOURCE] Please Save My Earth. | |||
[PRG] 1 | |||
[FILEPATH] | |||
[DELAY] | |||
[CD TRACK] 1 | |||
[COMMENT] Перевод с английского. | |||
[END INFORMATION] | |||
[SUBTITLE] | |||
[COLF]&HFFFFFF,[STYLE]no,[SIZE]18,[FONT]Arial | |||
00:00:19.49,00:00:21.55 | |||
Хочу домой. | |||
00:00:22.66,00:00:25.75 | |||
Я раньше никогда не была в месте [br]Где воздух такой... | |||
00:00:26.66,00:00:28.13 | |||
грязный. | |||
00:59:07.21,00:59:08.84 | |||
Я хочу поговорить с тобой. | |||
00:59:08.91,00:59:10.11 | |||
Так ты умеешь летать, верно? | |||
</pre> | |||
==SUB - VobSub== | ==SUB - VobSub== | ||
Line 449: | Line 618: | ||
Wikipedia: | Wikipedia: | ||
===What is | ===What is TMP=== | ||
===Format specifications=== | ===Format specifications=== | ||
Format specifications: | Format specifications: | ||
Line 504: | Line 673: | ||
=TXT= | =TXT= | ||
==TXT - QTtext== | |||
Official website: | Official website: | ||
Line 513: | Line 683: | ||
===Example=== | ===Example=== | ||
<pre> | |||
{QTtext}{font: Arial}{justify: center}{size: 12}{backcolor:0, 0, 0} | |||
{timescale: 100}{width: 439}{height: 0} | |||
[00:00:05.71] | |||
{justify:center}README.TXT for MAGpie | |||
[00:00:07.03] | |||
{justify:center}Please read this entire document before installing MAGpie. | |||
[00:00:14.98] | |||
{justify:center}***************** | |||
MAGpie 1.0 | |||
***************** | |||
[00:00:15.99] | |||
{justify:center}-- SYSTEM REQUIREMENTS | |||
[00:00:16.83] | |||
{justify:center}1. Windows95/98 | |||
[00:00:18.43] | |||
{justify:center}2. Microsoft Internet Explorer 4 or higher (http://www.microsoft.com) | |||
</pre> | |||
=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=== | |||
=WebVTT= | |||
Official website: | |||
Wikipedia: https://en.wikipedia.org/wiki/WebVTT | |||
===What is WebVTT=== | |||
WebVTT (Web Video Text Tracks) is a W3C standard for displaying timed text in connection with the HTML5 <nowiki><track></nowiki> element. | |||
===Format specifications=== | |||
Format specifications: | |||
===Example=== | |||
<pre> | |||
WEBVTT | |||
00:11.000 --> 00:13.000 | |||
<v Roger Bingham>We are in New York City | |||
00:13.000 --> 00:16.000 | |||
<v Roger Bingham>We're actually at the Lucern Hotel, just down the street | |||
00:16.000 --> 00:18.000 | |||
<v Roger Bingham>from the American Museum of Natural History | |||
00:18.000 --> 00:20.000 | |||
<v Roger Bingham>And with me is Neil deGrasse Tyson | |||
00:20.000 --> 00:22.000 | |||
<v Roger Bingham>Astrophysicist, Director of the Hayden Planetarium | |||
00:22.000 --> 00:24.000 | |||
<v Roger Bingham>at the AMNH. | |||
00:24.000 --> 00:26.000 | |||
<v Roger Bingham>Thank you for walking down here. | |||
00:27.000 --> 00:30.000 | |||
<v Roger Bingham>And I want to do a follow-up on the last conversation we did. | |||
00:30.000 --> 00:31.500 align:end size:50% | |||
<v Roger Bingham>When we e-mailed— | |||
00:30.500 --> 00:32.500 align:start size:50% | |||
<v Neil deGrasse Tyson>Didn't we talk about enough in that conversation? | |||
00:32.000 --> 00:35.500 align:end size:50% | |||
<v Roger Bingham>No! No no no no; 'cos 'cos obviously 'cos | |||
00:32.500 --> 00:33.500 align:start size:50% | |||
<v Neil deGrasse Tyson><i>Laughs</i> | |||
00:35.500 --> 00:38.000 | |||
<v Roger Bingham>You know I'm so excited my glasses are falling off here. | |||
</pre> | |||
Line 528: | Line 792: | ||
The format is mostly a variation of ASS, and XombieSub and ASS files are much alike. | 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=== | ||
Format specifications: | Format specifications: | ||
===Example=== | ===Example=== |
Latest revision as of 00:03, 15 January 2016
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
DivX Subtitle (XSUB)
Official website:
Wikipedia:
What is DivX Subtitle
Format specifications
Format specifications:
Example
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
KATE
Official website: https://wiki.xiph.org/OggKate
Wikipedia:
What is KATE
Kate is an overlay codec, originally designed for karaoke and text, that can be multiplexed in Ogg.
Text and images can be carried and animated by a Kate stream. Most of the time, they will (optionally) be multiplexed with audio/video to carry subtitles, song lyrics (with or without karaoke data), etc.
Format specifications
Format specifications:
Example
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
// translated by Sami2Sasami 1.0.7.300 // contact: nuclei@shinbiro.com ;Set.Slot=1 ;Set.Time.Delay=15000 ;Set.Alpha.End=256 ;Set.Alpha.Start=256 ;Set.Alpha.Step=-300 ;Set.Font.Bold=0 ;Set.Font.Color=#EEF4FB ;Set.Font.Outline.Color=#00101010 ;Set.Font.Outline2.Color=#01101010 ;Set.Font.Size=9 ;Set.Font.Face=№ЩЕБ ;Buffer.Push=1 ;Buffer.Pop=1 ;Set.Time.Start=18352 ;Set.Start.Position.x=117 ;Set.End.Position.x=117 ;Set.Start.Position.y=203 ;Set.End.Position.y=203 ;Set.Start.Position.x=117 ;Set.End.Position.x=117 ;Set.Start.Position.y=203 ;Set.End.Position.y=203 ;(ї¬°бµК) ;Set.Start.Position.x=164 ;Set.End.Position.x=164 ;Set.Start.Position.y=203 ;Set.End.Position.y=203 ;Set.Start.Position.x=164 ;Set.End.Position.x=164 ;Set.Start.Position.y=203 ;Set.End.Position.y=203 Long, long ago, ;Set.Start.Position.x=160 ;Set.End.Position.x=160 ;Set.Start.Position.y=221 ;Set.End.Position.y=221 ;Set.Start.Position.x=160 ;Set.End.Position.x=160 ;Set.Start.Position.y=221 ;Set.End.Position.y=221 Ihrie! Hey, lhrie! ;Set.Start.Position.x=160 ;Set.End.Position.x=160 ;Set.Start.Position.y=203 ;Set.End.Position.y=203 ;Set.Start.Position.x=160 ;Set.End.Position.x=160 ;Set.Start.Position.y=203 ;Set.End.Position.y=203 ;Set.Start.Position.x=160 ;Set.End.Position.x=160 ;Set.Start.Position.y=221 ;Set.End.Position.y=221 ;Set.Start.Position.x=160 ;Set.End.Position.x=160 ;Set.Start.Position.y=221 ;Set.End.Position.y=221 What is it, Fam?
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: http://moodub.free.fr/video/ass-specs.doc
A file consists of 4 or 5 sections, declared ala INI file (but it's not an INI!)
The first section, "[Script Info]" contains some information about the subtitle file, such as its title and author, the type of script and a very important field: "PlayResY". Be careful of this value, everything in your script (font size, positioning) is scaled by it. Sub Station Alpha uses your desktop's 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 section, "[V4 Styles]", is a list of style definitions. A style describes how text will look on the screen. It defines the font, font size, primary/.../outile colour, position, alignment etc.
For example:
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 section, "[Events]", is the list of text you want to display at the right time. You can specify some attributes here, like the style to use for each event (must be defined in the style list), the position of the text (Left, Right, Vertical Margin), and an effect. Name is mostly used by translator to know who said each sentence. Times are given as h:mm:ss.cc (centiseconds).
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.
A "[Fonts]" section can be found in some SSA files. It contains uuencoded fonts. Most software supports it (including VSFilter and libass), but alternative distribution methods such as MKV attachments are safer.
The format also supports a "[Graphics]" section with uuencoded files and Picture, Sound, Movie and Command event lines in the "[Events]" section, but these features are only supported by Sub Station Alpha itself, and no standalone renderer (VSFilter, libass, Avery Lee's Subtiler filter) supports 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
STL - Spruce Subtitle Format
Official website: http://www.reocities.com/mcpoodle43/DVDMaestro/stl_format.html
Wikipedia:
What is STL
The Spruce Subtitle format (extension .stl) was designed specifically for DVDMaestro.
Format specifications
Format specifications:
Example
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
[INFORMATION] Пожалуйста спаси мою землю [AUTHOR] Silvan Elf [SOURCE] Please Save My Earth. [PRG] 1 [FILEPATH] [DELAY] [CD TRACK] 1 [COMMENT] Перевод с английского. [END INFORMATION] [SUBTITLE] [COLF]&HFFFFFF,[STYLE]no,[SIZE]18,[FONT]Arial 00:00:19.49,00:00:21.55 Хочу домой. 00:00:22.66,00:00:25.75 Я раньше никогда не была в месте [br]Где воздух такой... 00:00:26.66,00:00:28.13 грязный. 00:59:07.21,00:59:08.84 Я хочу поговорить с тобой. 00:59:08.91,00:59:10.11 Так ты умеешь летать, верно?
SUB - VobSub
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
Example
TMP - TMPlayer
Official website:
Wikipedia:
What is TMP
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
TXT - QTtext
Official website:
Wikipedia:
What is ?
Format specifications
Format specifications:
Example
{QTtext}{font: Arial}{justify: center}{size: 12}{backcolor:0, 0, 0} {timescale: 100}{width: 439}{height: 0} [00:00:05.71] {justify:center}README.TXT for MAGpie [00:00:07.03] {justify:center}Please read this entire document before installing MAGpie. [00:00:14.98] {justify:center}***************** MAGpie 1.0 ***************** [00:00:15.99] {justify:center}-- SYSTEM REQUIREMENTS [00:00:16.83] {justify:center}1. Windows95/98 [00:00:18.43] {justify:center}2. Microsoft Internet Explorer 4 or higher (http://www.microsoft.com)
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
WebVTT
Official website:
Wikipedia: https://en.wikipedia.org/wiki/WebVTT
What is WebVTT
WebVTT (Web Video Text Tracks) is a W3C standard for displaying timed text in connection with the HTML5 <track> element.
Format specifications
Format specifications:
Example
WEBVTT 00:11.000 --> 00:13.000 <v Roger Bingham>We are in New York City 00:13.000 --> 00:16.000 <v Roger Bingham>We're actually at the Lucern Hotel, just down the street 00:16.000 --> 00:18.000 <v Roger Bingham>from the American Museum of Natural History 00:18.000 --> 00:20.000 <v Roger Bingham>And with me is Neil deGrasse Tyson 00:20.000 --> 00:22.000 <v Roger Bingham>Astrophysicist, Director of the Hayden Planetarium 00:22.000 --> 00:24.000 <v Roger Bingham>at the AMNH. 00:24.000 --> 00:26.000 <v Roger Bingham>Thank you for walking down here. 00:27.000 --> 00:30.000 <v Roger Bingham>And I want to do a follow-up on the last conversation we did. 00:30.000 --> 00:31.500 align:end size:50% <v Roger Bingham>When we e-mailed— 00:30.500 --> 00:32.500 align:start size:50% <v Neil deGrasse Tyson>Didn't we talk about enough in that conversation? 00:32.000 --> 00:35.500 align:end size:50% <v Roger Bingham>No! No no no no; 'cos 'cos obviously 'cos 00:32.500 --> 00:33.500 align:start size:50% <v Neil deGrasse Tyson><i>Laughs</i> 00:35.500 --> 00:38.000 <v Roger Bingham>You know I'm so excited my glasses are falling off here.
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: