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

Difference between revisions of "Timed track formats"

From WHATWG Wiki
Jump to: navigation, search
(Universal Subtitle Format (.usf))
 
(51 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Lists of formats:
+
''Part of the work on [[Timed tracks]].''
* http://wiki.videolan.org/Subtitles_codecs
 
* http://en.wikipedia.org/wiki/Subtitle_(captioning)#For_software_video_players
 
  
 
Requirements:
 
Requirements:
Line 7: Line 5:
 
* For a similar reason, any positioning needs to be relative to the frame, not absolute (in pixels)
 
* 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.)
+
Extensions marked * below are shared by multiple formats. Formats marked ★ are the most likely to be a useful base for a new or extended format.
 +
 
 +
== Adobe Encore ==
 +
 
 +
Couldn't find a specification for this format.
  
 
== AQTitle (.aqt) ==
 
== AQTitle (.aqt) ==
 +
* https://trac.annodex.net/wiki/AQTitle
 +
 
Uses frames for timings.
 
Uses frames for timings.
 +
 +
== ARIB STD-B24 ==
 +
* http://www.arib.or.jp/english/html/overview/doc/6-STD-B24v5_2-1p3-E1.pdf
 +
 +
Apparently XML-based and/or binary based. Unclear. Appears to be rather complicated.
 +
 +
== AYA (.aya) ==
 +
 +
Couldn't find a specification for this format.
 +
 +
== CA (.ca) ==
 +
 +
Couldn't find a specification for this format.
 +
 +
== CHK (.chk) ==
 +
* Mention: http://filext.com/file-extension/chk
 +
 +
Couldn't find a specification for this format.
 +
 +
== CIN (.cin) ==
 +
 +
Couldn't find a specification for this format.
 +
 +
== CIP (.cip) ==
 +
 +
Couldn't find a specification for this format.
  
 
== DKS (.dks) ==
 
== DKS (.dks) ==
 
* Couldn't find a specification
 
* Couldn't find a specification
 
* Sample file: http://www.allsubs.org/subs-download/tommy-boy-dks/149169/
 
* Sample file: http://www.allsubs.org/subs-download/tommy-boy-dks/149169/
 +
* http://subtitleproc.cvs.sourceforge.net/viewvc/subtitleproc/SubtitleProcessor/data/DKS.xml?revision=1.1&view=markup
 +
 +
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 ==
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/DSP3
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/DSP4
 +
* http://subtitleproc.cvs.sourceforge.net/viewvc/subtitleproc/SubtitleProcessor/data/MacDVDStudioPRO.xml?revision=1.1&view=markup
 +
 +
Simple format. Uses '<P>' for line breaks. Uses tabs as a deliminator in one version, spaces and commas in another.
 +
 +
== EBU STL (.ebu) ==
 +
* http://web.archive.org/web/20060927230537/http://www.ebu.ch/CMSimages/en/tec_doc_t3264_tcm6-10528.pdf
  
Probably too simple to be useful. Doesn't seem to support multiline subtitles. Unclear how easy it would be to extend usefully without effectively making a completely new format.
+
Binary format.
 +
 
 +
== FAB Subtitler ★ ==
 +
* http://subtitleproc.cvs.sourceforge.net/viewvc/subtitleproc/SubtitleProcessor/data/FABSubtitler.xml?revision=1.1&view=markup
 +
 
 +
Simple format. Uses real line breaks. Could be extended usefully.
 +
 
 +
== Gloss Subtitle (.gsub) ==
 +
 
 +
Couldn't find any information on this format.
  
 
== JACOSub (.jss) ==
 
== JACOSub (.jss) ==
Line 28: Line 80:
  
 
Binary format with text components, making it hard to hand-edit. The text components seem pretty verbose.
 
Binary format with text components, making it hard to hand-edit. The text components seem pretty verbose.
 +
 +
== L32 (.l32) ==
 +
 +
Couldn't find a specification for this format.
 +
 +
== MacSUB ==
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/Macsub
 +
* http://subtitleproc.cvs.sourceforge.net/viewvc/subtitleproc/SubtitleProcessor/data/MacSUB.xml?revision=1.1&view=markup
 +
 +
Uses frames for timings. Uses real line breaks.
  
 
== MicroDVD (.sub*) ==
 
