Ir para o conteúdo principal
SubtitleMatrix

Converter SSA para VTT

Conversão de formatosSubStation Alpha (SSA)
Ou cole o texto da legenda

O que esta conversão altera

4 coisas são descartadas ou precisam de uma decisão

  • Estilo

    todo o estilo exceto negrito e itálico (cor, contorno, sombra, margens)

  • Posição

    a posição na tela (cada bloco volta à posição padrão)

  • Karaokê

    a sincronização karaokê (destaque por sílaba)

  • Conteúdo específico do formato

    conteúdo que o formato de origem guarda fora de seus blocos (blocos que não são cue, texto de cabeçalho, configurações por bloco, eventos comentados) — o formato de destino não tem lugar para ele

Esta lista vem da matriz de capacidades destes dois formatos, não do arquivo específico que você carregou. Um arquivo específico pode perder mais se usar recursos que o formato permite mas a matriz não modela.

Esta página converte SSA em VTT. Arraste um arquivo — ou cole o texto — e receba de volta a versão VTT. A conversão roda inteiramente no seu navegador, então nada é enviado e não é preciso criar conta.

Os dois formatos não guardam as mesmas coisas, e a diferença não é cosmética: estilo, posicionamento e karaokê não têm onde ficar no VTT, e as seções que o SSA guarda fora da lista de blocos — `[Script Info]`, e os blocos `[Fonts]` e `[Graphics]` que embutem as fontes e imagens de que um reprodutor precisa — também não. A lista acima vem do que cada formato consegue expressar, não do seu arquivo, então a resposta é a mesma antes de você carregar qualquer coisa.

Um arquivo só está ótimo, e uma temporada inteira também: a fila processa na ordem, você pode parar no meio e os resultados descem juntos num único ZIP.

Exemplos

Um arquivo SSA típico, convertido para VTT

Entrada

[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines

Saída

WEBVTT

00:00:01.000 --> 00:00:04.000
Hello there.

00:00:05.000 --> 00:00:08.000
<i>Italic</i> line.

00:00:09.000 --> 00:00:12.000
Two
lines

Perdidos nesta saída: estilo, posicionamento, karaokê e conteúdo específico do formato. Todo o resto bate linha por linha.

A mesma conversão num arquivo problemático

Entrada

[Script Info]
Title: Dirty SSA
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.

Saída

WEBVTT

00:00:01.000 --> 00:00:04.000
<b>Bold</b> and <u>underlined</u>.

00:00:05.000 --> 00:00:08.000
A soft
break and a {\p1}mystery{\p0} code.

É o tipo de dano que arquivos reais têm — fim de linha misturado, espaço solto, campo vazio. Compare com o exemplo organizado acima para ver o que o analisador perdoa.

Perguntas frequentes

Que estilo sobrevive de SSA para VTT?

A ênfase, escrita no texto como tags: negrito, itálico, sublinhado e uma cor saem como `<b>`, `<i>`, `<u>` e `<font color="…">`, que o navegador aplica. O que o arquivo VTT não carrega é a tabela de estilos de que o SSA depende — a fonte, o tamanho, o contorno, a sombra e as margens vão embora, e a página que embute as legendas as estiliza com o próprio CSS.

O que acontece com a posição na tela de SSA para VTT?

O VTT não sabe dizer onde uma legenda é desenhada, então os códigos `\pos`, `\an` e `\move` são descartados na saída do SSA, e cada bloco volta à posição padrão que o reprodutor escolhe — para a maioria deles, a parte de baixo do quadro, centralizada.

O que acontece com o karaokê de SSA para VTT?

O tempo vai embora; as palavras ficam. O karaokê vive nos códigos `\k`, `\kf` e `\ko` que um evento SSA carrega, marcando quando cada sílaba acende, e o VTT não tem como registrar um instante dentro de uma linha — então as marcas saem e as sílabas chegam como texto comum de VTT.

O que acontece com o bloco `[Script Info]` e o resto do script SSA no VTT?

Só as linhas `Dialogue:` viram legendas. O bloco `[Script Info]` (o título inclusive — o VTT não tem onde guardá-lo), a tabela de estilos, eventuais linhas `Comment:` e tudo o que estiver embutido em `[Fonts]` ou `[Graphics]` são descartados. Para um arquivo SSA cujo estilo foi escrito à mão, é essa a perda que mais aparece.

Como fica a saída quando SSA vira VTT?

Como VTT: a linha `WEBVTT` no topo e, opcionalmente, uma linha de identificador acima de cada bloco, que nenhum reprodutor exibe. Cada bloco SSA vira um bloco VTT, na mesma ordem e com o mesmo texto.

Os tempos SSA ficam exatos no arquivo VTT?

Sim, ao milissegundo — que é o máximo dos dois formatos. O SSA escreve um instante como `0:00:04.13` e o VTT escreve o mesmo instante como `00:00:04.126`; nada é arredondado nem deslocado entre os dois, e um bloco que ficou 2,9 segundos na tela continua com 2,9 segundos.

Como sai um bloco SSA de duas linhas no VTT?

Como duas linhas, uma debaixo da outra. O par sobrevive — as duas linhas SSA ainda pertencem a uma legenda só na saída VTT, e o reprodutor mostra as duas juntas.

Os blocos SSA mantêm a ordem na saída VTT?

Mantêm, e são ordenados pelo horário de início no caminho — o mais cedo primeiro, que é como todo formato daqui espera e como os reprodutores leem. Se o seu arquivo SSA listava os blocos fora de sequência, a saída VTT os põe em ordem; isso muda a estrutura do arquivo, não o conteúdo, e é de propósito.

Dá para converter o VTT de volta para SSA?

Dá, e essa direção tem lista própria: converter VTT para SSA perde precisão e conteúdo específico do formato. A lista é diferente da acima porque os dois formatos guardam coisas diferentes.

A saída VTT preserva a codificação do arquivo SSA?

Não — a saída é UTF-8, com fim de linha Unix e sem marca de ordem de bytes, seja qual for a codificação do arquivo SSA. Um arquivo em UTF-16 ou numa codificação Windows de um byte é decodificado na entrada (o painel de resultado avisa quando isso acontece); o que sai é sempre o mesmo VTT em UTF-8.

Ferramentas relacionadas