O que é a linguagem de marcação de texto temporizado?
A linguagem de marcação de texto temporizado (TTML) é um formato do W3C baseado em XML para legendas descritivas e legendas. Ela representa a temporização, o layout, a estilização e o posicionamento do texto em regiões associadas à mídia.
Como funciona a linguagem de marcação de texto temporizado
TTML modela um documento de texto temporizado como XML com namespaces: um elemento raiz tt cujo head contém declarações de estilo e layout e cujo body contém elementos de conteúdo div, p e span que fazem referência a essas declarações. Esses elementos podem ter atributos begin, end e dur e funcionam como contêineres temporais paralelos por padrão, portanto os tempos de um elemento filho são deslocamentos em relação ao início do ancestral temporizado mais próximo. As regiões definem as áreas nas quais o conteúdo é disposto. Como a linguagem completa é ampla, os perfis declaram quais recursos um documento pode usar e um processador deve suportar; IMSC define um perfil de texto e um perfil de imagem de TTML2 para distribuição de legendas e legendas descritivas. O W3C descreve TTML como um formato de intercâmbio entre sistemas de autoria que também pode ser usado diretamente para distribuição.
Informações essenciais
begin,endedurem um elemento aninhado são medidos a partir do início de seu contêiner temporal ancestral mais próximo, que é paralelo por padrão, e não a partir do início da mídia. Umdivcombegin="10s"desloca, portanto, todos os parágrafos dentro dele em dez segundos, e um conversor que lê apenas os atributos de cada parágrafo posiciona essas entradas de legenda antes do momento correto.- Expressões de tempo que contam quadros dependem de
ttp:frameRateno elemento raiz. Quando esse atributo está ausente, TTML2 usa uma taxa definida pela aplicação ou, na falta dela, 30 quadros por segundo, portanto um arquivo criado a 25 quadros por segundo sem o atributo fica com a temporização incorreta; IMSC exige o atributo sempre que são usados tempos baseados em quadros. - Os perfis restringem a linguagem, portanto um documento TTML2 válido ainda pode ser rejeitado em etapas posteriores. IMSC define perfis separados de texto e imagem e proíbe completamente alguns recursos de TTML2. HLS aceita TTML apenas como IMSC1: o rascunho atual da especificação HLS exige que os segmentos de legenda IMSC sejam MP4 fragmentado em conformidade com o perfil de texto IMSC1, sinalizado com um identificador
CODECS, comostpp.ttml.im1t. - A MDN documenta que o elemento HTML
trackaceita arquivos WebVTT (.vtt), portanto planeje converter TTML ou renderizá-lo com scripts para reprodução no navegador. Reprodutores com suporte a TTML fazem esse trabalho por conta própria: o hls.js, por exemplo, analisa IMSC1 de segmentos MP4 fragmentados e transforma cada elemento temporizado em um objeto de entrada de legenda WebVTT.
Quando a linguagem de marcação de texto temporizado é importante
Escolha TTML quando uma transmissão, um reprodutor ou um fluxo de trabalho de streaming exigir esse formato e oferecer suporte ao perfil necessário. A reprodução no navegador costuma favorecer WebVTT, portanto a distribuição direta de TTML pode exigir conversão ou suporte específico do reprodutor.
Como a Transloadit ajuda com a linguagem de marcação de texto temporizado
Os Robots da Transloadit relacionados a legendas trabalham com SRT e WebVTT nas duas pontas de um fluxo de trabalho: o /video/subtitle aceita arquivos de legenda SRT, VTT e ASS como entrada, além de JSON com marcas de tempo gerado pelo /speech/transcribe com format definido como json, enquanto o /speech/transcribe pode gerar arquivos de legenda srt ou webvtt.
A tabela de formatos de áudio/vídeo lista ttml com suporte apenas a gravação, sem leitura, nos stacks do FFmpeg, portanto converta os arquivos de origem TTML para SRT ou WebVTT antes desses Steps.
- Robot de legendagem de vídeo
- Robot de transcrição de fala: parâmetro format
- Formatos de áudio/vídeo por stack do FFmpeg
Explore os formatos de arquivo e os recursos de compressão da Transloadit
Fontes
- W3C: linguagem de marcação de texto temporizado 2 (TTML2)
- W3C: perfis TTML para legendas e legendas descritivas em mídia na internet, versão 1.2 (IMSC 1.2)
- MDN: o elemento track (incorporar faixa de texto)
- Rascunho da IETF: HTTP Live Streaming, edição 2, seção 3.1.5 sobre legendas IMSC
- Apple: especificação de autoria HLS para dispositivos Apple (requisitos de legendas)
- hls.js v1.6.13: src/utils/imsc1-ttml-parser.ts