== MicroDVD (.sub*) ==
 
* http://en.wikipedia.org/wiki/MicroDVD
 
* http://en.wikipedia.org/wiki/MicroDVD
 
* http://divxstation.com/article.asp?aId=27
 
* http://divxstation.com/article.asp?aId=27
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/MicroDVD
  
 
Uses frames for timings. Uses "|" for line breaks.
 
Uses frames for timings. Uses "|" for line breaks.
  
(Appears to be basically the PowerDivX format, but using seconds instead of frames.)
+
(Appears to be basically the PowerDivX format, but using frames instead of seconds.)
  
 
== MPEG-4 Timed Text (.ttxt) ==
 
== MPEG-4 Timed Text (.ttxt) ==
Line 41: Line 104:
  
 
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.
 
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.
 +
 +
== MPL (.mpl) ==
 +
* http://subtitleproc.cvs.sourceforge.net/viewvc/subtitleproc/SubtitleProcessor/data/MPL.xml?revision=1.1&view=markup
 +
* http://www.opensubtitles.org/en/subtitles/3651417/house-m-d-en
 +
* http://web.archive.org/web/20070825195431/http://napisy.ussbrowarek.org/mpl2-eng.html
 +
 +
Uses frames for timings in the first version; decaseconds in the second version. Simple format. Uses "|" for line breaks.
  
 
== MPSub (.sub*) ==
 
== MPSub (.sub*) ==
Line 53: Line 123:
  
 
== Phoenix Subtitle (.pjs) ==
 
== Phoenix Subtitle (.pjs) ==
* No spec or demo file found
+
* https://trac.annodex.net/wiki/PJS
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/PJS
  
Uses frames for timings according to wikipedia.
+
Uses frames for timings. Has some weird rules relating to displaying multiple subtitles at once.
  
 
== PowerDivX (.psb) ==
 
== PowerDivX (.psb) ==
* Could not find specification
+
* http://devel.aegisub.org/wiki/SubtitleFormats/PowerDivX
* Sample file: http://femmefontaine.org/en_sub/ff_1_4.psb (note: explicit content)
 
  
 
Currently has low resolution timings. Uses "|" for line breaks. Simple format. Could be extended usefully.
 
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.)
 
(Appears to be basically the MicroDVD format, but using seconds instead of frames.)
 +
 +
== PU2000 (.rac, .pac) ==
 +
 +
Couldn't find a specification for this format or it's later version PU2020. Appears to be a binary format.
  
 
== RealText (.rt) ==
 
== RealText (.rt) ==
Line 74: Line 148:
  
 
Probably has complicated legacy parsing requirements. Uses "<BR>" for line breaks. Would be difficult to extend in a backwards-compatible way.
 
Probably has complicated legacy parsing requirements. Uses "<BR>" for line breaks. Would be difficult to extend in a backwards-compatible way.
 +
 +
== Scantitling format 890 (.890) ==
 +
 +
Couldn't find a specification for this format. Appears to come in text and binary variants.
 +
 +
== Screen Poliscript ==
 +
 +
Couldn't find a specification for this format.
 +
 +
== Softel SwiftXIF (.xif) ==
 +
 +
Couldn't find a specification for this format. Appears to be XML-based.
 +
 +
== Sonic Solutions DVD text format ==
 +
 +
Couldn't find a specification for this format.
 +
 +
== Spruce STL ==
 +
 +
Couldn't find a specification for this format. Appears to be text-based.
 +
 +
== ST4, ST7 (.st4, .st7) ==
 +
 +
Couldn't find a specification for these formats.
  
 
== Structured Subtitle Format (.ssf) ==
 
== Structured Subtitle Format (.ssf) ==
 +
* http://guliverkli2.svn.sourceforge.net/viewvc/guliverkli2/src/subtitles/libssf/docs/ssf-specs.txt
 +
* http://guliverkli2.svn.sourceforge.net/viewvc/guliverkli2/src/subtitles/libssf/demo/demo.ssf?revision=1
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/SSF
  
Couldn't find any information on this format.
+
Ludicrously verbose. Not a good format for hand-editing. Uses "\n" for line breaks.
  
== SubRip (.srt) ==
+
== SubRip (.srt) ==
 
* http://forum.doom9.org/archive/index.php/t-73953.html
 
