Pular para o conteúdo

Converter SRT para TTML a legenda no XML que a plataforma pediu.

Para converter SRT para TTML, cole a legenda ou arraste o .srt e baixe o .ttml. Cada bloco vira um parágrafo com início e fim em milissegundos, o itálico vira estilo do TTML e a quebra de linha vira <br/>. O XML sai em UTF-8, com cabeçalho válido, pronto para quem pede TTML ou DFXP.

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 SRT em TTML

  1. 01

    Cole ou arraste o .srt

    Aceitamos SRT sem numeração, com ponto no lugar da vírgula ou salvo em Windows-1252, a codificação comum de legendas antigas.

  2. 02

    Revise e limpe

    O relatório mostra duração, caracteres por linha e velocidade de leitura de cada legenda. Corrija sobreposições antes de gerar o XML.

  3. 03

    Baixe o .ttml

    Copie o XML ou baixe o arquivo. Se a plataforma pede o idioma, preencha o atributo xml:lang no topo antes de enviar.

Quem pede legenda em TTML em vez de SRT?

O TTML é o formato de legenda em XML do W3C, e o pedido costuma vir de fluxos mais formais: plataformas de streaming, distribuidoras, emissoras de TV, agências de legendagem e alguns players e plataformas de curso. Por ser XML, ele pode levar estilo, posição e metadados, e passa por validação automática antes de entrar no sistema.

Se o destino é o YouTube ou o Vimeo, não precisa converter: os dois aceitam SRT. Converta quando a especificação de entrega pedir TTML ou DFXP. E atenção com perfis próprios: algumas plataformas grandes exigem um perfil específico de TTML ou IMSC, com regras extras. O arquivo que geramos é um TTML genérico e válido, que serve de base, mas pode precisar de ajustes para passar nesses validadores.

DestinoFormato que costuma pedir
YouTube e VimeoSRT serve, não precisa converter
Players web com trackVTT
Streaming e distribuidorasTTML, DFXP ou um perfil IMSC
Emissoras e fluxos de TVTTML ou SMPTE-TT
Plataformas de cursoConfira na especificação

Como o SRT fica por dentro do TTML

O arquivo começa com a declaração XML e a tag <tt> com os namespaces do TTML. No cabeçalho vai um estilo padrão, centralizado. No corpo, cada bloco do SRT vira um <p> com begin e end no formato 00:00:01.500, ou seja, a vírgula dos milissegundos vira ponto e a numeração some, porque o TTML não usa.

O texto é escapado para não quebrar o XML: & vira &amp; e < vira &lt;. Itálico, negrito e sublinhado viram spans com tts:fontStyle, tts:fontWeight e tts:textDecoration, sempre fechados na ordem certa, mesmo que o SRT tenha uma tag aberta sobrando.

Um bloco de SRT e o TTML gerado
legenda.srt
7
00:01:12,480 --> 00:01:15,020
<i>Vocês lembram</i>
da última aula?

legenda.ttml
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="">
  <head>
    <styling>
      <style xml:id="default" tts:textAlign="center"/>
    </styling>
  </head>
  <body style="default">
    <div>
      <p begin="00:01:12.480" end="00:01:15.020"><span tts:fontStyle="italic">Vocês lembram</span><br/>da última aula?</p>
    </div>
  </body>
</tt>

O que conferir antes de enviar o TTML

O atributo xml:lang sai vazio, porque um SRT não diz em que idioma está. Muitas plataformas recusam o arquivo sem o idioma, então troque xml:lang="" por xml:lang="pt-BR", "en" ou "es", conforme a legenda. É uma edição de segundos em qualquer editor de texto.

Os tempos saem em relógio com milissegundos, que é o jeito mais aceito. Se a especificação pede tempos em quadros, com ttp:frameRate, ou posição definida por regiões, esses itens precisam ser acrescentados depois, porque o SRT não traz essa informação. A cor feita com <font color> e o {\an8} de legenda no topo não passam.

  • Preencha xml:lang com o código do idioma da legenda.
  • Confira se a plataforma aceita tempos em milissegundos ou exige quadros.
  • Se pedirem .dfxp, veja na especificação se basta a extensão.
  • Rode o arquivo no validador da própria plataforma antes da entrega.

Sobreposição e velocidade de leitura: por que revisar antes

Validadores de TTML costumam ser menos tolerantes que um player comum. Duas legendas que se sobrepõem por alguns milissegundos passam despercebidas no YouTube, mas podem barrar uma entrega. Por isso vale marcar a limpeza que corrige sobreposições antes de converter.

O relatório também mostra as legendas com mais de 42 caracteres por linha ou acima de 17 caracteres por segundo, referências comuns de TV e streaming. Se a sua especificação usa outros limites, a ferramenta de verificar legenda deixa ajustar os números e aplicar os padrões de TV, Netflix e YouTube.

Perguntas frequentes

Como converter SRT para TTML?

Cole a legenda ou arraste o .srt, deixe TTML na saída e baixe o .ttml. Cada bloco vira um parágrafo <p> com o mesmo início e fim, em milissegundos. É grátis, sem cadastro, e o XML sai em UTF-8.

TTML ou DFXP: qual extensão usar?

Salvamos com a extensão .ttml. DFXP é o nome do primeiro perfil do TTML, e muitas plataformas aceitam o mesmo conteúdo com a extensão .dfxp. Se a especificação de entrega pede .dfxp, confira se basta renomear ou se há um perfil com regras próprias.

O TTML gerado passa em qualquer plataforma de streaming?

Não dá para garantir. O arquivo é um TTML válido e genérico, que muitas plataformas aceitam. Algumas exigem um perfil próprio de TTML ou IMSC, com tempos em quadros, regiões e metadados obrigatórios. Use o nosso arquivo como base e passe no validador da plataforma.

Por que o xml:lang sai vazio?

Porque o SRT não informa o idioma da legenda, e preferimos não chutar. Abra o .ttml num editor de texto e preencha o atributo na tag <tt>, por exemplo xml:lang="pt-BR". Muitas plataformas recusam o arquivo sem esse código.

O itálico e as cores do SRT passam para o TTML?

Itálico, negrito e sublinhado passam, como estilos tts:fontStyle, tts:fontWeight e tts:textDecoration. A cor feita com <font color> e o {\an8} de legenda no topo não passam: a legenda sai centralizada, na posição padrão.

Recebi um TTML e preciso editar. Dá para voltar a SRT?

Dá. Use a página de converter TTML para SRT, edite no seu programa e depois converta de volta para TTML aqui. Os tempos em quadros ou ticks do arquivo original são recalculados para milissegundos na ida.

Ainda não tem o SRT? Nós geramos a legenda 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 converter em TTML.

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