Pontos principais
Um arquivo SRT (SubRip Subtitle, extensão
.srt) é um arquivo de texto simples com legendas: blocos numerados, cada um com um horário de início e de fim escritos comohoras:minutos:segundos,milissegundose o texto a exibir. Ele não contém vídeo nem áudio, abre em qualquer editor de texto e é aceito por quase todos os players e plataformas de vídeo. Você pode escrever um à mão, gerá-lo a partir de texto simples ou exportá-lo de uma transcrição, e depois conferi-lo com um validador antes de enviar.
Se você já ativou as legendas em um player de vídeo, é bem provável que um arquivo SRT estivesse fazendo o trabalho. É um dos formatos de legenda mais antigos ainda em uso no dia a dia e um dos formatos de arquivo mais simples que existem, e é justamente por isso que está em toda parte.
Esta página reúne o formato inteiro em um só lugar: o que há dentro de um arquivo, as regras exatas de cada parte com as fontes primárias, como criar e corrigir um arquivo e como ele se diferencia do WebVTT.
Como é um arquivo SRT por dentro?
Um arquivo SRT é uma lista de legendas (cues), e cada uma tem sempre as mesmas quatro partes: um número de sequência, uma linha de tempo, uma ou duas linhas de texto e uma linha em branco. Abra qualquer arquivo .srt no Bloco de Notas ou no TextEdit e você verá blocos como estes:
1
00:00:01,600 --> 00:00:04,200
Bem-vindo de volta ao canal.
2
00:00:04,400 --> 00:00:07,900
Hoje vamos ver como os arquivos
de legenda funcionam de verdade.
3
00:00:08,100 --> 00:00:10,000
<i>(a porta se fecha)</i>Lida de cima para baixo, a segunda legenda diz: mostre estas duas linhas de 4,4 segundos até 7,9 segundos do vídeo. Não há cabeçalhos, seção de estilo nem dados binários, então o arquivo continua pequeno e sobrevive a ser aberto, editado e salvo por quase qualquer programa.
Quais são as regras do formato SRT?
O mais próximo de uma referência para o SubRip são as descrições mantidas por arquivos e por formatos de contêiner. A descrição de formato da Library of Congress apresenta o timecode como horas:minutos:segundos,milissegundos, escrito 00:00:00,000, com a seta --> entre o início e o fim, e a documentação de legendas do Matroska descreve o mesmo bloco de quatro partes.
| Parte | Regra | Exemplo |
|---|---|---|
| Número de sequência | Um número inteiro sozinho na linha, começando em 1 e crescendo de um em um | 2 |
| Linha de tempo | Início e fim como horas:minutos:segundos,milissegundos, separados por --> com um espaço de cada lado | 00:00:04,400 --> 00:00:07,900 |
| Separador dos milissegundos | Uma vírgula, não um ponto; o ponto pertence ao WebVTT | ,400 |
| Texto | Uma ou mais linhas exibidas juntas; uma quebra de linha no arquivo é uma quebra de linha na tela | Hoje vamos ver como os arquivos |
| Linha em branco | Encerra a legenda; o número seguinte inicia a próxima | (linha vazia) |
| Formatação | Tags simples como <i>, <b> e <u>, respeitadas por muitos players e ignoradas por outros | <i>(a porta se fecha)</i> |
Dois detalhes quebram mais arquivos do que todo o resto junto. O primeiro é a vírgula: uma linha de tempo escrita com ponto, 00:00:04.400, é um hábito do WebVTT, e algumas ferramentas a recusam em um SRT. O segundo é a linha em branco: uma legenda sem a linha em branco se junta à seguinte, e o player ou mescla as duas ou descarta uma.
Codificação
Salve os arquivos SRT em UTF-8. Ele cobre todos os alfabetos, de letras latinas acentuadas a árabe, chinês e emoji, e é o que os players atuais esperam. Arquivos de ferramentas antigas do Windows às vezes estão em uma codificação regional legada, e é por isso que letras acentuadas viram pontos de interrogação ou sequências de símbolos estranhos. Salvar o arquivo de novo como UTF-8 em um editor de texto resolve. Alguns programas também adicionam uma marca de ordem de bytes invisível no início de um arquivo UTF-8; a maioria dos players a ignora, mas se uma ferramenta rigorosa rejeitar a primeira legenda, a primeira coisa a tentar é salvar em UTF-8 sem a marca.
O tamanho da linha é uma regra de leitura, não do formato
O formato em si não limita o tamanho de uma linha; quem limita são os guias de estilo. A descrição da Library of Congress menciona um limite de 32 caracteres por linha, as BBC Subtitle Guidelines estabelecem 37 caracteres para a transmissão em TV, e o Netflix English (USA) Timed Text Style Guide permite 42 caracteres por linha, no máximo duas linhas. Um player exibe uma linha mais longa de qualquer maneira, em geral quebrando-a, então o limite diz respeito a as pessoas conseguirem ler a legenda a tempo, o que a verificação de velocidade de leitura do nosso validador de SRT mede de acordo com o guia que você escolher.
Para que servem os arquivos SRT?
- Plataformas de vídeo: envie um SRT junto com um vídeo e os espectadores ganham legendas que podem ativar.
- Players de computador e de TV: o VLC e muitos outros players carregam um SRT que esteja ao lado do arquivo de vídeo com o mesmo nome.
- Tradução: os tradutores trocam as linhas de texto e deixam o tempo como está, produzindo um SRT por idioma.
- Software de edição: os editores de vídeo mais comuns importam SRT como faixa de legenda.
- Acessibilidade: legendas para pessoas surdas e com deficiência auditiva, com descrições de sons entre colchetes e nomes de quem fala, cabem nas linhas de texto de um SRT comum.
Como criar um arquivo SRT?
De um vídeo, automaticamente
Para um vídeo do YouTube, cole o link na ferramenta de transcrição do YouTube e toque em SRT na página da transcrição: o tempo vem das próprias legendas do vídeo. Para as suas gravações e arquivos, o app SozAI transcreve o áudio em 99 idiomas e exporta legendas.
De um texto que você já tem
Se você tem um roteiro ou uma transcrição em texto simples, o gerador gratuito de TXT para SRT transforma cada parágrafo em uma legenda e dá a ela uma duração calculada pelo tamanho, a 150 palavras por minuto, nunca menor que 2 segundos nem maior que 8. Divida primeiro os parágrafos longos: uma legenda com mais de 20 palavras bate no teto de 8 segundos e sai rápida demais para ler. Ele roda no seu navegador e nada é enviado.
À mão
Para um clipe curto, escrever um SRT em um editor de texto é perfeitamente razoável: siga o bloco de quatro partes, salve como subtitles.srt em UTF-8 e pronto. Passando de um ou dois minutos de vídeo, marcar o tempo à mão fica cansativo, e um dos dois caminhos acima é mais rápido.
Por que o meu arquivo SRT não funciona?
| Problema | Causa habitual | Solução |
|---|---|---|
| As legendas não aparecem de jeito nenhum | Extensão errada, codificação errada ou linha de tempo malformada | Passe o arquivo pelo validador de SRT, que aponta o bloco com problema |
| As legendas estão adiantadas ou atrasadas sempre pelo mesmo tempo | O vídeo tem uma abertura ou um corte que o arquivo desconhece | Mova todos os timecodes de uma vez com a ferramenta de ajuste de tempo de legendas |
| As legendas vão ficando mais dessincronizadas conforme o vídeo roda | O arquivo foi marcado para outra taxa de quadros, por exemplo 23,976 contra 25 | Veja por que as legendas saem de sincronia |
| As letras acentuadas aparecem embaralhadas | Salvo em uma codificação legada | Salve de novo em UTF-8 |
| A plataforma rejeita o arquivo | Ela espera WebVTT | Converta com o conversor de VTT e SRT |
Como o SRT se diferencia do WebVTT e do timecode por quadros?
O WebVTT (.vtt) é o formato do W3C usado pelos players de vídeo HTML5. A especificação WebVTT do W3C escreve os milissegundos depois de um ponto, com três dígitos, e torna as horas opcionais, e um arquivo começa com uma linha de cabeçalho WEBVTT; ele também acrescenta posicionamento e estilo que o SRT não tem. O tempo é o mesmo instante escrito de outro jeito, então converter de um para o outro é questão de pontuação e cabeçalhos, tratada com mais detalhe em VTT vs SRT.
Os editores de vídeo contam o tempo em quadros, e não em milissegundos, como timecode SMPTE, HH:MM:SS:FF. Um SRT guarda tempo real, então, quando as legendas são feitas a partir do timecode de uma edição, a taxa de quadros decide o resultado: a 29,97 quadros por segundo, uma hora de timecode non-drop dura 3,6 segundos a mais em tempo real do que o rótulo indica. O nosso conversor de timecode transforma timecode SMPTE, inclusive drop-frame, em horários SRT e vice-versa.
Se o que você precisa são as palavras sem nenhum tempo, a ferramenta Subtitle to Text tira os números e os timecodes de um SRT ou VTT e deixa parágrafos legíveis.

