O que é um arquivo SRT?

Um arquivo SRT é um formato de legendas em texto simples que contém blocos numerados sequencialmente. Cada bloco fornece um tempo de início, um tempo de fim e o texto da legenda, com linhas em branco separando as entradas.

Como funcionam os arquivos SRT

Os dados de legendas SubRip são organizados em blocos: uma linha de contador, uma linha de temporização no formato hours:minutes:seconds,milliseconds --> hours:minutes:seconds,milliseconds, uma ou mais linhas de texto e uma linha em branco. O formato vem do programa de extração de legendas SubRip e não tem especificação formal. Por isso, na prática, é definido pelo que os analisadores aceitam. Ele contém temporização e texto, mas não um modelo de layout implementado uniformemente pelos players; muitos players aceitam estilos informais, como tags de negrito, itálico, sublinhado e cor semelhantes às do HTML, o que pode fazer o mesmo arquivo ser renderizado de formas diferentes entre aplicações. O SRT costuma aparecer como arquivo auxiliar durante a troca de legendas, a localização, a revisão de qualidade e o empacotamento em um contêiner de streaming.

Informações essenciais

  1. A temporização canônica do SRT tem o formato 00:00:00,498 --> 00:00:02,827: uma vírgula antes dos milissegundos e uma seta formada por dois hífens e um sinal de maior que. Os analisadores têm tolerâncias diferentes. O demultiplexador SRT do FFmpeg (verificado na versão 8.0) aceita vírgula ou ponto e não verifica os valores dos contadores nem sua ordem, embora uma linha de contador precise começar com um número. Um analisador mais rigoroso pode aceitar menos variações, portanto escreva no formato canônico.
  2. Os navegadores não carregam SRT como faixa de texto: a MDN documenta os arquivos do elemento track como WebVTT. Converter exige mais do que renomear o arquivo. Um arquivo WebVTT deve começar com a string WEBVTT, usa um ponto antes dos milissegundos e deve ser codificado em UTF-8.
  3. O SRT não tem um padrão de codificação de caracteres nem um local para declará-lo, como observa a Library of Congress. Por isso, o software de leitura precisa receber essa informação ou tentar adivinhá-la. Entregue em UTF-8: o Matroska armazena texto SRT em UTF-8, e o WebVTT exige essa codificação. Para arquivos legados, converta a partir da codificação de origem conhecida; a opção sub_charenc do FFmpeg existe para informar a codificação das legendas de entrada. Se a codificação for desconhecida, pergunte ao remetente; uma codificação detectada é uma estimativa, portanto confira o texto acentuado e não latino após a conversão.
  4. Trate a formatação e o posicionamento como não portáveis. A Library of Congress descreve as tags de negrito, itálico, sublinhado e cor derivadas do HTML como dependentes do software de leitura. O FFmpeg analisa as coordenadas opcionais X1, X2, Y1, Y2 na linha de temporização, mas seu decodificador as redimensiona supondo um quadro de 720×480, e o Matroska mantém apenas o texto e a temporização de cada bloco quando o SRT é multiplexado nele.

Quando os arquivos SRT são importantes

Use SRT para trocar legendas ou traduções com players, editores e plataformas que o aceitam, e converta para WebVTT no caso de vídeo em HTML, em que o elemento track carrega arquivos WebVTT. Uma linha de temporização malformada, a falta de uma linha em branco entre blocos ou a codificação de texto errada podem fazer as legendas desaparecerem, se juntarem ou exibirem caracteres corrompidos.

Como a Transloadit ajuda com arquivos SRT

O Robot /video/subtitle da Transloadit aceita arquivos de legendas SRT e VTT e os adiciona a um vídeo como um fluxo separado, que pode ser ativado ou desativado, ou os grava permanentemente na imagem. Já o Robot /speech/transcribe pode gerar sua transcrição como um arquivo srt ou webvtt.

A documentação do Robot não informa como são tratadas as tags de formatação SRT ou os arquivos que não estão em UTF-8, e indica que seus parâmetros de cor do texto, cor da borda, negrito e itálico se aplicam apenas a legendas gravadas permanentemente na imagem. Teste arquivos representativos com formatação e arquivos que não estejam em UTF-8 no modo que você pretende usar.

Explore os formatos de arquivo e os recursos de compressão da Transloadit

Fontes

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente