Ir para o conteúdo principal
SubtitleMatrix

Converter SRT 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 SRT para TTML. Solte um arquivo — ou cole o texto — e receba a versão TTML. A conversão roda inteira no navegador, sem envio e sem cadastro.

Nada se perde nesta direção. Todo recurso que o SRT expressa tem equivalente no TTML, então a saída são as mesmas legendas em outro invólucro: a linha do tempo, as quebras de linha e o texto sobrevivem. Vale para qualquer arquivo SRT, inclusive um que use tudo o que o formato permite.

Um arquivo ou uma temporada inteira: a fila processa em ordem e os resultados descem juntos num único ZIP.

Exemplos

Um arquivo SRT comum, convertido para TTML

Entrada

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

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">Hello there.</p>
<p begin="00:00:03.500" end="00:00:06.000"><span tts:fontStyle="italic">Whispering</span> now.<br/>And a second line.</p>
<p begin="00:00:06.000" end="00:00:09.250"><span tts:fontWeight="bold">Bold</span> statement.</p>  </body>
</tt>

Aqui nada é descartado: compare os dois lados linha por linha.

A mesma conversão com uma entrada problemática

Entrada

1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.


2
00:00:03,500 --> 00:00:06,000


3
00:00:08,000 --> 00:00:09,000
Last 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"><span tts:fontWeight="bold">Bold</span> and <span tts:fontStyle="italic">italic</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000"></p>
<p begin="00:00:08.000" end="00:00:09.000">Last one.</p>  </body>
</tt>

É o tipo de dano que arquivos reais trazem: fins de linha misturados, espaços soltos, campos vazios. Compare com o exemplo organizado acima para ver o que o analisador perdoa.

Perguntas frequentes

Como fica a saída quando o SRT vira TTML?

É um documento XML com declaração no topo, um elemento tt com os namespaces e um body dentro. Cada bloco vira um p com atributos begin e end, e o texto pode vir envolto em span quando carrega estilo.

Os tempos do SRT são exatos no arquivo TTML?

São, ao milissegundo. O SRT escreve 00:00:04,126 e o TTML escreve 00:00:04.126 no atributo begin; a única diferença é a vírgula virando ponto, sem arredondamento nem deslocamento.

Um bloco SRT de duas linhas vira o quê no TTML?

Duas linhas separadas por um br vazio, que é como o TTML escreve quebra dura dentro de um mesmo p. O par continua unido e herda o mesmo begin e end.

A ordem dos blocos é preservada no TTML?

É, e eles são ordenados pelo begin antes de serem escritos. O TTML é lido na ordem do documento, então a posição do p no body é a ordem de exibição.

Posso converter o TTML de volta para SRT?

Pode, e a volta custa: TTML para SRT descarta estilo, posicionamento e conteúdo específico do formato, como as regiões e a folha de estilo do documento. Nesta direção nada se perde, então o custo só aparece na volta.

A saída TTML mantém a codificação do arquivo SRT?

Não — a saída é UTF-8 com declaração XML e fim de linha Unix, qualquer que tenha sido o SRT de origem. Arquivos em UTF-16 ou em codificação de byte único do Windows são decodificados na entrada, com aviso no painel.

Ferramentas relacionadas