Universal Subtitle Format
XML-формат субтитрів ери Matroska: іменовані стилі, кілька мов в одному файлі і простір для розширення. Його підтримало небагато плеєрів, але він утримує все, що зберігає Subtitld, тому Subtitld зберігає в ньому свої проєкти.
Коротко
| Розширення | .usf |
|---|---|
| Тип медіа | text/xml |
| Специфікація | USF 1.1, проєкт CoreCodec (2010), підтримується онлайн компанією Titlevision |
| Точність часу | Мілісекунди |
| Кодування тексту | Оголошене в XML. UTF-8, якщо не вказано інше. |
| Оформлення | Іменовані стилі, а також <i>, <b>, <u> і <font> у тексті |
| Розміщення | Дев’ять місць і відступів, для стилю або для тексту |
| Мовці | speaker у кожному тексті |
| Мови | Кілька в одному файлі, по блоку <subtitles> на кожну, за кодом ISO 639-2 |
| У контейнерах | Matroska як S_TEXT/USF |
Будова файлу
XML-документ: заголовок із метаданими і стилями, далі блок субтитрів для кожної мови.
<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 · Корінь
<USFSubtitles>з версією USF, за якою він зроблений. - 2 · Заголовок
Назва, автори і мова; іменовані стилі, які можуть використовувати субтитри.
- 3 · Мова
Блок
<subtitles>для кожної мови за її кодом ISO 639-2. - 4 · Субтитр
Його початок, кінець (або тривалість) і текст.
Час
Достатньо й самих секунд. 100 — це 00:01:40.000, а 1.5 — півтори секунди. Субтитр може вказати duration замість stop.
Текст
Текст USF — це підмножина XHTML: теги малими літерами, належно вкладені, <br/> закривається.
| Елемент | Ефект | У Subtitld |
|---|---|---|
<i>, <b>, <u> |
Курсив, жирний, підкреслення | Зберігається |
<font color="#00FF0000"> |
Колір, а також гарнітура, розмір, контур або тінь | Зберігається колір |
<br/> |
Перенос рядка | Зберігається |
<s> |
Перекреслення: є в списку планів USF, але не в специфікації | Записується для перекреслення; інші інструменти можуть показати простий текст |
<karaoke>, <k t="250"/> |
Синхронізація караоке | Зберігається текст |
<image>, <shape> |
Зображення і малюнки | Не зберігається |
Альфа-канал іде першим і відраховується на спад. Кольори USF мають вигляд #AARRGGBB, де 00 — непрозорий, а FF — прозорий. #00FF0000 — суцільний червоний; #FF0000 без альфа-каналу теж.
Стилі та місця
<style name="Narrator">
<fontstyle italic="yes"/>
<position alignment="TopCenter"/>
</style>
Текст використовує стиль за назвою, <text style="Narrator">, і бере його шрифт, колір, курсив, товщину й підкреслення, а також місце: одне з дев’яти, від TopLeft до BottomRight. Стиль із назвою Default змінює кожен субтитр, тому Subtitld його не записує, і плеєри зберігають свій вигляд.
Мови
Кожна мова має власний блок <subtitles>, названий кодом ISO 639-2: eng, fre, ger, por. Один код може означати більше однієї мови, відомої Subtitld, тож Subtitld записує в елементі також назву мови і читає por як бразильську або європейську португальську за нею.
<language code="por">
Portuguese (Brazil)
</language>
USF у Subtitld
Проєкти Subtitld — це USF. Проєкт .usfx — це USF разом із тим, що йому потрібне поруч: відео, голоси і дубляжі в одному файлі.
- Текст, оформлення і місце кожного субтитра
- Переклади, по блоку на кожен
- Мовці з їхніми кольорами, а за бажанням і зі зображеннями
- Дубляжі та їхні голоси, а за бажанням і самі кліпи
- Початок і кінець до мілісекунди
- Шрифти, розміри, контури й тіні для кожного рядка
- Зображення, малюнки та синхронізація караоке
- Ефекти
Те, що додає Subtitld, інші інструменти залишають без змін.
Відкриття файлу USF
Subtitld читає те, що записує сам, і те, що записують інші інструменти:
- кодування, оголошене в XML;
- курсив, жирний, підкреслення, колір і місце іменованого стилю, який використовує текст;
<font>зitalic,boldабоunderline, як його пишуть деякі інструменти;durationзамість відсутньогоstopі час, записаний лише в секундах;- кілька текстів в одному субтитрі як його рядки;
- блок кожної мови, зіставлений із першим за часом, тож блоки не мусять мати однакову кількість субтитрів;
- коди ISO 639-2 і назви мов, а також коди, які записували старіші версії Subtitld.
Файл, який не є USF, так і повідомляє, і нічого не відкриває.
Збереження USF
USF зберігає весь проєкт, тож Експорт, далі Субтитри і USF питає лише, що вкласти всередину:
- Вбудувати зображення мовцівЗображення кожного мовця в base64, у його стилі.
- Вбудувати аудіокліпиКліп кожного дубляжу в base64, у його субтитрі.
Файл у UTF-8, мови за кодом ISO 639-2 і назвою, із назвою, яку вимагає USF, і без стилю Default.
Цікаве
USF вперше випустили у листопаді 2002 року. Це був проєкт CoreCodec як XML-альтернатива Advanced SubStation Alpha.
Остання версія, від листопада 2010 року. Її специфікація досі серед планів називає <s>.
Починаючи з версії 0.9, VLC показує текст і час USF, а трохи його оформлення показує так само, як VSFilter.
Пов'язані формати
-
.ttmlTimed Text Markup Language
-
.assAdvanced SubStation Alpha
-
.smiSynchronized Accessible Media Interchange
Відкрийте його в Subtitld разом із відео та вирівняйте за хвилею.