SSubToolDesk
pt
SRT → VTT

Converte SubRip (.srt) para WebVTT

Torna um ficheiro .srt válido para o elemento <track> do HTML5 e para leitores de vídeo modernos. Cabeçalho WEBVTT adicionado, códigos de tempo reformatados, nada é carregado para o fazer.

Detetado: …
Solta um ficheiro, cola o texto ou edita diretamente
…
Local

Os teus ficheiros nunca tocam num servidor. Cada conversão nesta página é executada localmente no teu navegador através da API FileReader do JavaScript. Nada é enviado, registado ou armazenado. Seguro para gravações confidenciais de Zoom/Teams, vídeo não publicado e entrevistas legais.

Como funciona a conversão de SRT para VTT

Se já tentaste largar um ficheiro .srt diretamente numa etiqueta HTML5 <track kind="captions" src="captions.srt">, provavelmente descobriste que os navegadores simplesmente o ignoram. O elemento <track> (e o menu nativo de legendas que todo navegador moderno constrói à sua volta) só entende WebVTT. O SubRip, apesar de ser o formato mais amplamente suportado entre leitores e editores de computador, não faz parte, de todo, da especificação HTML5.

A correção é mecânica mas exigente: o WebVTT exige uma linha literal WEBVTT no topo do ficheiro, e o separador de milissegundos de cada código de tempo tem de ser um ponto em vez da vírgula do SRT (00:00:09,400 → 00:00:09.400). Se enganares um dos dois detalhes, o navegador falha silenciosamente ao apresentar as legendas, sem qualquer mensagem de erro. O conversor do SubToolDesk analisa o teu SRT localmente, reconstrói-o com um cabeçalho válido e códigos de tempo corrigidos, e renumera as legendas de forma limpa, tudo dentro do teu separador do navegador.

Instruções passo a passo

  • Arrasta o teu ficheiro .srt para o conversor acima, ou cola o conteúdo no painel da esquerda.
  • Confirma que a etiqueta de formato deteta SRT.
  • Pressiona Descarregar para guardar um ficheiro .vtt válido, com um nome correspondente ao teu ficheiro original.
  • Referencia-o a partir de um elemento <track>: <track kind="captions" src="/captions.vtt" srclang="en" label="English">.

Porquê converter SRT para WebVTT

Um ficheiro .srt sincroniza bem num editor de computador, mas não faz nada num navegador. Converter para WebVTT é quase sempre por um destes motivos:

  • Motivo: estás a adicionar legendas a um elemento <video> alojado por ti e precisas de um formato que a etiqueta <track> do HTML5 realmente entenda.
  • Motivo: estás a cumprir um requisito de acessibilidade (como o critério de legendagem da WCAG 2.1) e precisas de legendas conformes com o padrão, não de um formato que os navegadores ignoram silenciosamente.
  • Motivo: a tua plataforma de vídeo, CMS ou a incorporação de capturas de ecrã do teu site de documentação só aceita carregamentos de .vtt.
  • Motivo: recebeste ficheiros .srt de um editor, freelancer ou fornecedor de legendagem e precisas de entregar a um programador algo pronto a usar.
  • Motivo: estás a migrar uma biblioteca de vídeo de uma plataforma que exportava SRT para um leitor personalizado construído em torno da legendagem nativa do navegador.
  • Motivo: queres resolver isto sem instalar o ffmpeg ou escrever um script de conversão pontual para um único ficheiro.

Antes e depois: um exemplo real

Um ficheiro SRT breve com três legendas, códigos de tempo com vírgula e numeração sequencial incluídos, convertido com Remover etiquetas de orador e Remover etiquetas de formatação ambos desativados (o estado predefinido nesta página, já que nada precisa de ser removido para produzir um WebVTT válido):

Before
1
00:00:01,200 --> 00:00:04,000
Bem-vindos de volta, hoje vamos analisar os números do terceiro trimestre.

2
00:00:04,300 --> 00:00:07,900
Obrigado pelo convite. Vamos começar já.

3
00:00:08,100 --> 00:00:11,500
A receita aumentou oito por cento em relação ao ano anterior.
After
WEBVTT

1
00:00:01.200 --> 00:00:04.000
Bem-vindos de volta, hoje vamos analisar os números do terceiro trimestre.

