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 cadastroSegundo arquivo
Por exemplo, o nome do vídeo e a versão para aprovação.
Esse texto não tem tempos. Vamos criar a legenda pelo ritmo de leitura: cada linha ou frase vira um bloco de até 2 linhas.
O JSON traz o tempo de cada palavra. Cortamos em blocos de até 2 linhas de 42 caracteres, no fim das frases e nas pausas.
Relatório da legenda
- Legendas
- Duração
- Palavras
- CPS médio
- CPS máximo
- Com alerta
| # | Tempo | Duração | Texto | Caracteres por linha | CPS | Alertas |
|---|
Como converter TTML em SRT
- 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.
- 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.
- 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.
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 TTML | No SRT gerado |
|---|---|
| 00:00:01.500 | 00:00:01,500 |
| 00:00:01:12 a 25 quadros | 00:00:01,480 |
| 1.5s ou 1500ms | 00:00:01,500 |
| 30f a 30 quadros | 00:00:01,000 |
| 15000000t, tickRate 10000000 | 00: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 TTML | No SRT gerado |
|---|---|
| <p begin end> | Bloco numerado com a seta --> |
| fontStyle, fontWeight, textDecoration | <i>, <b>, <u> |
| <br/> | Quebra de linha |
| & < > | & < > |
| Cor, fundo, tamanho | Removidos |
| Regiões e posição | Removidas (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.
Mais que converter TTML para SRT. A legenda sai pronta do seu vídeo.
Veja também
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.