Universal Subtitle Format
O formato de legendas em XML da época do Matroska: estilos nomeados, vários idiomas em um arquivo e espaço para mais. Poucos players o adotaram, mas ele guarda tudo o que o Subtitld mantém, então o Subtitld guarda seus projetos nele.
Resumo
| Extensão | .usf |
|---|---|
| Tipo de mídia | text/xml |
| Especificação | USF 1.1, um projeto da CoreCodec (2010), mantido online pela Titlevision |
| Precisão do tempo | Milissegundos |
| Codificação do texto | Declarada no XML. UTF-8, a menos que ele diga outra coisa. |
| Estilo | Estilos nomeados, e <i>, <b>, <u> e <font> no texto |
| Posicionamento | Nove lugares e margens, para um estilo ou um texto |
| Falantes | Um speaker em cada texto |
| Idiomas | Vários em um arquivo, um bloco <subtitles> para cada, pelo código ISO 639-2 |
| Em contêineres | Matroska, como S_TEXT/USF |
Estrutura de um arquivo
Um documento XML: um cabeçalho de metadados e estilos, depois um bloco de legendas para cada idioma.
<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 · Raiz
<USFSubtitles>, com a versão do USF que ele segue. - 2 · Cabeçalho
O título, os autores e o idioma; os estilos nomeados que as legendas podem usar.
- 3 · Idioma
Um bloco
<subtitles>para cada idioma, pelo seu código ISO 639-2. - 4 · Legenda
Seu início, seu fim (ou sua duração) e seu texto.
Tempos
Os segundos bastam. 100 é 00:01:40.000, e 1.5 é um segundo e meio. Uma legenda pode dar sua duration em vez do stop.
Texto
O texto do USF é um subconjunto do XHTML: tags em minúsculas, bem aninhadas, <br/> fechado.
| Elemento | Efeito | No Subtitld |
|---|---|---|
<i>, <b>, <u> |
Itálico, negrito, sublinhado | Mantido |
<font color="#00FF0000"> |
Uma cor, e uma face, um tamanho, um contorno ou uma sombra | A cor mantida |
<br/> |
Uma quebra de linha | Mantido |
<s> |
Tachado: está na lista de planos do USF, não na especificação | Gravado para tachado; outras ferramentas podem mostrar o texto simples |
<karaoke>, <k t="250"/> |
Tempo de karaokê | O texto mantido |
<image>, <shape> |
Imagens e desenhos | Não mantidos |
O alfa vem primeiro, e conta ao contrário. As cores do USF são #AARRGGBB, com 00 opaco e FF transparente. #00FF0000 é vermelho sólido; #FF0000, sem alfa, também é.
Estilos e lugares
<style name="Narrator">
<fontstyle italic="yes"/>
<position alignment="TopCenter"/>
</style>
Um texto usa um estilo pelo nome, <text style="Narrator">, e recebe dele sua fonte, cor, itálico, peso e sublinhado, e seu lugar: um dos nove, de TopLeft a BottomRight. Um estilo chamado Default redefine todas as legendas, então o Subtitld não escreve nenhum, e os players mantêm a aparência deles.
Idiomas
Cada idioma tem seu próprio bloco <subtitles>, nomeado pelo código ISO 639-2: eng, fre, ger, por. Um código pode valer para mais de um idioma, como o Subtitld os conhece, então o Subtitld escreve também o nome de cada idioma no elemento, e lê por como português do Brasil ou de Portugal por causa dele.
<language code="por">
Portuguese (Brazil)
</language>
USF no Subtitld
Os projetos do Subtitld são USF. Um projeto .usfx é um USF com o que ele precisa ao lado, o vídeo, as vozes e as dublagens, em um só arquivo.
- Texto, formatação e lugar de cada legenda
- Traduções, um bloco para cada
- Falantes, com suas cores, e suas imagens quando pedido
- Dublagens e suas vozes, os próprios trechos quando pedido
- Início e fim, até o milissegundo
- Fontes, tamanhos, contornos e sombras linha a linha
- Imagens, desenhos e tempo de karaokê
- Efeitos
O que o Subtitld acrescenta, outras ferramentas deixam de lado.
Abrindo um arquivo USF
O Subtitld lê o que ele mesmo grava e o que outras ferramentas gravam:
- a codificação que o XML declara;
- o itálico, negrito, sublinhado, cor e lugar do estilo nomeado que um texto usa;
<font>comitalic,boldouunderline, como algumas ferramentas o escrevem;- uma
durationno lugar de umstopausente, e tempos só em segundos; - vários textos em uma legenda como suas linhas;
- o bloco de cada idioma associado ao primeiro pelo tempo, então os blocos não precisam ter o mesmo número de legendas;
- códigos ISO 639-2 e os nomes dos idiomas, e os códigos que versões antigas do Subtitld gravavam.
Um arquivo que não é USF diz isso e não abre nada.
Salvando USF
Como o USF guarda o projeto inteiro, Exportar, depois Legendas e USF, pergunta apenas o que colocar dentro:
- Incorporar imagens dos falantesA imagem de cada falante, em base64, no seu estilo.
- Incorporar trechos de áudioO trecho de cada dublagem, em base64, na sua legenda.
O arquivo é UTF-8, com os idiomas pelo código ISO 639-2 e pelo nome, com um título, que o USF exige, e sem estilo Default.
Curiosidades
O USF foi lançado pela primeira vez em novembro de 2002, um projeto da CoreCodec pensado como alternativa em XML ao Advanced SubStation Alpha.
A última versão, de novembro de 2010. Sua especificação ainda lista o <s> entre os planos.
A partir da versão 0.9, o VLC mostra o texto e o tempo do USF, com um pouco da formatação, como o VSFilter faz.
Formatos relacionados
-
.ttmlTimed Text Markup Language
-
.assAdvanced SubStation Alpha
-
.smiSynchronized Accessible Media Interchange
Abra no Subtitld com o vídeo e reajuste-o na forma de onda.