Universal Subtitle Format
Het XML-ondertitelformaat uit de Matroska-jaren: benoemde stijlen, meerdere talen in één bestand, en ruimte voor meer. Weinig spelers namen het over, maar het bevat alles wat Subtitld bewaart, dus Subtitld bewaart zijn projecten erin.
In één oogopslag
| Extensie | .usf |
|---|---|
| Mediatype | text/xml |
| Specificatie | USF 1.1, een CoreCodec-project (2010), online bewaard door Titlevision |
| Tijdsprecisie | Milliseconden |
| Tekstcodering | Opgegeven in de XML. UTF-8, tenzij het anders zegt. |
| Opmaak | Benoemde stijlen, en <i>, <b>, <u> en <font> in de tekst |
| Positionering | Negen plaatsen en marges, voor een stijl of een tekst |
| Sprekers | Een speaker bij elke tekst |
| Talen | Meerdere in één bestand, één <subtitles>-blok per taal, met een ISO 639-2-code |
| In containers | Matroska als S_TEXT/USF |
Opbouw van een bestand
Een XML-document: een kop met metadata en stijlen, dan een blok ondertitels voor elke taal.
<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 · Root
<USFSubtitles>, met de versie van USF die het volgt. - 2 · Kop
De titel, de auteurs en de taal; de benoemde stijlen die ondertitels kunnen gebruiken.
- 3 · Taal
Een
<subtitles>-blok voor elke taal, met zijn ISO 639-2-code. - 4 · Ondertitel
Het begin, het eind (of de duur), en de tekst.
Tijden
Seconden alleen volstaan. 100 is 00:01:40.000, en 1.5 anderhalve seconde. Een ondertitel kan zijn duration geven in plaats van zijn stop.
Tekst
De tekst van USF is een deelverzameling van XHTML: tags in kleine letters, correct genest, <br/> gesloten.
| Element | Effect | In Subtitld |
|---|---|---|
<i>, <b>, <u> |
Cursief, vet, onderstreept | Bewaard |
<font color="#00FF0000"> |
Een kleur, en een lettertype, grootte, omlijning of schaduw | De kleur bewaard |
<br/> |
Een regeleinde | Bewaard |
<s> |
Doorgestreept: op de lijst met plannen van USF, niet in de specificatie | Geschreven voor doorhalen; andere tools tonen de tekst misschien vlak |
<karaoke>, <k t="250"/> |
Karaoke-timing | De tekst bewaard |
<image>, <shape> |
Afbeeldingen en tekeningen | Niet bewaard |
Alfa komt eerst, en telt af. De kleuren van USF zijn #AARRGGBB, met 00 ondoorzichtig en FF doorzichtig. #00FF0000 is effen rood; #FF0000, zonder alfa, ook.
Stijlen en plaatsen
<style name="Narrator">
<fontstyle italic="yes"/>
<position alignment="TopCenter"/>
</style>
Een tekst gebruikt een stijl bij naam, <text style="Narrator">, en neemt zijn lettertype, kleur, cursief, gewicht en onderstreping, en zijn plaats: een van negen, van TopLeft tot BottomRight. Een stijl met de naam Default herstijlt elke ondertitel, dus Subtitld schrijft er geen, en spelers houden hun eigen uiterlijk.
Talen
Elke taal heeft een eigen <subtitles>-blok, genoemd naar zijn ISO 639-2-code: eng, fre, ger, por. Een code kan voor meer dan één taal staan, zoals Subtitld ze kent, dus schrijft Subtitld de naam van elke taal ook in het element, en leest por als Braziliaans of Portugees Portugees aan de hand daarvan.
<language code="por">
Portuguese (Brazil)
</language>
USF in Subtitld
Subtitld-projecten zijn USF. Een .usfx-project is een USF met wat erbij hoort, de video, de stemmen en de nasynchronisaties, in één bestand.
- Elke tekst, opmaak en plaats van elke ondertitel
- Vertalingen, elk in een blok
- Sprekers, met hun kleuren, en hun afbeeldingen op verzoek
- Nasynchronisaties en hun stemmen, de clips zelf op verzoek
- Begin en eind, tot de milliseconde
- Lettertypen, groottes, omlijningen en schaduwen per regel
- Afbeeldingen, tekeningen en karaoke-timing
- Effecten
Wat Subtitld toevoegt, laten andere tools met rust.
Een USF-bestand openen
Subtitld leest wat Subtitld schrijft en wat andere tools doen:
- de codering die de XML opgeeft;
- het cursief, vet, onderstreept, de kleur en de plaats van de benoemde stijl die een tekst gebruikt;
<font>metitalic,boldofunderline, zoals sommige tools het schrijven;- een
durationvoor een ontbrekendestop, en tijden als alleen seconden; - meerdere teksten in één ondertitel als zijn regels;
- het blok van elke taal, gekoppeld aan het eerste op tijd, zodat de blokken niet hetzelfde aantal ondertitels hoeven te hebben;
- ISO 639-2-codes en de namen van de talen, en de codes die oudere versies van Subtitld schreven.
Een bestand dat geen USF is, zegt dat, en opent niets.
USF opslaan
USF bewaart het hele project, dus bij Exporteren, dan Ondertitels en USF, vraagt het alleen wat erin moet:
- Sprekerafbeeldingen insluitenDe afbeelding van elke spreker, in base64, in zijn stijl.
- Audioclips insluitenDe clip van elke nasynchronisatie, in base64, in zijn ondertitel.
Het bestand is UTF-8, de talen met ISO 639-2-code en naam, met een titel, die USF vereist, en zonder de stijl Default.
Wetenswaardigheden
USF verscheen voor het eerst in november 2002, een CoreCodec-project als XML-alternatief voor Advanced SubStation Alpha.
De laatste versie, van november 2010. De specificatie noemt nog steeds <s> bij de plannen.
Vanaf versie 0.9 toont VLC de tekst en tijden van USF, met een beetje van de opmaak, zoals VSFilter doet.
Verwante formaten
-
.ttmlTimed Text Markup Language
-
.assAdvanced SubStation Alpha
-
.smiSynchronized Accessible Media Interchange
Open het in Subtitld met de video en stel de timing bij op de golfvorm.