* http://forum.doom9.org/archive/index.php/t-73953.html
  
Currently has pixel-based positioning. Simple format. Uses real line breaks. Could be extended usefully.  
+
Currently has pixel-based positioning. Simple format. Uses real line breaks. Could be extended usefully.
  
== Gloss Subtitle (.gsub) ==
+
See: [[SRT research]]
 +
 
 +
== Subsonic ==
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/Subsonic
 +
 
 +
Unclear format ("~:"?).
 +
 
 +
== smilText ==
 +
* http://www.w3.org/TR/SMIL/smil-text.html
  
Couldn't find any information on this format.
+
Pretty complicated. Seems to be formatting-centric. Has some pixel-based positioning. Difficult to hand-edit.
  
 
== SubStation Alpha (.ssa) ==
 
== SubStation Alpha (.ssa) ==
Line 93: Line 202:
 
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 [http://blog.aegisub.org/2008/07/universal-subtitle-format-post-mortem.html].)
 
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 [http://blog.aegisub.org/2008/07/universal-subtitle-format-post-mortem.html].)
  
== Advanced SubStation Alpha (.ass) ==
+
A later version called Advanced SubStation Alpha (.ass) is even more complicated.
 
 
Even more complicated version of  SubStation Alpha.
 
  
 
== SubViewer (.sub*) ==
 
== SubViewer (.sub*) ==
 
* http://wiki.videolan.org/SubViewer
 
* http://wiki.videolan.org/SubViewer
 +
* https://trac.annodex.net/wiki/SubViewer
 +
* http://subtitleproc.cvs.sourceforge.net/viewvc/subtitleproc/SubtitleProcessor/data/SubViewer.xml?revision=1.1&view=markup
 +
* http://subtitleproc.cvs.sourceforge.net/viewvc/subtitleproc/SubtitleProcessor/data/SubViewer2.xml?revision=1.1&view=markup
 +
 +
Either uses "[br]" for line breaks, "|" for line breaks, or real line breaks, depending on the version. Making a backwards-compatible parser would likely require more effort than for most other formats.
  
Simple format. Uses "[br]" for line breaks. Could be extended usefully.
+
== TIT (.tit) ==
 +
 
 +
Couldn't find a specification for this format.
 +
 
 +
== TitleVision TV2003 text format ==
 +
* http://www.titlevision.adsl.dk/tv2003/index.html?textfile.htm
 +
 
 +
Uses tabs for syntax. Uses real line breaks. Would be hard to extend usefully.
 +
 
 +
== TTML ==
 +
* http://www.w3.org/TR/ttaf1-dfxp/
 +
 
 +
Pretty complicated. Seems to be formatting-centric. Has some pixel-based positioning. Difficult to hand-edit.
 +
 
 +
== Turbotitler ==
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/Turbotitler
 +
 
 +
Unclear format ("NTP"?). Uses "|" for line breaks.
 +
 
 +
== ULT (.ult) ==
 +
 
 +
Couldn't find a specification for this format.
  
 
== Universal Subtitle Format (.usf) ==
 
== Universal Subtitle Format (.usf) ==
* Couldn't find any official documentation
+
* http://www.titlevision.dk/usf.htm
 
* http://blog.aegisub.org/2008/07/universal-subtitle-format-post-mortem.html
 
* http://blog.aegisub.org/2008/07/universal-subtitle-format-post-mortem.html
  
Extremely verbose. Uses "<br/>" for line breaks.
+
Extremely verbose. Uses "<br/>" for line breaks. Not a good format for hand-editing.
 +
 
 +
Used by Titlevision, since it is xml it is extremely easy to extend while maintaining backwards compatability.
 +
 
 +
== VPlayer ==
 +
* https://trac.annodex.net/wiki/VPlayer
 +
 
 +
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.
 +
 
 +
== WinCaps (.w32) ==
 +
 
 +
Couldn't find a specification for this format.
 +
 
 +
== XombieSub ==
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/XombieSub
 +
 
 +
Apparently similar to SubStation Alpha. Couldn't find any concrete information.
 +
 
 +
== ZeroG (.zeg) ==
 +
* http://devel.aegisub.org/wiki/SubtitleFormats/ZeroG
 +
 
 +
Unclear format.
  
 
= Other formats =
 
= 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.
+
CVD, DVB subtitles, Philips DVD subtitling format, 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.
 
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:
+
There are more formats listed in the following pages, though with no further information:
MPL2 (*.mpl)
+
* http://autocaption.com/resource_specifications_format_list.html
VPlayer
+
* http://www.urusoft.net/products.php?cat=vp&lang=1
.PAC
+
* http://www.eztitles.com/index.php?page=48
.RAC
+
* http://captionmax.com/services/tape-delivery-formats
.CHK
 
.AYA
 
.890
 
.CIP
 
.CA
 
.ULT
 
.USF
 
.CIN
 
.L32
 
.ST4
 
.ST7
 
.TIT
 
.STL
 
TTML/DFXP
 

Latest revision as of 15:19, 20 September 2011

Part of the work on Timed tracks.

Requirements:

  • 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. Formats marked ★ are the most likely to be a useful base for a new or extended format.

Adobe Encore

Couldn't find a specification for this format.

AQTitle (.aqt)

Uses frames for timings.

ARIB STD-B24

Apparently XML-based and/or binary based. Unclear. Appears to be rather complicated.

AYA (.aya)

Couldn't find a specification for this format.

CA (.ca)

Couldn't find a specification for this format.

CHK (.chk)

Couldn't find a specification for this format.

CIN (.cin)

Couldn't find a specification for this format.

CIP (.cip)

Couldn't find a specification for this format.

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.

DVD Studio Pro

Simple format. Uses '<P>' for line breaks. Uses tabs as a deliminator in one version, spaces and commas in another.

EBU STL (.ebu)

Binary format.

FAB Subtitler ★

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

Gloss Subtitle (.gsub)

Couldn't find any information on this format.

JACOSub (.jss)

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

Kate

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

L32 (.l32)

Couldn't find a specification for this format.

MacSUB

Uses frames for timings. Uses real line breaks.

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.

MPL (.mpl)

Uses frames for timings in the first version; decaseconds in the second version. Simple format. Uses "|" for 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.)

PU2000 (.rac, .pac)

Couldn't find a specification for this format or it's later version PU2020. Appears to be a binary format.

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.

Scantitling format 890 (.890)

Couldn't find a specification for this format. Appears to come in text and binary variants.

Screen Poliscript

Couldn't find a specification for this format.

Softel SwiftXIF (.xif)

Couldn't find a specification for this format. Appears to be XML-based.

Sonic Solutions DVD text format

Couldn't find a specification for this format.

Spruce STL

Couldn't find a specification for this format. Appears to be text-based.

ST4, ST7 (.st4, .st7)

Couldn't find a specification for these formats.

Structured Subtitle Format (.ssf)

Ludicrously verbose. Not a good format for hand-editing. Uses "\n" for line breaks.

SubRip (.srt) ★

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

See: SRT research

Subsonic

Unclear format ("~:"?).

smilText

Pretty complicated. Seems to be formatting-centric. Has some pixel-based positioning. Difficult to hand-edit.

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

A later version called Advanced SubStation Alpha (.ass) is even more complicated.

SubViewer (.sub*)

Either uses "[br]" for line breaks, "|" for line breaks, or real line breaks, depending on the version. Making a backwards-compatible parser would likely require more effort than for most other formats.

TIT (.tit)

Couldn't find a specification for this format.

TitleVision TV2003 text format

Uses tabs for syntax. Uses real line breaks. Would be hard to extend usefully.

TTML

Pretty complicated. Seems to be formatting-centric. Has some pixel-based positioning. Difficult to hand-edit.

Turbotitler

Unclear format ("NTP"?). Uses "|" for line breaks.

ULT (.ult)

Couldn't find a specification for this format.

Universal Subtitle Format (.usf)

Extremely verbose. Uses "<br/>" for line breaks. Not a good format for hand-editing.

Used by Titlevision, since it is xml it is extremely easy to extend while maintaining backwards compatability.

VPlayer

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.

WinCaps (.w32)

Couldn't find a specification for this format.

XombieSub

Apparently similar to SubStation Alpha. Couldn't find any concrete information.

ZeroG (.zeg)

Unclear format.

Other formats

CVD, DVB subtitles, Philips DVD subtitling format, 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.

There are more formats listed in the following pages, though with no further information: