Universal Subtitle Format

OuvrirEnregistrerXMLMultilingue

Le format de sous-titres XML de l'époque de Matroska : des styles nommés, plusieurs langues dans un même fichier, et de la place pour d'autres usages. Peu de lecteurs l'ont adopté, mais il contient tout ce que Subtitld conserve, alors Subtitld enregistre ses projets dedans.

En bref

Extension.usf
Type de médiatext/xml
SpécificationUSF 1.1, un projet de CoreCodec (2010), toujours en ligne chez Titlevision
Précision temporelleMillisecondes
Encodage du texteDéclaré dans le XML. UTF-8, sauf indication contraire.
StyleStyles nommés, et <i>, <b>, <u> et <font> dans le texte
PositionnementNeuf emplacements et marges, pour un style ou un texte
LocuteursUn speaker sur chaque texte
LanguesPlusieurs dans un même fichier, un bloc <subtitles> pour chacune, par code ISO 639-2
Dans les conteneursMatroska sous la forme S_TEXT/USF

Anatomie d'un fichier

Un document XML : un en-tête de métadonnées et de styles, puis un bloc de sous-titres pour chaque langue.

<USFSubtitles version="1.0">
<metadata>…</metadata>
<styles>…</styles>
<subtitles>
<language code="por">
  Portuguese (Brazil)
</language>
<subtitle
  start="00:00:01.000"
  stop="00:00:02.500">
<text>Olá!</text>
</subtitle>
</subtitles>
</USFSubtitles>
  1. 1 · Racine

    <USFSubtitles>, avec la version d'USF qu'il suit.

  2. 2 · En-tête

    Le titre, les auteurs et la langue ; les styles nommés que peuvent utiliser les sous-titres.

  3. 3 · Langue

    Un bloc <subtitles> pour chaque langue, par son code ISO 639-2.

  4. 4 · Sous-titre

    Son début, sa fin (ou sa durée) et son texte.

Temps

Les secondes seules suffisent. 100 vaut 00:01:40.000, et 1.5 une seconde et demie. Un sous-titre peut donner sa duration au lieu de sa stop.

Texte

Le texte d'USF est un sous-ensemble de XHTML : balises en minuscules, correctement imbriquées, <br/> fermé.

Élément Effet Dans Subtitld
<i>, <b>, <u> Italique, gras, souligné Conservé
<font color="#00FF0000"> Une couleur, et une police, une taille, un contour ou une ombre La couleur conservée
<br/> Un saut de ligne Conservé
<s> Barré : sur la liste des projets d'USF, pas dans la spécification Écrit pour le barré ; d'autres outils peuvent afficher le texte en clair
<karaoke>, <k t="250"/> Synchronisation karaoké Le texte conservé
<image>, <shape> Images et dessins Non conservés

La transparence vient en premier, et se compte à l'envers. Les couleurs d'USF sont #AARRGGBB, avec 00 pour opaque et FF pour transparent. #00FF0000 est du rouge plein ; #FF0000, sans transparence, l'est aussi.

Styles et emplacements

<style name="Narrator">
  <fontstyle italic="yes"/>
  <position alignment="TopCenter"/>
</style>

Un texte utilise un style par son nom, <text style="Narrator">, et prend sa police, sa couleur, son italique, son graisse et son soulignement, ainsi que son emplacement : l'un des neuf, de TopLeft à BottomRight. Un style nommé Default restyle chaque sous-titre, donc Subtitld n'en écrit aucun, et les lecteurs gardent leur propre apparence.

Langues

Chaque langue a son propre bloc <subtitles>, nommé par son code ISO 639-2 : eng, fre, ger, por. Un code peut désigner plus d'une langue telle que Subtitld les connaît, alors Subtitld écrit aussi le nom de chaque langue dans l'élément, et lit por comme portugais du Brésil ou du Portugal grâce à ce nom.

<language code="por">
  Portuguese (Brazil)
</language>

USF dans Subtitld

Les projets de Subtitld sont en USF. Un projet .usfx est un USF accompagné de ce qu'il lui faut à côté, la vidéo, les voix et les doublages, dans un seul fichier.

Conservé dans le .usf
  • Le texte, la mise en forme et l'emplacement de chaque sous-titre
  • Les traductions, un bloc chacune
  • Les locuteurs, avec leurs couleurs, et leurs images si on le demande
  • Les doublages et leurs voix, les clips eux-mêmes si on le demande
  • Début et fin, à la milliseconde
Aucun moyen de les garder
  • Polices, tailles, contours et ombres, ligne par ligne
  • Images, dessins et synchronisation karaoké
  • Effets

Ce que Subtitld ajoute, les autres outils le laissent intact.

Ouvrir un fichier USF

Subtitld lit ce qu'il écrit lui-même et ce que font les autres outils :

  • l'encodage que déclare le XML ;
  • l'italique, le gras, le soulignement, la couleur et l'emplacement du style nommé qu'utilise un texte ;
  • <font> avec italic, bold ou underline, comme certains outils l'écrivent ;
  • une duration à la place d'un stop absent, et des temps en secondes seules ;
  • plusieurs textes dans un sous-titre, comme ses lignes ;
  • le bloc de chaque langue apparié au premier selon l'heure, si bien que les blocs n'ont pas besoin de contenir le même nombre de sous-titres ;
  • les codes ISO 639-2 et les noms des langues, ainsi que les codes qu'écrivaient les anciennes versions de Subtitld.

Un fichier qui n'est pas du USF le dit, et n'ouvre rien.

Enregistrer en USF

La boîte de dialogue d'export de Subtitld avec USF choisi et les images des locuteurs intégrées

USF conserve tout le projet, donc Exporter, puis Sous-titres et USF, ne demande que ce qu'il faut mettre à l'intérieur :

  • Intégrer les images des locuteursLa photo de chaque locuteur, en base64, dans son style.
  • Intégrer les clips audioLe clip de chaque doublage, en base64, dans son sous-titre.

Le fichier est en UTF-8, ses langues par code ISO 639-2 et par nom, avec un titre, qu'USF exige, et sans style Default.

Anecdotes

2002

USF est sorti pour la première fois en novembre 2002, projet de CoreCodec conçu comme une alternative XML à Advanced SubStation Alpha.

1.1

La dernière version, de novembre 2010. Sa spécification mentionne encore <s> parmi ses projets.

VLC 0.9

À partir de la version 0.9, VLC affiche le texte et les temps d'USF, avec un peu de sa mise en forme, comme le fait VSFilter.

Formats associés

Un fichier .usf à corriger ?

Ouvrez-le dans Subtitld avec la vidéo et recalez-le sur la forme d'onde.

Télécharger Subtitld