A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on IRC (such as one of these permanent autoconfirmed members).

Timed track formats

From WHATWG Wiki
Revision as of 00:21, 30 April 2010 by Hixie (talk | contribs)

Jump to: navigation, search

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.)

AQTitle (.aqt)

Uses frames for timings.

DKS (.dks)

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.

JACOSub (.jss)

Pretty complicated. Uses "\n" for line breaks.


Binary format with text components, making it hard to hand-edit. The text components seem pretty verbose.

MicroDVD (.sub*)

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.

MPSub (.sub*)

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).

Ogg Writ

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.

PowerDivX (.psb)

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.)

RealText (.rt)

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.

SAMI (.smi)

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)

Couldn't find any information on this format.

SubRip (.srt)

Currently has pixel-based positioning. Simple format. Uses real line breaks. Could be extended usefully.

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 [1].)

Advanced SubStation Alpha (.ass)

Even more complicated version of SubStation Alpha.

SubViewer (.sub*)

Simple format. Either uses "[br]" for line breaks or real line breaks, depending on the source. Could be extended usefully.

Universal Subtitle Format (.usf)

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.

FAB Subtitler

Simple format. Uses real line breaks. Could be extended usefully.

Other formats

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: