WebVTT

AbrirSalvarTexto simplesWeb

O formato de legenda da web: o que um navegador mostra pelo <track> do HTML. Os blocos do SubRip, com cabeçalho, ponto antes dos milissegundos e espaço para estilo, posições e falantes.

Resumo

Extensão.vtt
Tipo de mídiatext/vtt
EspecificaçãoW3C, WebVTT: The Web Video Text Tracks Format, uma Candidate Recommendation
Precisão de tempoMilissegundos
Codificação do textoUTF-8, sempre: a especificação exige. O Subtitld lê outras codificações mesmo assim.
EstiloTags de itálico, negrito e sublinhado; cores por classes e CSS (::cue). Sem tachado.
PosicionamentoConfigurações do cue (linha, posição, alinhamento, tamanho, vertical) e regiões
FalantesTags de voz: <v Thom>
Em contêineresMatroska como S_TEXT/WEBVTT; MP4 como wvtt (ISO/IEC 14496-30); fluxos HLS e DASH

Anatomia de um cue

Um arquivo é um cabeçalho, depois os cues. Cada cue é um bloco como o do SubRip, com duas partes opcionais.

WEBVTT
 
intro
00:00:23.000 --> 00:00:24.500 line:0
<v Celia>You're a jerk,
<i>Thom</i>.
 
  1. 1 · Cabeçalho

    WEBVTT, sozinho ou seguido de um espaço e um título, depois uma linha em branco. Sem ele, um navegador recusa o arquivo inteiro.

  2. 2 · Identificador

    Opcional. Um nome para o cue, em uma linha própria: um número, como no SubRip, ou uma palavra.

  3. 3 · Tempo

    Início, a seta -->, fim. Um ponto antes dos milissegundos.

  4. 4 · Configurações

    Opcional. Onde mostrar o cue, depois do horário de fim.

  5. 5 · Texto

    Linhas de texto, com tags para estilo e vozes. Uma linha em branco encerra o cue, então não há nenhuma dentro dele.

O horário

As horas podem ser omitidas. 00:27.000 é o mesmo instante, e muitos arquivos de menos de uma hora são escritos assim. Uma vírgula antes dos milissegundos é um hábito do SubRip, não do WebVTT; o Subtitld a lê mesmo assim.

Blocos além dos cues

Bloco O que contém
NOTE Um comentário, para as pessoas. Os players o ignoram.
STYLE CSS para os cues, por meio de ::cue. Antes do primeiro cue.
REGION Uma área nomeada da tela onde os cues podem rolar.

Texto do cue

Tag Efeito
<i>…</i>, <b>…</b>, <u>…</u> Itálico, negrito, sublinhado
<c.yellow>…</c> Uma classe, que o CSS (ou as próprias classes de cor do WebVTT) pode colorir
<v Thom>… A voz: quem está falando. Fechar a tag é opcional.
<lang pt>…</lang> O idioma de um trecho do texto
<ruby>漢<rt>kan</rt></ruby> Uma leitura acima do texto, para japonês e chinês
<00:00:28.500> Uma marca de tempo dentro do cue, para karaokê
&amp; &lt; &gt; &nbsp; E comercial, <, > e um espaço sem quebra, que de outro modo seriam lidos como marcação

Cores

Oito classes são coloridas sem nenhum CSS: white, lime, cyan, red, yellow, magenta, blue e black, e as mesmas oito com bg_ para o fundo. Qualquer outra cor precisa de uma classe própria e de um bloco STYLE:

STYLE
::cue(.gold) { color: #ffd700; }

00:00:30.800 --> 00:00:34.000
<c.gold>Why don't you just admit that</c>

Nem todo player lê blocos STYLE; as classes de cor próprias do WebVTT são a escolha mais segura. O Subtitld as usa sempre que a cor for uma das oito.

Configurações do cue

Configuração O que faz
line:0 A linha na tela: um número conta linhas a partir do topo (negativo, a partir da base), uma porcentagem a partir da borda superior
position:10% Onde a caixa do cue fica na largura da tela
align:start Alinhamento do texto dentro da caixa: start, center, end, left, right
size:50% A largura da caixa
vertical:rl Texto vertical, da direita para a esquerda ou da esquerda para a direita
region:fred Mostra o cue em uma REGION

O Subtitld lê line, position e align como o lugar da legenda na tela, os mesmos nove lugares de {\an1} a {\an9} do SubRip, e os grava de volta: line:0 para o topo, line:50%,center para o meio, position:10% align:start e position:90% align:end para as laterais.

WebVTT no Subtitld

Guardado no .vtt
  • O texto e as quebras de linha de cada legenda
  • Itálico, negrito, sublinhado e cor
  • Onde a legenda fica na tela
  • Falantes, como tags de voz
  • Início e fim, até o milissegundo, em ordem
Sem lugar para ir
  • Tachado: o WebVTT não tem tag para ele
  • Rostos e cores dos falantes
  • Traduções ao lado do original (uma pode tomar o lugar dele, ou ficar abaixo)
  • Dublagens e metadados

Salve um projeto .usfx para mantê-los.

Abrindo um arquivo WebVTT

O Subtitld encontra cada cue pela linha de tempo e lê:

  • o cabeçalho, e os blocos NOTE, STYLE e REGION como o que são, não como legendas; e os identificadores de cue como nomes;
  • horários com ou sem horas, com ponto ou vírgula;
  • vozes como os falantes das legendas, prontos para dublagem;
  • as classes de cor do WebVTT, e as cores que um bloco STYLE dá a outras classes;
  • line, position e align como o lugar na tela;
  • qualquer codificação, embora o WebVTT exija UTF-8.

Deixa de fora o que não tem lugar: regiões, o tamanho de um cue, texto vertical, as leituras do ruby e as marcas de tempo do karaokê. O texto em si permanece.

Exportando WebVTT

Caixa de exportação do Subtitld com VTT escolhido e os falantes escritos como tags de voz

Exportar, depois Legendas e VTT, oferece:

  • TextoO original, uma tradução, ou os dois, com a tradução abaixo.
  • Nomes dos falantesOmitidos, antes do texto (Thom: …), ou como tags de voz (<v Thom>), a forma própria do WebVTT.
  • FormataçãoMantida, ou removida.
  • Deslocar horáriosCada legenda antes ou depois, pelo mesmo intervalo.

O arquivo é sempre UTF-8, como o WebVTT exige: WEBVTT, depois os cues em ordem de início, cada horário com suas horas. Caracteres que seriam lidos como marcação são escritos como entidades, e legendas vazias ficam de fora.

Em uma página web

<video controls src="tears-of-steel.mp4">
  <track kind="subtitles" src="tears-of-steel.en.vtt"
         srclang="en" label="English" default>
</video>

Sirva o arquivo como text/vtt. De outro domínio, o vídeo precisa de crossorigin, e o servidor de um cabeçalho Access-Control-Allow-Origin, ou o navegador não carrega a trilha.

WebVTT ou SubRip?

SubRip para players, editores e uploads; WebVTT para vídeo na web. A página do SubRip os coloca lado a lado.

Curiosidades

2010

Começou como WebSRT, redigido no WHATWG para o novo elemento <track> do HTML5 e baseado no SubRip, antes de adotar o nome WebVTT.

WEBVTT

Seis letras no começo de todo arquivo. Um navegador que não as encontra recusa a trilha inteira.

8

Cores que um player reconhece sem CSS: white, lime, cyan, red, yellow, magenta, blue e black, para o texto e para o fundo.

Formatos relacionados

Tem um .vtt para corrigir?

Abra no Subtitld com o vídeo e reajuste-o na forma de onda.

Baixar o Subtitld