Converter VTT para SRT
Ou cole o texto da legenda
O que esta conversão altera
2 coisas são descartadas ou precisam de uma decisão
- Estilo
todo o estilo (negrito, itálico, cor, contorno, sombra)
- 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 SRT. O texto, as quebras de linha e os tempos atravessam ao milissegundo — o que muda é a sintaxe em volta. Cada 00:00:01.000 do VTT vira 00:00:01,000 no SRT, porque o SRT escreve vírgula onde o WebVTT escreve ponto, e a linha WEBVTT do topo desaparece, porque arquivos SRT não têm cabeçalho.
O que não atravessa é tudo o que o WebVTT guarda fora dos blocos. O cabeçalho pode trazer um comentário; o arquivo pode ter blocos NOTE, STYLE e REGION, e o STYLE pode carregar as regras de layout do documento inteiro; um carimbo pode vir seguido de ajustes como align:start ou position:10%. O SRT não tem campo para nada disso, então é descartado em vez de reinterpretado. Os identificadores dos blocos também mudam: viram números sequenciais, porque o contador do SRT precisa ser numérico.
Entrada desleixada não atrapalha: cabeçalho ausente, fim de linha do Windows, uma linha solta antes do carimbo ou BOM são lidos sem reclamação. Um arquivo ou uma temporada inteira, com um ZIP no fim, e nada sai do seu computador.
Exemplos
Um arquivo VTT comum, convertido para SRT
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
1
00:00:01,000 --> 00:00:04,000
Hello there.
2
00:00:04,500 --> 00:00:08,000
Second line with <i>italics</i>.
Descartado nesta saída: o estilo declarado e os construtos que só o WebVTT tem. 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
1
00:00:01,000 --> 00:00:02,000
No header, two lines before the timecode.
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 some quando um VTT vira SRT?
Somem as famílias que vivem fora dos blocos: o cabeçalho WEBVTT e o comentário que ele pode carregar, os blocos NOTE, STYLE e REGION, e os ajustes que seguem um carimbo, como align:start ou position:10%. A folha de estilo é a perda mais séria, porque pode definir o layout de todo o documento.
Meus identificadores de bloco são mantidos?
Não: viram 1, 2, 3 em sequência. O WebVTT aceita um identificador livre antes de cada bloco; o SRT exige um contador numérico, então o texto do identificador se perde e a posição é renumerada.
Os tempos do VTT chegam exatos ao SRT?
Chegam ao milissegundo. 00:00:04.126 e 00:00:04,126 nomeiam o mesmo instante; a troca do ponto pela vírgula não altera o valor e nenhum bloco anda 1 ms sequer.
Como ficam as tags dentro do texto?
Ficam onde estavam. O SRT não declara estilo no arquivo, mas sempre aceitou as mesmas tags de itálico, negrito e sublinhado dentro do texto que o WebVTT aceita — então a marcação local do bloco atravessa sem tradução.
Um bloco VTT de duas linhas vira o quê no SRT?
Duas linhas dentro do mesmo bloco numerado, uma sob a outra. O agrupamento continua: o SRT não tem como dizer que são duas legendas, então o par permanece junto.
O SRT de saída mantém a codificação do VTT?
Não. Sai em UTF-8 com fim de linha Unix e sem BOM, qualquer que fosse a codificação de entrada; UTF-16 e página de código do Windows são decodificados na leitura, com aviso no painel.