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 some of the following reasons: flexibility, unicode support, a hierarchical system, and ease of administration.

USF subtitles are usually used in Matroska Containers.

The format has come under criticism, especially from the fansub community[1], because compared to the format it aims to replace, Advanced Substation Alpha (which is based on comma-separated values), it is more verbose and far harder for software to read, write and manipulate. It is also much harder to edit "by hand" in text editors such as notepad. For these reasons, as well as the lack of a generic cross-platform parsing/rasterizing library and mature editing programs that natively support it, the format has not gained wide acceptance.

No known media player software implements more than basic support for this format. VSFilter, and VLC media player (starting with the 0.9.0 release) can extract the subtitle text, timing information and very restricted formatting.

Documentation for the format is now hosted by the Danish subtitling software company Titlevision here.

Example

Below is the example USF file as presented in the v1.1 specification[2]:

<USFSubtitles version="1.0">
  <metadata>
    <title>The Universal Subtitle Format sample</title>
    <author>
      <name>[Toff]</name>
      <email>christophe.paris@free.fr</email>
      <url>http://christophe.paris.free.fr/</url>
    </author>
    <language code="eng">English</language>
    <date>2002-11-08</date>
    <comment>This is a short example of USF.</comment>
  </metadata>
 
  <styles>
    <!-- Here we redefine the default style -->
    <style name="Default" >
      <fontstyle face="Arial" size="24" color="#FFFFFF" back-color="#AAAAAA" />
      <position alignment="BottomCenter" vertical-margin="20%"
                relative-to="Window" />
    </style>
 
    <!-- All others styles herite from the default style -->
    <style name="NarratorSpeaking">
      <fontstyle italic="yes" />
    </style>
 
    <style name="MusicLyrics">
      <fontstyle back-color="#550000" color="#FFFF00" bold="yes" />
    </style>
  </styles>
 
  <subtitles>
    <subtitle start="00:00:00.000" stop="00:00:05.000">         
      <text alignment="MiddleCenter">Welcome to 
        <b>The Core Media Player</b></text>
      <image alignment="TopRight" vertical-margin="20" horizontal-margin="20"
             colorkey="#FFFFFF">TCMP_Logo.bmp</image>
    </subtitle>
 
    <subtitle start="00:00:06.000" stop="00:00:10.000">
      <text style="NarratorSpeaking" speaker="Toff">Hi! This is a <font size="16">
        small</font> sample, let's sing a song.</text>
    </subtitle>
 
    <subtitle start="00:00:06.000" stop="00:00:10.000">
      <karaoke style="MusicLyrics"><k t="700"/>La! La! La! <k t="1000"/>
        Karokeeeeeeeee <k t="100"/>is <k t="200"/>fun !</text>
    </subtitle>
  <subtitles>
 
</USFSubtitles>

References