Vídeo e legendas · Kit de ferramentas de legendas
WebVTT explicado: do WebSRT para o formato de legenda W3C para vídeo HTML5
· Fundo
legendas webvtt formatos de arquivo processamento do navegador
O WebVTT foi criado para que os navegadores pudessem mostrar legendas nativamente. Este post aborda suas origens como WebSRT, como ele difere de SRT, o que a especificação adiciona e onde é usado hoje.
Por que o navegador precisava de seu próprio formato de legenda — a chegada do vídeo nativo e a ausência de um formato de faixa padrão
O vídeo nativo deu à página da web um elemento de mídia, mas o texto cronometrado ainda precisava de uma representação de arquivo interoperável que os navegadores pudessem buscar e analisar. Um arquivo SRT informal não era suficiente para um recurso do navegador que precisava de sintaxe definida, comportamento de sinalização e ganchos para apresentação. WebVTT fornece esse contrato voltado para a web, mantendo o formato reconhecível de sinalização e carimbo de data / hora.
Esse contexto do navegador explica sua familiaridade e sua estrutura extra. Um VTT mínimo parece próximo de SRT, mas não é SRT com outra extensão. A assinatura, a pontuação do carimbo de data e hora e a gramática das dicas fazem parte da decisão se o navegador recebeu WebVTT.
WebSRT e a renomeação para WebVTT — o trabalho inicial de WHATWG e a mudança para W3C
O formato foi discutido sob o nome anterior de WebSRT antes de se tornar WebVTT ou Web Video Text Tracks. Essa linhagem comunica o caminho do design: comece com um formato de bloco de legenda amplamente compreendido e depois defina o comportamento adicional necessário para a mídia da web. Este artigo evita datas, editores nomeados e uma cronologia detalhada do corpo de padrões porque esses fatos não são verificados pelos materiais do repositório usados para as declarações de implementação.
Para um desenvolvedor front-end, a lição duradoura é que o WebVTT é uma entrada especificada para recursos de mídia do navegador, em vez de uma convenção específica do player. A implementação deve ter como alvo sua sintaxe atual e testar no player consumidor, em vez de depender de rótulos históricos.
O que a especificação adiciona sobre SRT — o cabeçalho WEBVTT, identificadores de cue, configurações de cue e ganchos de estilo
WebVTT adiciona uma assinatura WEBVTT obrigatória e permite identificadores de sinalização que não precisam ser numéricos. As configurações de sinalização podem seguir o horário de término para expressar alinhamento e posicionamento, enquanto os blocos NOTE, STYLE e REGION fornecem metadados e estruturas de apresentação além de uma lista de sinalização SRT simples. Os ganchos de estilo do navegador podem então abordar as dicas exibidas sem gravar texto no vídeo.
ToolAcre implementa um subconjunto focado. Ele preserva as configurações encontradas após o carimbo de data e hora final, mas descarta os identificadores de sinalização e ignora os blocos NOTE, STYLE e REGION no carregamento. Isso é suficiente para uma conversão comum e deliberadamente não é um editor sem perdas para o modelo WebVTT completo.
O ponto, o cabeçalho e UTF-8 — as pequenas diferenças que impedem que um arquivo SRT seja um arquivo VTT válido
Três pequenos detalhes separam um VTT mínimo de SRT. A primeira linha deve conter a assinatura WEBVTT, os carimbos de data e hora usam um ponto final antes dos milissegundos e o texto deve ser UTF-8. ToolAcre detecta VTT testando a assinatura enquanto tolera uma marca de ordem de byte opcional e espaço em branco à esquerda; o texto sem essa assinatura é padronizado como SRT.
O serializador grava a assinatura e a pontuação em vez de preservar o que quer que a fonte tenha usado. A entrada do arquivo é lida como UTF-8. Um SRT codificado legado pode, portanto, mostrar caracteres de substituição antes da conversão, e alterar sua sintaxe de contêiner não pode recuperar bytes já decodificados incorretamente.
Onde o WebVTT é usado — o elemento de rastreamento HTML5, legendas HLS e muitas plataformas de vídeo
WebVTT é o formato sidecar associado ao elemento de trilha de vídeo HTML e aparece em sistemas de entrega da web que consomem texto cronometrado. Alguns fluxos de trabalho de streaming e plataforma também usam WebVTT, mas os detalhes de aceitação pertencem ao destino e devem ser verificados lá, em vez de inferidos a partir da extensão. Um arquivo VTT válido ainda pode ser veiculado com o tipo de mídia errado ou bloqueado por regras de entrega de origem cruzada.
O kit de ferramentas produz uma representação de arquivo; ele não configura uma página HTML, cabeçalhos de servidor ou manifesto de streaming. Trate a conversão como uma etapa da entrega e teste o player real com o mesmo URL, cabeçalhos e relacionamento de origem que o público usará.
O que isso não cobre – o estilo completo e o modelo de região, que a maioria dos arquivos de legenda nunca usa
O estilo completo e o modelo de região estão fora deste conversor. Seletores de sugestões complexos, layout de região e políticas de apresentação merecem uma ferramenta de autoria compatível com WebVTT e testes de navegador. O analisador ignora os blocos STYLE e REGION, portanto, enviar tal mestre por esse caminho os remove de qualquer saída em vez de preservá-los de forma invisível.
A ferramenta também carrega uma configuração de sugestão na saída SRT, embora SRT não tenha nenhum mecanismo definido para agir sobre ela. Esse limite documentado é um motivo para manter o mestre VTT original sempre que o posicionamento for importante, e não um motivo para presumir que todos os destinos irão ignorar o texto extra da mesma maneira.
Conclusão: um verdadeiro padrão para a web - como o Subtitle Toolkit produz o WebVTT que o segue
WebVTT transforma um padrão familiar de texto cronometrado em entrada da web definida. A assinatura o identifica, a gramática do carimbo de data/hora é canônica e o modelo de sinalização pode transportar mais do que texto sequencial simples. O Subtitle Toolkit produz o arquivo canônico mínimo de SRT analisando os tempos em milissegundos inteiros e, em seguida, escrevendo um cabeçalho WEBVTT, separadores de pontos e dicas sem linhas de identificação.
Compare as contagens de sugestões de origem e de saída e leia todos os problemas de análise antes de anexar o resultado a um player. Se a fonte depende de comentários, regiões, blocos de estilo ou identificadores, escolha um fluxo de trabalho que preserve esses recursos; um conversor focado deve declarar esse limite em vez de implicar fidelidade completa de ida e volta.