O pessoal do site do cliente pede VTT. Quem cuida do canal no YouTube quer SRT, e o LinkedIn só aceita um dos dois. A legenda dentro dos arquivos é a mesma nos três casos.
Os dois são texto puro: uma lista de legendas, cada uma com entrada, saída e uma ou duas linhas de texto. As diferenças se resolvem à mão em dois minutos, e qualquer uma basta para a plataforma recusar o arquivo.
Em resumo
- SRT e VTT guardam a mesma legenda: o VTT começa com WEBVTT e usa ponto, e não vírgula, antes dos milissegundos.
- O VTT pode posicionar e estilizar a legenda, e o SRT básico não.
- Mande VTT para o site próprio, SRT para o LinkedIn e os anúncios da Meta, e o que a especificação pedir para streaming e TV.
- Salve todo arquivo de legenda em UTF-8, senão o acento quebra.
- Exporte a legenda da versão que vai ser entregue e confira o arquivo convertido antes de subir.
A mesma legenda nos dois formatos
Duas legendas num arquivo SRT:
1
00:00:01,000 --> 00:00:03,800
Três dias, duas mil pessoas
e um plano para o ano que vem.
2
00:00:04,200 --> 00:00:06,000
Boas-vindas à convenção.
Cada legenda tem um número, a partir do 1. A linha de tempo traz horas, minutos e segundos, e os milissegundos vêm depois de uma vírgula. Em seguida vem o texto, e uma linha em branco fecha a legenda.
O formato nasceu do SubRip, um programa gratuito de 2000 que extraía legendas de arquivos de vídeo, e nunca ganhou uma especificação formal.
As mesmas duas em VTT:
WEBVTT
00:00:01.000 --> 00:00:03.800
Três dias, duas mil pessoas
e um plano para o ano que vem.
00:00:04.200 --> 00:00:06.000
Boas-vindas à convenção.
O arquivo tem que começar com a palavra WEBVTT, e os milissegundos vêm depois de um ponto. O número é opcional (o VTT chama de identificador), e a hora também, então 00:04.200 é um tempo válido.
O nome completo é WebVTT, um formato do W3C feito para vídeo em página da web.
O que o VTT faz e o SRT não
Uma legenda em VTT pode dizer onde fica na tela, com as chamadas configurações da legenda (cue settings), escritas logo depois do tempo:
00:12.000 --> 00:14.500 line:0
line:0 leva aquela legenda para a primeira linha do quadro, lá em cima, nos poucos segundos em que um GC ou um packshot ocupa a parte de baixo. Outras configurações controlam a posição horizontal, a largura e o alinhamento.
O VTT também tem tags de negrito, itálico e sublinhado, uma tag que marca quem está falando e um bloco STYLE que aceita CSS, mas cada player mostra uma parte diferente disso. O YouTube respeita a posição do VTT e, do estilo, só fica com negrito, itálico e sublinhado.
O SRT básico não tem posição nenhuma. Alguns players leem as tags <i> e <b> num SRT, mas a ajuda do YouTube diz que ignora marcação de estilo nele. Se uma legenda em SRT cai em cima de um texto da tela, o jeito é resolver na edição ou no tempo.
Qual mandar para onde
| Destino | O que mandar |
|---|---|
| YouTube | Qualquer um. SRT na forma básica, salvo em UTF-8 puro, ou VTT se alguma legenda precisar mudar de lugar |
| Vimeo | Qualquer um, e o Vimeo recomenda WebVTT |
| SRT | |
| Anúncio em vídeo no Facebook e no Instagram | SRT, com o nome do vídeo e o código de idioma e país |
| Site próprio (player HTML5) | VTT |
| De volta para a ilha de edição | SRT é a aposta segura, porque a importação de VTT depende do programa e da versão |
| Streaming ou TV | O que a especificação de entrega pedir |
A linha do site é a mais rígida. O elemento <track>, que o navegador usa para mostrar legenda num <video>, lê WebVTT e não carrega SRT.
Para anúncio, a ajuda da Meta dá a regra do nome com um exemplo: o vídeo ice_cream_ad com legenda em inglês americano pede o arquivo ice_cream_ad.en_US.srt, e com outro nome ele é recusado.
Alguns apps de rede social nem têm onde subir arquivo de legenda. Eles geram a própria ou esperam o texto queimado na imagem, e aí a entrega é o vídeo já legendado.
Streaming e TV costumam pedir formatos em XML da família TTML (a Netflix publica o próprio perfil IMSC 1.1, por exemplo) ou formatos de closed caption, como o SCC.
Se a especificação cita um formato, é esse que vai. O checklist de QC final cobre o resto do que costuma estar nela.
Codificação: por que o acento quebra
Arquivo de legenda é texto salvo em alguma codificação, e a que você quer é UTF-8. O YouTube pede UTF-8 puro em arquivo SRT, o Vimeo diz que a legenda precisa estar em UTF-8 para os caracteres especiais aparecerem direito, e a especificação do WebVTT exige.
O problema aparece quando o arquivo passa por um programa que salva numa codificação antiga, muitas vezes a Windows-1252. Abra um arquivo UTF-8 como Windows-1252 e “edição” vira “edição”. No caminho inverso sai “edi��o”.
Em português isso pega quase toda legenda, porque quase toda frase tem um “ção”, um “não” ou um acento.
Quase sempre acontece depois que o arquivo trocou de mãos: o tradutor mexeu nele, ou o cliente “só corrigiu uma palavra” num editor de texto antigo.
Antes de subir, confira os acentos. Se estiverem quebrados, abra de novo na codificação em que ele foi salvo e salve como UTF-8.
Quebra de linha e o limite de duas linhas
Nos dois formatos, a quebra de linha dentro da legenda é a que está escrita no arquivo. Linha comprida demais para a tela é quebrada pelo player onde o espaço acaba, e uma legenda de duas linhas pode virar três, com uma palavra sozinha na última.
Linha em branco encerra a legenda. Por isso uma linha vazia no meio do texto (quase sempre um Enter duplo na edição à mão) corta a legenda ali, e o resto some ou aparece quebrado.
Tamanho de linha, velocidade de leitura e onde quebrar a frase funcionam igual nos dois formatos. A referência comum é de 42 caracteres por linha e no máximo duas linhas, e o resto está no post de regras de legenda.
Como converter, e os erros de sempre
Do SRT para o VTT, acrescente WEBVTT e uma linha em branco no topo e troque a vírgula dos milissegundos por ponto nas linhas de tempo. No texto, vírgula continua sendo vírgula.
Os números podem ficar. Salve em UTF-8, com a extensão .vtt.
Do VTT para o SRT tem mais coisa para tirar. Apague o cabeçalho e os blocos STYLE ou NOTE, tire as configurações depois do tempo e ponha a hora onde ela foi omitida.
Depois, troque os pontos por vírgulas, numere as legendas a partir do 1 e remova as tags que um leitor de SRT não conhece. A posição definida no VTT se perde no caminho.
Quase todo editor de legenda faz as duas conversões num passo só. Confira o resultado mesmo assim, porque arquivo recusado cai sempre nos mesmos erros:
- Um .srt renomeado para .vtt. Sem a linha WEBVTT o navegador recusa o arquivo, e a legenda com vírgula no tempo é ignorada.
- Legenda feita num corte anterior. Se um plano foi encurtado ou mudou de lugar depois que o arquivo foi gerado, toda legenda dali em diante sai de sincronia, então exporte da versão que vai ser entregue.
- Nome de arquivo que a plataforma não entende. Nos anúncios da Meta, o SRT leva o nome do vídeo mais o código de idioma e país, então
AUR_014_teaser_v03.mp4com legenda em inglês pedeAUR_014_teaser_v03.en_US.srt. Se os seus vídeos seguem uma convenção de nomes, o arquivo de legenda herda o nome.
Como isso funciona no RecReview
No RecReview você transcreve o vídeo em português, inglês ou espanhol, ou deixa o idioma ser detectado pela fala.
A legenda sai dessa transcrição, com até 42 caracteres por linha e no máximo duas linhas, e aparece no player pelo botão CC.
A aba de transcrição ao lado do player tem um menu de download com SRT, VTT, TXT e JSON. O SRT e o VTT saem com as legendas que o player mostra, inclusive o texto que um dono, admin ou editor corrigiu clicando na legenda.
O SRT numera as legendas a partir do 1 e usa vírgula antes dos milissegundos, e o VTT abre com WEBVTT e usa ponto. Os dois saem em UTF-8, então o “ção” chega inteiro.
O VTT não leva configuração de posição nem de estilo, e quem decide onde a legenda fica é o player.
Cada versão tem a própria transcrição e as próprias legendas, então você baixa da versão que vai ser entregue. O TXT traz a transcrição com o tempo no começo de cada trecho, e o JSON traz cada palavra com o seu tempo.
O cliente baixa os mesmos arquivos pelo portal do cliente, com a mesma regra do vídeo: quando a tarefa é marcada como entregue, ou antes, se você ativar “Permitir download antes da aprovação” para aquele cliente.




