Subtítulo WebVTT (.vtt)
Recomendación EstándarWeb 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:
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 54REPRESENTACIÓN ASCII: WEBVTT
Estandarización: Recomendación W3C WebVTT
Especificaciones técnicas
| Arquitectura del contenedor | Archivo de texto UTF-8 que comienza con la firma 'WEBVTT', seguido de bloques opcionales STYLE y NOTE y bloques de entradas secuenciales |
| Compresión | Texto plano sin comprimir (normalmente comprimido por HTTP con Gzip o Brotli) |
| Orden de bytes (Endianness) | Flujo de texto UTF-8 |
| Espacios de color | Admite todos los colores del módulo CSS Color 4 en los estilos de las entradas |
| Canales y estructura | Señales con marcas de tiempo, confianza en el reconocimiento de voz, estilos CSS y ajustes de posición en pantalla |
| Dimensiones máximas | Entradas secuenciales sin límite |
| Transparencia | Admite opacidad CSS y transparencia alfa completas mediante el pseudoelemento «::cue» |
| Streaming y progresivo | Admite 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écnico | WebVTT (Actual) | SRT | ASS | SUB |
|---|---|---|---|---|
| Integración web HTML5 | Estándar 100 % nativo (<track>) | Requiere conversión con JS | Requiere WebAssembly | Requiere conversión |
| Estilos CSS | Estilos CSS nativos completos (::cue) | Solo etiquetas HTML básicas | Etiquetas de sobrescritura propietarias | Ninguno |
| Transmisión HLS / DASH | Estándar universal para subtítulos en streaming | Compatible mediante multiplexación | Compatibilidad limitada con streaming | Ninguno |
| Requisito de encabezado | La primera línea debe contener exactamente «WEBVTT» | No requiere encabezado | Secció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
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».