2
00:00:04.300 --> 00:00:07.900
Obrigado pelo convite. Vamos começar já.

3
00:00:08.100 --> 00:00:11.500
A receita aumentou oito por cento em relação ao ano anterior.

O texto das legendas, a sincronização e até os números das legendas mantêm-se inalterados. Só o cabeçalho WEBVTT é adicionado e cada vírgula antes dos milissegundos passa a ponto, exatamente as duas alterações de que um navegador precisa para aceitar o ficheiro.

Antes e depois

Entrada SRT:
1
00:00:09,400 --> 00:00:12,900
A receita aumentou oito por cento.

Saída VTT:
WEBVTT

1
00:00:09.400 --> 00:00:12.900
A receita aumentou oito por cento.

Porque é que isto importa para programadores web

Vídeo acessível e legendado é tanto um requisito de usabilidade como de conformidade para a maioria dos sites públicos (o critério de sucesso 1.2.2 da WCAG 2.1 exige legendas para conteúdos multimédia pré-gravados), e o elemento <track> é a forma baseada em padrões de as disponibilizar sem depender de uma plataforma de vídeo de terceiros. Se o teu fluxo de edição (ou um freelancer) só te entrega ficheiros .srt, convertê-los aqui devolve-te um recurso WebVTT pronto a usar em segundos, sem instalar o ffmpeg nem escrever um script de conversão.

Processado onde estás tu, não nos nossos servidores

Como isto é uma reformatação de texto simples, nenhum ficheiro multimédia é alguma vez tocado ou carregado, apenas o texto das legendas, e só dentro do teu próprio separador do navegador. Isso importa tanto para um vídeo de demonstração interno de um produto como para uma página de marketing pública.

Usar o resultado num elemento <track>

Depois de descarregares o ficheiro convertido, adiciona-o ao teu código <video> com um elemento filho <track>:

<video controls>
  <source src="demo.mp4" type="video/mp4">
  <track
    kind="captions"
    src="/captions.vtt"
    srclang="en"
    label="English"
    default>
</video>

O atributo default diz ao navegador para ativar esta pista automaticamente; omite-o se estiveres a oferecer várias pistas de idioma e quiseres que o espectador escolha. Os navegadores validam o cabeçalho WEBVTT de forma estrita: um cabeçalho ausente ou mal escrito é o motivo mais comum para as legendas falharem silenciosamente mesmo quando o resto do ficheiro está bem formado.

Para quem este conversor foi construído

Programadores front-end e full-stack que adicionam legendas a um leitor de vídeo próprio são o público principal, mas as equipas de produção de vídeo que entregam recursos a um programador também o usam para entregar algo garantidamente funcional, em vez de deixar a conversão de formato como uma tarefa pendente ao cuidado de outra pessoa. É igualmente útil para sites de documentação de código aberto que incorporam capturas de ecrã em vídeo, equipas de ferramentas internas que legendam vídeos de formação por conformidade de acessibilidade, e qualquer pessoa que esteja a migrar uma biblioteca de vídeo de uma plataforma que exportava SRT para um leitor personalizado que espera legendagem nativa do navegador.

O que este conversor preserva e altera

Preservado:

  • Cada palavra do texto de diálogo, exatamente como está escrita, incluindo quaisquer erros do ficheiro de origem.
  • Sincronização com precisão de milissegundos para cada legenda, transferida exatamente.
  • Um bloco por legenda, pela ordem original, com os números de legenda renumerados sequencialmente a partir de 1.
  • Quaisquer prefixos de orador ou etiquetas em linha no texto da legenda, a menos que ativem Remover etiquetas de orador ou Remover etiquetas de formatação.

Alterado ou removido:

  • A vírgula antes dos milissegundos passa a ponto em todos os códigos de tempo, já que o WebVTT exige 00:00:04.000, não o 00:00:04,000 do SRT.
  • É adicionada uma linha de cabeçalho WEBVTT no topo do ficheiro, já que o WebVTT a exige e o SRT não tem nenhuma.
  • Prefixos de orador em texto simples como ORADOR 1:, mas só se Remover etiquetas de orador estiver ativado; por predefinição, ficam no lugar.
  • Etiquetas de formatação como <i> ou <b>, mas só se Remover etiquetas de formatação estiver ativado; por predefinição, ficam no lugar.

