Universal Subtitle Format

AbrirSalvarXMLMultilíngue

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ídiatext/xml
EspecificaçãoUSF 1.1, um projeto da CoreCodec (2010), mantido online pela Titlevision
Precisão do tempoMilissegundos
Codificação do textoDeclarada no XML. UTF-8, a menos que ele diga outra coisa.
EstiloEstilos nomeados, e <i>, <b>, <u> e <font> no texto
PosicionamentoNove lugares e margens, para um estilo ou um texto
FalantesUm speaker em cada texto
IdiomasVários em um arquivo, um bloco <subtitles> para cada, pelo código ISO 639-2
Em contêineresMatroska, 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. 1 · Raiz

    <USFSubtitles>, com a versão do USF que ele segue.

  2. 2 · Cabeçalho

    O título, os autores e o idioma; os estilos nomeados que as legendas podem usar.

  3. 3 · Idioma

    Um bloco <subtitles> para cada idioma, pelo seu código ISO 639-2.

  4. 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.

Mantido no .usf
  • 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
Sem destino
  • 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> com italic, bold ou underline, como algumas ferramentas o escrevem;
  • uma duration no lugar de um stop ausente, 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

Caixa de exportação do Subtitld com USF escolhido e as imagens dos falantes incorporadas

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

2002

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.

1.1

A última versão, de novembro de 2010. Sua especificação ainda lista o <s> entre os planos.

VLC 0.9

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

Tem um .usf para corrigir?

Abra no Subtitld com o vídeo e reajuste-o na forma de onda.

Baixar o Subtitld