Timed track formats
Part of the work on Timed tracks.
- We need to use time for timings, not frames, because the same file might apply to multiple versions of the same video, with different frame rates.
- For a similar reason, any positioning needs to be relative to the frame, not absolute (in pixels)
(Extensions marked * below are shared by multiple formats.)
- 1 AQTitle (.aqt)
- 2 DKS (.dks)
- 3 DVD Studio Pro
- 4 FAB Subtitler
- 5 JACOSub (.jss)
- 6 Kate
- 7 MacSUB
- 8 MicroDVD (.sub*)
- 9 MPEG-4 Timed Text (.ttxt)
- 10 MPL (.mpl)
- 11 MPSub (.sub*)
- 12 Ogg Writ
- 13 Phoenix Subtitle (.pjs)
- 14 PowerDivX (.psb)
- 15 RealText (.rt)
- 16 SAMI (.smi)
- 17 Structured Subtitle Format (.ssf)
- 18 SubRip (.srt)
- 19 Subsonic
- 20 Gloss Subtitle (.gsub)
- 21 SubStation Alpha (.ssa)
- 22 SubViewer (.sub*)
- 23 Turbotitler
- 24 Universal Subtitle Format (.usf)
- 25 VPlayer
- 26 ZeroG
- 27 Other formats
Uses frames for timings.
- Couldn't find a specification
- Sample file: http://www.allsubs.org/subs-download/tommy-boy-dks/149169/
Probably too simple to be useful. Doesn't seem to support overlapping times. Uses "[br]" for line breaks. Unclear how easy it would be to extend usefully without effectively making a completely new format.
DVD Studio Pro
Simple format. Uses '<P>' for line breaks. Uses tabs as a deliminator in one version, spaces and commas in another.
Simple format. Uses real line breaks. Could be extended usefully.
Pretty complicated. Uses "\n" for line breaks.
Binary format with text components, making it hard to hand-edit. The text components seem pretty verbose.
Uses frames for timings. Uses real line breaks.
Uses frames for timings. Uses "|" for line breaks.
(Appears to be basically the PowerDivX format, but using frames instead of seconds.)
MPEG-4 Timed Text (.ttxt)
Pretty complicated. Seems to be formatting-centric. Has some pixel-based positioning. Difficult to hand-edit. Uses strings delimited by apostrophes to mark line breaks.
Uses frames for timings in the first version; decaseconds in the second version. Simple format. Uses "|" for line breaks.
Relative timings, which can be hard to hand-edit correctly. Uses real line breaks. Could be extended, though most useful extensions would not be backwards-compatible (e.g. adding a new timing format).
Binary format, nigh on impossible to hand-edit.
Phoenix Subtitle (.pjs)
Uses frames for timings. Has some weird rules relating to displaying multiple subtitles at once.
Currently has low resolution timings. Uses "|" for line breaks. Simple format. Could be extended usefully.
(Appears to be basically the MicroDVD format, but using seconds instead of frames.)
Supports a number of features that aren't necessary. Uses "<br/>" for line breaks. Could probably be used as the basis for a new similar format.
Probably has complicated legacy parsing requirements. Uses "<BR>" for line breaks. Would be difficult to extend in a backwards-compatible way.
Structured Subtitle Format (.ssf)
Ludicrously verbose. Not a good format for hand-editing. Uses "\n" for line breaks.
Currently has pixel-based positioning. Simple format. Uses real line breaks. Could be extended usefully.
Unclear format ("~:"?).
Gloss Subtitle (.gsub)
Couldn't find any information on this format.
SubStation Alpha (.ssa)
Pretty verbose. Has some pixel-based positioning. Uses "\N" for line breaks (though this is somewhat configurable). Has some rather subtle syntax of the kind that typically results in buggy implementations. (Indeed, see the "note" in .)
A later version called Advanced SubStation Alpha (.ass) is even more complicated.
Simple format. Either uses "[br]" for line breaks or real line breaks, depending on the source. Could be extended usefully.
Unclear format ("NTP"?). Uses "|" for line breaks.
Universal Subtitle Format (.usf)
- Couldn't find any official documentation
Extremely verbose. Uses "<br/>" for line breaks. Not a good format for hand-editing.
Supports several different syntaxes. Doesn't seem to support overlapping times in the time-based modes (though apparently it does in the frame-based modes). Uses "|" for line breaks.
CVD, DVB subtitles, SVCD, VobSub (.sub and .idx), and XSUB (DivX subtitles) are not listed as they appear to be image-based formats.
CMML and SMIL are not listed above since they don't appear to be subtitle formats so much as timed media mixing formats.
Still to be investigated: