Universal Subtitle Format
Format napisów XML z lat Matroski: nazwane style, kilka języków w jednym pliku i miejsce na więcej. Niewiele odtwarzaczy go przyjęło, ale mieści wszystko, co Subtitld zachowuje, dlatego Subtitld zapisuje w nim swoje projekty.
W skrócie
| Rozszerzenie | .usf |
|---|---|
| Typ mediów | text/xml |
| Specyfikacja | USF 1.1, projekt CoreCodec (2010), dostępny online u Titlevision |
| Precyzja czasu | Milisekundy |
| Kodowanie tekstu | Zadeklarowane w XML. UTF-8, chyba że zapisano inaczej. |
| Stylizacja | Nazwane style oraz <i>, <b>, <u> i <font> w tekście |
| Pozycjonowanie | Dziewięć miejsc i marginesów, dla stylu lub tekstu |
| Mówcy | speaker przy każdym tekście |
| Języki | Kilka w jednym pliku, po jednym bloku <subtitles> na każdy, według kodu ISO 639-2 |
| W kontenerach | Matroska jako S_TEXT/USF |
Budowa pliku
Dokument XML: nagłówek z metadanymi i stylami, potem blok napisów dla każdego języka.
<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 · Korzeń
<USFSubtitles>, z wersją USF, do której się stosuje. - 2 · Nagłówek
Tytuł, autorzy i język; nazwane style, których mogą używać napisy.
- 3 · Język
Blok
<subtitles>dla każdego języka, według kodu ISO 639-2. - 4 · Napis
Jego początek, koniec (lub czas trwania) i tekst.
Czas
Same sekundy wystarczą. 100 to 00:01:40.000, a 1.5 to półtorej sekundy. Napis może podać duration zamiast stop.
Tekst
Tekst USF to podzbiór XHTML: znaczniki małymi literami, poprawnie zagnieżdżone, <br/> zamknięty.
| Element | Efekt | W Subtitld |
|---|---|---|
<i>, <b>, <u> |
Kursywa, pogrubienie, podkreślenie | Zachowany |
<font color="#00FF0000"> |
Kolor, a także czcionka, rozmiar, obrys lub cień | Zachowany kolor |
<br/> |
Podział wiersza | Zachowany |
<s> |
Przekreślenie: na liście planów USF, nie w specyfikacji | Zapisywany dla przekreślenia; inne narzędzia mogą pokazać tekst zwykły |
<karaoke>, <k t="250"/> |
Czas karaoke | Zachowany tekst |
<image>, <shape> |
Obrazy i rysunki | Nie zachowane |
Alfa idzie pierwsza i działa odwrotnie. Kolory USF to #AARRGGBB, gdzie 00 oznacza nieprzezroczystość, a FF przezroczystość. #00FF0000 to pełny czerwony; #FF0000, bez alfy, też.
Style i miejsca
<style name="Narrator">
<fontstyle italic="yes"/>
<position alignment="TopCenter"/>
</style>
Tekst używa stylu po nazwie, <text style="Narrator">, i przejmuje jego czcionkę, kolor, kursywę, grubość i podkreślenie oraz swoje miejsce: jedno z dziewięciu, od TopLeft do BottomRight. Styl o nazwie Default zmienia wygląd każdego napisu, więc Subtitld go nie zapisuje, a odtwarzacze zachowują własny wygląd.
Języki
Każdy język ma własny blok <subtitles>, nazwany kodem ISO 639-2: eng, fre, ger, por. Jeden kod może oznaczać więcej niż jeden język, znany Subtitld, więc Subtitld zapisuje też nazwę każdego języka w elemencie i dzięki niej odczytuje por jako portugalski brazylijski albo europejski.
<language code="por">
Portuguese (Brazil)
</language>
USF w Subtitld
Projekty Subtitld to USF. Projekt .usfx to USF wraz z tym, czego potrzebuje obok: wideo, głosami i dubbingami, w jednym pliku.
- Tekst, formatowanie i miejsce każdego napisu
- Tłumaczenia, po jednym bloku
- Mówcy z ich kolorami i zdjęciami, na życzenie
- Dubbingi i ich głosy, same klipy na życzenie
- Początek i koniec co do milisekundy
- Czcionki, rozmiary, obrysy i cienie wiersz po wierszu
- Obrazy, rysunki i czas karaoke
- Efekty
Co Subtitld dodaje, inne narzędzia zostawiają w spokoju.
Otwieranie pliku USF
Subtitld czyta to, co sam zapisuje, i to, co zapisują inne narzędzia:
- kodowanie zadeklarowane w XML;
- kursywę, pogrubienie, podkreślenie, kolor i miejsce nazwanego stylu, którego używa tekst;
<font>zitalic,boldlubunderline, jak zapisują to niektóre narzędzia;durationzamiast brakującegostoporaz czasy podane samymi sekundami;- kilka tekstów w jednym napisie jako jego wiersze;
- blok każdego języka dopasowany do pierwszego po czasie, więc bloki nie muszą mieć tej samej liczby napisów;
- kody ISO 639-2 i nazwy języków, także te zapisywane przez starsze wersje Subtitld.
Plik, który nie jest USF, to zgłasza i niczego nie otwiera.
Zapisywanie USF
USF zachowuje cały projekt, więc Eksportuj, potem Napisy i USF pyta tylko, co umieścić w środku:
- Osadź zdjęcia mówcówZdjęcie każdego mówcy, w base64, w jego stylu.
- Osadź klipy audioKlip każdego dubbingu, w base64, w jego napisie.
Plik jest w UTF-8, jego języki według kodu ISO 639-2 i nazwy, z tytułem, którego wymaga USF, i bez stylu Default.
Ciekawostki
USF został wydany po raz pierwszy w listopadzie 2002 roku, jako projekt CoreCodec, będący alternatywą w XML dla Advanced SubStation Alpha.
Ostatnia wersja, z listopada 2010 roku. Jej specyfikacja wciąż wymienia <s> wśród planów.
Od wersji 0.9 VLC pokazuje tekst i czas USF, z odrobiną formatowania, tak jak robi to VSFilter.
Powiązane formaty
-
.ttmlTimed Text Markup Language
-
.assAdvanced SubStation Alpha
-
.smiSynchronized Accessible Media Interchange
Otwórz go w Subtitld razem z wideo i dopasuj czasy na przebiegu fali dźwiękowej.