Subtítulo WebVTT (.vtt)

Recomendación Estándar

Web Video Text Tracks (WebVTT) es el estándar web oficial del W3C para subtítulos, subtítulos accesibles y descripciones de capítulos. Se integra de forma nativa con el elemento <track> de vídeo HTML5 y el streaming HTTP moderno (HLS).

Convertir de SRT a VTT

Convertidor gratuito de SRT a VTT en el navegador. Convierte archivos al instante en tu dispositivo.

Inspección y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de WebVTT inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Privado - los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de WebVTT inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

57 45 42 56 54 54

REPRESENTACIÓN ASCII: WEBVTT

Estandarización: Recomendación W3C WebVTT

Especificaciones técnicas

Arquitectura del contenedorArchivo de texto UTF-8 que comienza con la firma 'WEBVTT', seguido de bloques opcionales STYLE y NOTE y bloques de entradas secuenciales
CompresiónTexto plano sin comprimir (normalmente comprimido por HTTP con Gzip o Brotli)
Orden de bytes (Endianness)Flujo de texto UTF-8
Espacios de colorAdmite todos los colores del módulo CSS Color 4 en los estilos de las entradas
Canales y estructuraSeñales con marcas de tiempo, confianza en el reconocimiento de voz, estilos CSS y ajustes de posición en pantalla
Dimensiones máximasEntradas secuenciales sin límite
TransparenciaAdmite opacidad CSS y transparencia alfa completas mediante el pseudoelemento «::cue»
Streaming y progresivoAdmite streaming nativo en elementos <video> de HTML5 y manifiestos de vídeo en directo HLS/DASH

Matriz de comparación técnica: WebVTT frente a la competencia

Atributo técnicoWebVTT (Actual)SRTASSSUB
Integración web HTML5Estándar 100 % nativo (<track>)Requiere conversión con JSRequiere WebAssemblyRequiere conversión
Estilos CSSEstilos CSS nativos completos (::cue)Solo etiquetas HTML básicasEtiquetas de sobrescritura propietariasNinguno
Transmisión HLS / DASHEstándar universal para subtítulos en streamingCompatible mediante multiplexaciónCompatibilidad limitada con streamingNinguno
Requisito de encabezadoLa primera línea debe contener exactamente «WEBVTT»No requiere encabezadoSección [Script Info]No requiere encabezado

Modos de corrupción comunes y guía de recuperación hexadecimal

Error en la consola del navegador: «Malformed WebVTT file: Missing WEBVTT signature».

Causa raíz: Falta la cadena «WEBVTT» en la primera línea o hay líneas en blanco antes del encabezado.

Recuperación: Añade «WEBVTT » al principio del archivo con el conversor de subtítulos de File2File.app.

Análisis de seguridad y vectores de ataque al analizador

Los analizadores WebVTT de los navegadores procesan entradas no confiables que pueden provocar ataques de secuencias de comandos entre sitios (XSS) si se insertan sin sanear en el DOM.

Vectores de ataque conocidos

  • Inyección XSS mediante contenido HTML de entradas no saneado que se inserta en el DOM de un reproductor de vídeo web.
  • Falsificación de solicitudes del lado del servidor (SSRF) al generar automáticamente miniaturas de subtítulos en el servidor.
  • Denegación de servicio mediante selectores CSS de entradas mal formados.

Mejores prácticas defensivas: Usa la representación nativa del elemento <track> del navegador y sanea el contenido de las entradas antes de insertarlo manualmente en el DOM.

Orígenes históricos e hitos

2019El W3C avanza oficialmente WebVTT (Web Video Text Tracks) hacia la categoría de recomendación propuesta.
2011El formato cambia de nombre de WebSRT a WebVTT para establecer un estándar propio del W3C, independiente del SubRip clásico.
2010WHATWG introduce WebVTT para ofrecer subtítulos nativos en el elemento <video> de HTML5.

Ventajas principales

  • Estándar web nativo de HTML5: todos los navegadores lo admiten directamente mediante el elemento <track>, sin bibliotecas externas.
  • Compatibilidad amplia con estilos CSS: permite personalizar colores, fuentes, fondos y posiciones mediante el pseudoelemento CSS nativo «::cue».
  • Compatibilidad nativa con la transmisión en directo: se integra en los manifiestos de Apple HLS y MPEG-DASH para emitir subtítulos.

Limitaciones técnicas

  • Encabezado obligatorio y estricto: el archivo debe comenzar exactamente con «WEBVTT» en la primera línea; de lo contrario, los navegadores lo rechazan.
  • El separador de milisegundos es un punto («00:01:20.500»), por lo que hay que convertir los archivos SRT antiguos, que usan una coma.
  • Muchos reproductores de hardware antiguos que no son navegadores (como los reproductores multimedia USB económicos) no admiten WebVTT de forma nativa.

Curiosidades técnicas interesantes

  • Todo archivo WebVTT válido debe comenzar exactamente con la palabra «WEBVTT» en la primera línea; si no, los navegadores lo ignoran.
  • WebVTT se llamó originalmente «WebSRT» porque se diseñó deliberadamente para parecerse mucho a los subtítulos SRT clásicos.
  • WebVTT también permite crear capítulos de vídeo y descripciones emergentes interactivas con miniaturas al pasar el cursor por la barra de reproducción.

Preguntas técnicas frecuentes

¿Para qué se utiliza WebVTT?

WebVTT es el formato estándar oficial de la web para añadir subtítulos, subtítulos accesibles, capítulos y descripciones a los elementos <video> de HTML5 en sitios web.

¿Cómo puedo convertir un subtítulo SRT a WebVTT?

Puedes convertir archivos SRT en archivos WebVTT limpios con un solo clic, directamente en el navegador con File2File.app.

¿Por qué no se muestran mis subtítulos WebVTT en el navegador?

Comprueba que el archivo comience con «WEBVTT» en la primera línea, que haya una línea en blanco después y que el servidor web lo sirva con el encabezado «Content-Type: text/vtt».