Ir para o conteúdo principal
SubtitleMatrix

Converter VTT para SMI

Ou cole o texto da legenda

O que esta conversão altera

1 coisa é descartada ou precisa de uma decisão

  • 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 WebVTT para SAMI (SMI), o formato de legenda que o Windows Media usou por anos. O SAMI é um documento HTML: tem um bloco STYLE, classes e uma sequência de tags SYNC que dizem o que está na tela a partir de cada instante.

Nesta direção, nada do que o VTT expressa se perde. Texto, quebras de linha, tempos ao milissegundo e a camada de estilo encontram equivalente, porque o SMI também declara aparência e posição — o que o VTT escreve no bloco STYLE pode ser levado adiante em vez de descartado.

Ficam de fora apenas os construtos exclusivos do WebVTT: os blocos NOTE e REGION como tais e os ajustes que seguem um carimbo, como align:start. Eles não têm campo no SAMI, que posiciona por classe e por atributo, não por setting de carimbo. Um arquivo ou uma temporada inteira, no navegador.

Exemplos

Um arquivo VTT comum, convertido para SMI

Entrada

WEBVTT

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

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

Saída

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=4500>
<P>Second line with <i>italics</i>.
<SYNC Start=8000>
<P>&nbsp;
</BODY>
</SAMI>

Descartado nesta saída apenas o que é sintaxe exclusiva do WebVTT. O resto confere linha por linha.

A mesma conversão com uma entrada problemática

Entrada

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

Saída

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>No header, two lines before the timecode.
<SYNC Start=2000>
<P>&nbsp;
</BODY>
</SAMI>

Cabeçalho ausente, fins de linha misturados e uma linha solta antes do carimbo: compare com o exemplo organizado acima para ver o que o analisador perdoa.

Perguntas frequentes

O que exatamente o SMI não consegue receber do VTT?

Os construtos que só existem no documento WebVTT: o cabeçalho com comentário, os blocos NOTE e REGION, a sintaxe própria do STYLE e os ajustes de carimbo como align:start ou position:10%. Tudo o mais — texto, tempos, quebras e estilo — tem lugar no SAMI.

Como fica a saída quando um VTT vira SMI?

Um documento HTML com um bloco STYLE, um corpo e uma sequência de tags SYNC. Cada bloco é um SYNC Start=4126 com o texto num P; como um SYNC substitui o que estava na tela, cada um vem seguido de um P com espaço forçado que limpa a área.

Os tempos do VTT chegam exatos ao SMI?

Chegam ao milissegundo, que é o limite dos dois. O carimbo 00:00:04.126 e o atributo Start=4126 apontam o mesmo ponto, sem arredondamento nem deslocamento.

As duas linhas de um bloco continuam juntas?

Continuam, com um br entre elas, que é como o SAMI escreve quebra dura. O par fica num P só, e o tocador mostra as duas linhas no mesmo intervalo.

O que a numeração dos blocos vira no SMI?

Nada: o SAMI não numera blocos. A posição no documento é a ordem, e as tags SYNC são executadas de cima para baixo — os identificadores do VTT, se houver, não são gravados.

Por que o SMI ainda é útil hoje?

Para tocar legendas em players antigos e em caixas de TV que só reconhecem SAMI. Para a web, o VTT é o formato nativo; o SMI sobrevive onde o pipeline nunca foi atualizado.

Ferramentas relacionadas