Converter SBV para TTML
Ou cole o texto da legenda
O que esta conversão altera
Nada se perde nesta direção — cada recurso do formato de origem tem para onde ir no formato de destino.
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 SBV em TTML. Arraste um arquivo — ou cole o texto — e receba de volta a versão TTML. A conversão roda inteiramente no seu navegador, então nada é enviado e não é preciso criar conta.
Nada se perde nesta direção. Todo recurso que o SBV consegue expressar tem equivalente no TTML, então a saída são as mesmas legendas num invólucro diferente — a linha do tempo, as quebras de linha e o texto atravessam inteiros, e o elemento `<p>` com atributos `begin` e `end` dentro de um `<body>` é só a forma que o TTML usa para dizer a mesma coisa. Vale para qualquer arquivo SBV, inclusive um que use todos os recursos que o formato permite.
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 SBV típico, convertido para TTML
Entrada
0:00:01.000,0:00:03.500
The quick brown fox.
0:00:04.000,0:00:06.250
Jumps over the lazy dog.
0:00:07.000,0:00:09.000
Two lines here.
And a second one.
Saída
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:03.500">The quick brown fox.</p>
<p begin="00:00:04.000" end="00:00:06.250">Jumps over the lazy dog.</p>
<p begin="00:00:07.000" end="00:00:09.000">Two lines here.<br/>And a second one.</p> </body>
</tt>
Nada se perde aqui: compare os dois lados linha por linha.
A mesma conversão num arquivo problemático
Entrada
0:00:02.000,0:00:04.000
Carriage-return line endings.
0:00:06.000,0:00:08.000
Indented timecode, no final newline.Saída
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:02.000" end="00:00:04.000">Carriage-return line endings.</p>
<p begin="00:00:06.000" end="00:00:08.000">Indented timecode, no final newline.</p> </body>
</tt>
É 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
Como fica a saída quando SBV vira TTML?
Como TTML: sem números de bloco: cada legenda é um elemento `<p>` com atributos `begin` e `end`, aninhado num `<body>` (e normalmente num `<div>`), com uma declaração XML acima do documento inteiro. Cada bloco SBV vira um bloco TTML, na mesma ordem e com o mesmo texto.
Os tempos SBV ficam exatos no arquivo TTML?
Sim, ao milissegundo — que é o máximo dos dois formatos. O SBV escreve um instante como `0:00:04.126` e o TTML 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 SBV de duas linhas no TTML?
Como duas linhas com um `<br/>` entre elas, que é como o TTML escreve uma quebra de linha dura. O par sobrevive — as duas linhas SBV ainda pertencem a uma legenda só na saída TTML, e o reprodutor mostra as duas juntas.
Os blocos SBV mantêm a ordem na saída TTML?
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 SBV listava os blocos fora de sequência, a saída TTML os põe em ordem; isso muda a estrutura do arquivo, não o conteúdo, e é de propósito.
Dá para converter o TTML de volta para SBV?
Dá, mas voltar de TTML para SBV é a direção com perdas: os estilos, as regiões e os metadados que um documento TTML pode carregar não têm onde ficar num SBV. Neste sentido nada se perde, então esse custo só aparece se você voltar.
A saída TTML preserva a codificação do arquivo SBV?
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 SBV. 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 TTML em UTF-8.