Problemas comuns e como resolvê-los

  • O navegador continua a não mostrar legendas depois da conversão: confirma que a etiqueta de formato acima do conversor detetou de facto SRT antes da conversão; uma colagem muito truncada pode quebrar a deteção das legendas e produzir uma saída vazia ou malformada.
  • As etiquetas <i> ou <b> continuam a aparecer como texto literal nas legendas: é esperado, Remover etiquetas de formatação está desativado por predefinição nesta página, já que o WebVTT suporta essas etiquetas nativamente; ativa-o apenas se preferires texto simples.
  • Nomes como ORADOR 1: são transferidos diretamente para a saída VTT: ativa Remover etiquetas de orador se preferires que não estejam lá; ficam por predefinição porque este conversor assume que queres uma reformatação estrutural fiel, não uma edição de conteúdo.
  • A saída continua a mostrar uma vírgula em vez de um ponto antes dos milissegundos: confirma que descarregaste de facto a saída .vtt e não uma cópia do ficheiro .srt original; a etiqueta de formato e o rótulo de saída acima do conversor confirmam qual estás a ver.
  • As legendas não aparecem mesmo que o ficheiro pareça correto: abre o ficheiro .vtt num editor de texto e confirma que a primeira linha é exatamente WEBVTT, sem nada antes, nem mesmo uma marca de ordem de bytes ou uma linha em branco; os navegadores rejeitam o ficheiro silenciosamente se essa linha não vier primeiro.
  • Letras acentuadas ou texto não inglês transformam-se em caracteres estranhos tipo é no ficheiro convertido: o .srt de origem não foi guardado como UTF-8; volta a exportá-lo ou a guardá-lo como UTF-8 antes de converter, já que o WebVTT, como o SRT, assume texto em UTF-8.

O que não muda na conversão

O texto de diálogo e a sincronização com precisão de milissegundos são transferidos exatamente como escritos. Isto é uma reformatação estrutural, não uma nova transcrição. Se o teu SRT original tiver erros, esses mesmos erros estarão também na saída VTT; esta ferramenta corrige a conformidade do formato, não a exatidão do conteúdo. Se também quiseres limpar etiquetas de orador ou etiquetas de estilo em linha enquanto converte, os interruptores Remover etiquetas de orador e Remover etiquetas de formatação acima aplicam-se ao texto da legenda antes de ser reescrito em sintaxe WebVTT, para que possas combinar a conversão de formato com a limpeza de conteúdo numa única passagem em vez de executar duas ferramentas separadas.

Perguntas frequentes

Porque é que o meu navegador rejeita um ficheiro .srt num elemento <track>?

O elemento <track> do HTML5 exige especificamente WebVTT. Os navegadores não analisam SRT nativamente para legendagem de vídeo. Converter para .vtt é obrigatório para poder usar a API nativa de legendas.

O que é que o conversor adiciona exatamente para que seja um WebVTT válido?

Antepõe a linha de cabeçalho WEBVTT obrigatória, muda o separador de milissegundos de cada código de tempo de vírgula para ponto, e renumera os identificadores de legenda: as três coisas que faltam a um SRT para que um navegador aceite o ficheiro.

Posso adicionar posicionamento ou estilo às legendas depois de converter?

Sim, esta ferramenta produz uma saída de texto WebVTT limpa e conforme com o padrão, que depois podes editar manualmente para adicionar definições de legenda (como align ou position) ou etiquetas de voz <v>, já que a estrutura base já é válida.

As legendas continuam a sincronizar corretamente depois da conversão?

Sim, a sincronização é preservada ao milissegundo; só mudam o carácter separador e o cabeçalho, nunca os valores reais das marcas de tempo.

Isto funciona com legendas exportadas do Premiere ou do DaVinci Resolve?

Sim. Ambos exportam SRT padrão, que este analisador lê nativamente independentemente do software que gerou o ficheiro.

Algum navegador suporta mesmo .srt diretamente, ainda que não seja conforme com a especificação?

O Chrome e o Firefox adicionaram suporte não padrão para SRT através da API TextTrack, mas é inconsistente e não garantido entre navegadores ou versões. A especificação HTML5 só exige WebVTT, por isso converter para .vtt é a única forma de garantir que as legendas são apresentadas em todo o lado.