OKfmt

Guía detallada de sintaxis de subtítulos WebVTT: Guía de desarrollo y depuración desde marcas de tiempo hasta estilos

Este artículo explica las reglas de sintaxis principales de WebVTT, que cubre 8 módulos básicos, incluyendo comentarios, marcas de tiempo, etiquetas en línea, estilos CSS y metadatos, para ayudar a los ingenieros front-end a depurar subtítulos web.

Actualizado 2026-08-11

Estructura básica de archivo: Encabezado y bloques de comentarios

La primera línea de un archivo WebVTT estándar debe ser la declaración WEBVTT. Después de la declaración se puede agregar un espacio y texto de descripción del archivo, y los diferentes bloques estructurales se separan por líneas en blanco. La mayoría de los reproductores HTML5 no pueden analizar correctamente los archivos que no incluyen el encabezado WEBVTT.

Los bloques de comentarios NOTE se usan para agregar anotaciones de desarrollo o descripciones de subtítulos, y admiten contenido de una o varias líneas. No se renderizan ni muestran por los reproductores. Durante el desarrollo y la depuración, los bloques NOTE se pueden usar para marcar párrafos de subtítulos que necesitan modificación, sin afectar el resultado final de reproducción.

Reglas de marcas de tiempo de indicaciones

Cada indicación de subtítulo se compone de una marca de tiempo y texto de visualización. El formato de marca de tiempo admite dos estilos de separador de milisegundos: el punto y la coma. La mayoría de los navegadores modernos solo admiten la notación con punto.

El campo de hora en las marcas de tiempo es opcional. Los subtítulos con una duración total menor a una hora pueden omitir el campo de hora, lo que da como resultado el formato MM:SS.sss. El formato completo es HH:MM:SS.sss. La hora de inicio y la hora de finalización se separan por el símbolo -->.

Ejemplo de marca de tiempoNota de validez
00:01.234 --> 00:04.567Válido, campo de hora omitido, milisegundos separados por punto
00:00:01,234 --> 00:00:04,567Incompatible, los navegadores principales como Chrome no reconocen las comas
01:12:34.456 --> 01:12:38.789Válido, formato completo con campo de hora

Etiquetas de estilo de texto en línea

WebVTT admite seis etiquetas en línea estándar para modificar el estilo de visualización de texto parcial. Entre estas, b, i y u corresponden a negrita, cursiva y subrayado respectivamente, siguiendo las mismas reglas que las etiquetas HTML correspondientes. Los desarrolladores pueden usarlas directamente en la escritura manual.

La etiqueta ruby se usa para anotaciones de pinyin, la etiqueta lang se usa para marcar texto en diferentes idiomas, y la etiqueta voice se usa para etiquetar al hablante. Estas etiquetas se usan principalmente para clasificación de metadatos, y los reproductores pueden implementar renderizado diferenciado basado en ellas.

  • <b>Bold text</b>: Se muestra en negrita de forma predeterminada en navegadores
  • <i>Italic text</i>: Se muestra en cursiva de forma predeterminada en navegadores
  • <ruby>汉<rt>hàn</rt></ruby>: Formato de anotación de pinyin para caracteres chinos

Configuración de estilos y regiones

El pseudoelemento ::cue es un pseudoelemento CSS dedicado proporcionado para subtítulos WebVTT. Los desarrolladores pueden usar este pseudoelemento para modificar el estilo predeterminado de todos los subtítulos en una página web, y admite propiedades CSS comunes como color, fuente y fondo.

Los bloques STYLE se usan para definir estilos globales o específicos de la indicación dentro del archivo WebVTT. Los bloques REGION se usan para definir regiones de renderizado de subtítulos, y admiten mostrar diferentes subtítulos en varias regiones simultáneamente, lo que se usa comúnmente para la visualización lado a lado de subtítulos en varios idiomas.

Especificación de integración con HTML5

El elemento track de HTML5 se usa para importar archivos de subtítulos WebVTT externos. El atributo kind del elemento track define el tipo de subtítulo, que tiene cinco valores posibles: subtitles, captions, descriptions, chapters, metadata.

Entre estos, subtitles corresponden a subtítulos de traducción generales, captions corresponden a subtítulos para usuarios con discapacidad auditiva que incluyen anotaciones de sonido ambiental, chapters corresponden a navegación por capítulos, y metadata almacena metadatos de la página y no se muestra. Diferentes reproductores manejan el atributo kind con comportamientos diferenciados.

Herramientas relacionadas

Preguntas frecuentes

¿Cuál es la diferencia entre los formatos de subtítulos WebVTT y SRT?

WebVTT admite estilos, metadatos y configuración de regiones, y puede ser analizado y usado de forma nativa directamente por HTML5. SRT solo admite marcas de tiempo y texto básicos, y se usa principalmente en escenarios de reproducción de video local.

¿Todos los navegadores admiten el pseudoelemento ::cue para WebVTT?

Chrome 29 y versiones superiores, Firefox 35 y versiones superiores, y Safari 6.1 y versiones superiores admiten esta función. Todas las versiones de IE no admiten el análisis nativo de WebVTT.

¿Puede WebVTT incrustar etiquetas HTML?

No se permiten etiquetas HTML personalizadas. Solo se permiten las seis etiquetas en línea definidas en la especificación. Las etiquetas no definidas se muestran como texto plano por los navegadores.