Pular para o conteúdo

Converter TTML para SRT a legenda em XML pronta para o seu editor.

Para converter TTML para SRT, cole o XML ou arraste o arquivo .ttml, .dfxp ou .xml e baixe o .srt. Lemos cada parágrafo com início e fim, convertemos tempos em quadros, ticks ou segundos para o relógio do SRT e mantemos itálico, negrito e sublinhado. O arquivo sai numerado e em UTF-8.

Grátis, sem cadastro
O que fazer
Formato de saída
Limpeza (opcional)

Tira [Música], (risos), linhas com ♪ e nomes em maiúsculas como PASTOR: no começo da fala.

Como usar

Como converter TTML em SRT

  1. 01

    Cole ou arraste o TTML

    Serve .ttml, .dfxp ou .xml, nos perfis DFXP, SMPTE-TT e IMSC. Detectamos a codificação sozinhos, inclusive arquivos em UTF-16.

  2. 02

    Deixe SRT na saída

    SRT já vem marcado. Se quiser, corrija sobreposições ou tire descrições de som como [Música] antes de converter.

  3. 03

    Baixe o .srt e confira o relatório

    Cada legenda aparece com duração, caracteres por linha e velocidade de leitura. Copie o resultado ou baixe o arquivo.

O que é um arquivo TTML (ou DFXP) e de onde ele vem?

TTML é um formato de legenda em XML definido pelo W3C. Em vez de blocos numerados, ele guarda cada fala num parágrafo <p> com os atributos begin e end, e pode carregar estilos, regiões de posição e metadados. DFXP é o nome do primeiro perfil do TTML e ainda aparece como extensão; SMPTE-TT e IMSC são variações usadas em TV e em streaming.

Quem recebe um TTML normalmente pegou a legenda de uma plataforma de streaming, de uma distribuidora, de um fluxo de TV ou de uma agência de legendagem. O problema começa na edição: a maioria dos editores de vídeo, dos players de computador e das redes sociais espera SRT. Convertendo, o texto e os tempos continuam os mesmos, só que num formato que o seu programa abre.

A mesma fala em TTML (25 quadros por segundo) e no SRT gerado
legenda.ttml
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" ttp:frameRate="25">
  <p begin="00:01:12:12" end="00:01:15:00">
    <span tts:fontStyle="italic">Vocês lembram da última aula?</span>
  </p>

legenda.srt
1
00:01:12,480 --> 00:01:15,000
<i>Vocês lembram da última aula?</i>

Como os tempos do TTML viram tempos do SRT

O SRT só conhece um jeito de escrever o tempo: horas, minutos, segundos e milissegundos, com vírgula. O TTML aceita vários, e é aí que conversores simples erram. Lemos o relógio com milissegundos, o relógio com quadros, que usa o ttp:frameRate e o frameRateMultiplier do cabeçalho, e os tempos por deslocamento, como 1.5s, 1500ms, 30f ou ticks com o ttp:tickRate.

Quando um parágrafo traz begin e dur em vez de end, somamos a duração ao início. Se o arquivo usa quadros e não declara a taxa, contamos 30 quadros por segundo, que é o padrão da especificação. Confira no relatório: legendas com duração estranha costumam indicar um TTML exportado sem a taxa certa.

Tempo no TTMLNo SRT gerado
00:00:01.50000:00:01,500
00:00:01:12 a 25 quadros00:00:01,480
1.5s ou 1500ms00:00:01,500
30f a 30 quadros00:00:01,000
15000000t, tickRate 1000000000:00:01,500
begin="10s" dur="2.5s"00:00:10,000 --> 00:00:12,500

O que passa para o SRT e o que fica para trás

O SRT é bem mais simples que o TTML, então parte da informação não tem para onde ir. O que importa para a maioria dos usos passa: o texto, o tempo, as quebras de linha feitas com <br/> e a ênfase. Itálico, negrito e sublinhado viram <i>, <b> e <u>, venham de um estilo com nome no cabeçalho ou de um span no meio da frase.

Cores, fundo, tamanho de fonte e regiões de posição saem, porque o SRT não tem como guardar isso. Uma legenda que no TTML ficava no alto da tela vai aparecer embaixo, na posição padrão do player. Se nem a ênfase interessa, marque a limpeza que remove a formatação.

No TTMLNo SRT gerado
<p begin end>Bloco numerado com a seta -->
fontStyle, fontWeight, textDecoration<i>, <b>, <u>
<br/>Quebra de linha
&amp; &lt; &gt;& < >
Cor, fundo, tamanhoRemovidos
Regiões e posiçãoRemovidas (legenda embaixo)

Onde usar o SRT que sai do TTML

O SRT abre no Premiere Pro, no DaVinci Resolve, no Final Cut Pro, no CapCut e no VLC, e sobe no YouTube Studio e no Vimeo. Também é o formato que a maioria das ferramentas de tradução e de revisão de legenda pede, o que facilita repassar o arquivo a outra pessoa.

Antes de baixar, vale olhar o relatório. Legendas de TV costumam ter linhas longas e velocidade de leitura alta para redes sociais; o relatório mostra quais blocos passam de 42 caracteres por linha ou de 17 caracteres por segundo, para você ajustar no editor.

Perguntas frequentes

Como converter TTML para SRT?

Cole o XML ou arraste o arquivo .ttml, .dfxp ou .xml, deixe SRT na saída e baixe. Cada parágrafo do TTML vira um bloco numerado do SRT, com o mesmo início e fim. É grátis, sem cadastro, e o arquivo sai em UTF-8.

DFXP e TTML são a mesma coisa?

Na prática, sim. DFXP é o nome do primeiro perfil do TTML, e muitos sistemas ainda salvam a legenda com a extensão .dfxp. O conteúdo é o mesmo XML com parágrafos <p>, e o conversor lê os dois, assim como os perfis SMPTE-TT e IMSC.

Por que os tempos ficaram errados depois da conversão?

Quase sempre é a taxa de quadros. Se o TTML escreve tempos em quadros, como 00:01:12:12, e não declara o ttp:frameRate, contamos 30 quadros por segundo, como manda a especificação. Se o vídeo é de 25 ou 24 quadros, a legenda escorrega. Ajuste depois com a ferramenta de sincronizar legenda, mudando a taxa de quadros.

As cores e a posição da legenda passam para o SRT?

Não. O SRT não tem campo para cor, fundo ou região de tela, então esses estilos saem e a legenda volta para a posição padrão, embaixo. Itálico, negrito e sublinhado passam, porque o SRT aceita as tags <i>, <b> e <u>.

Baixei um arquivo .xml. Ele é TTML?

Se ele começa com a tag <tt> e tem parágrafos <p> com begin e end, é TTML e o conversor lê. Um .xml do Premiere Pro ou do Final Cut é outra coisa: é projeto de edição, não legenda, e não vai converter.

Dá para fazer o caminho de volta, de SRT para TTML?

Dá. Use a página de converter SRT para TTML: cada bloco vira um parágrafo <p> com início e fim em milissegundos, e o itálico vira estilo do TTML. É útil quando você editou a legenda e precisa devolver no formato que a plataforma pediu.

Ainda não tem a legenda? Nós geramos o SRT do seu vídeo.

Envie o vídeo ou o link do YouTube. Nós transcrevemos palavra por palavra, com o tempo de cada fala, e você baixa o SRT pronto para o editor ou para converter.

Veja o resultado no seu material antes de cadastrar o cartão.