Cookies de estadística y publicidad
Usamos cookies de estadística y de publicidad, y ambas van a Google. Si rechazas, para ti no cambia nada visible.Ir a la página de privacidad
VTT
El formato de subtítulos que espera el vídeo HTML5. Un SRT con cabecera y con opciones de estilo.
VTT
VTT es un formato de texto plano que se abre en cualquier editor. Se usa para los subtítulos y la web.
La extensión es .vtt y el nombre completo, WebVTT. Ambos importan menos que lo que el archivo puede contener, y de eso trata el resto de esta página.
W3C lo publicó en 2010. La especificación es WebVTT.
La edad interesa por un motivo práctico: cuanto más antiguo es un formato, más programas han tenido tiempo de aprenderlo.
Está publicada entera, así que cualquiera puede implementarla leyendo el documento en vez de a base de inspeccionar archivos. Por eso aparece en tantos programas, y por eso los archivos escritos hace veinte años siguen abriéndose hoy. Publicada no quiere decir libre de regalías: cuando un formato envuelve un códec, la licencia de las patentes es un asunto aparte que la norma no resuelve.
VTT guarda su contenido exactamente. Volver a guardarlo no cambia nada, así que puedes abrirlo, editarlo y guardarlo tantas veces como quieras sin acumular daño; eso es lo que lo convierte en un formato de trabajo y no de entrega.
VLC y Subtitle Edit lo leen, y también la mayoría de programas del mismo tipo.
Cuando un archivo no se abre, el formato rara vez es el problema: lo más habitual es que el programa sea anterior al formato. Convertir a algo más antiguo es la salida fiable, y para eso está el resto de este sitio.
Cualquier navegador actual lo lee.
Eso lo convierte en algo que puedes poner en una página o adjuntar a un mensaje sin preguntarte qué tiene instalado el otro lado.
VTT está pensado para abrirse y cambiarse. Guarda el archivo en este formato mientras el trabajo siga en marcha y exporta desde él cada vez que haga falta una copia terminada.
El vídeo de HTML recibe los subtítulos a través de un elemento track que apunta a un archivo VTT, y no admite ningún otro formato. Ni SRT ni ASS: si le entregas cualquiera de los dos, el navegador los ignora. Ese único hecho explica casi todo el tráfico de esta página, porque alguien tiene unos subtítulos, los ha puesto junto a un vídeo en una web y no aparece nada.
El formato se diseñó a propósito muy cerca de SubRip para que convertir fuera trivial. Los cues se numeran de forma opcional en lugar de obligatoria, las marcas de tiempo separan los milisegundos con un punto en vez de con una coma, y el archivo tiene que empezar con la palabra WEBVTT sola en la primera línea. Esa cabecera no es adorno: un archivo sin ella se rechaza sin más.
Falta la línea WEBVTT, normalmente porque el archivo se hizo renombrando un SRT. Las marcas de tiempo siguen llevando coma, por lo mismo. Al elemento track le faltan los atributos kind y srclang, o no lleva default y el espectador nunca activó los subtítulos. O — la que más tiempo hace perder — el archivo se sirve desde otro dominio sin las cabeceras de origen cruzado correctas y el navegador lo descarta en silencio.
Ese último caso merece un párrafo porque no produce ningún error visible. El vídeo se reproduce, el menú de subtítulos aparece vacío y nada en la página sugiere por qué. Servir el VTT desde el mismo origen que la página lo evita por completo, y es la razón más simple para alojar los subtítulos junto al vídeo en lugar de en un dominio de recursos aparte.
Cada cue puede llevar ajustes después de su marca de tiempo: una posición vertical, una alineación horizontal, un ancho, un número de línea. Es lo que SRT no tiene forma de expresar, y el motivo práctico de preferir VTT para cualquier cosa más trabajada que una transcripción corrida.
La aplicación típica es apartar un rótulo. Los subtítulos van abajo por defecto, que es exactamente donde las televisiones ponen sus faldones y donde el reproductor pone sus propios controles. Un ajuste de línea que suba el cue arriba durante esos segundos son dos palabras en el archivo y resuelve un problema que ninguna hoja de estilos externa puede tocar.
VTT admite unas pocas etiquetas dentro del texto — negrita, cursiva, subrayado — y etiquetas de voz con el nombre de quien habla, que es como una transcripción distingue a dos personas sin escribir sus nombres en la línea. Un bloque de estilo dentro del propio archivo, o CSS en la página apuntando al pseudoelemento del cue, permiten fijar tipografía, color y fondo.
Lo que cada navegador respeta de verdad varía, y es la parte de la especificación con implementación más floja. Da por seguras la cursiva y la distinción de voces, y trata todo lo demás como una mejora. Un subtitulado que se vuelve ilegible cuando se ignora el estilo está diseñado contra el formato en lugar de con él.
Un archivo VTT no tiene por qué contener subtítulos. El elemento track lleva un atributo kind, y los otros valores son útiles de verdad: chapters produce una lista navegable de secciones en los reproductores que la soportan, descriptions transporta el texto de audiodescripción para lectores de pantalla, y metadata transporta cues arbitrarios a los que el JavaScript de la página puede reaccionar mientras el vídeo avanza.
Ese último es la base de las transcripciones interactivas, de las diapositivas sincronizadas y de las anotaciones temporizadas. Los cues se disparan cuando el cabezal de reproducción los alcanza, la página hace con ellos lo que quiera y no se muestra nada salvo que la página lo muestre. Es un pequeño planificador escondido dentro de un formato de subtítulos.
El elemento track distingue captions de subtitles, y la distinción no es tiquismiquis. Los subtítulos dan por hecho que quien mira oye y lo que necesita es la traducción del diálogo. El subtitulado accesible da por hecho que no oye, y por eso incluye la información que no es habla: una puerta que se cierra, la música que entra, quién habla fuera de plano.
Para las administraciones públicas y para un número creciente de empresas eso es una obligación y no una cortesía, por las WCAG y por la legislación de accesibilidad que las referencia. En España, además, la norma UNE 153010 fija cómo se hace: colores distintos para los personajes principales, identificación de quien habla y descripción de los efectos sonoros relevantes. Una pista marcada como captions que solo contenga diálogo traducido cumple el marcado y no cumple la obligación, y esa diferencia sí la ven las auditorías.
De transcripción automática, sobre todo. Todas las plataformas grandes y la mayoría de los servicios de transcripción exportan WebVTT, y la salida de máquina es lo bastante buena como para merecer una corrección y no lo bastante como para publicarla sin leerla: los nombres propios, las voces solapadas y el vocabulario técnico son donde falla, y suelen ser justo las palabras que llevan el significado.
La otra vía es la conversión. Editar subtítulos está mucho mejor resuelto en SRT por el software de escritorio, así que un flujo habitual es corregir y ajustar tiempos en SRT y convertir a VTT en el momento de publicar. Es un reparto sensato mientras uno de los dos archivos sea el maestro y el otro se genere, y no dos copias que se separan poco a poco.
Conviene ser explícito, porque afecta justo a lo que hace especial al formato. El conversor trabaja con tres datos por línea: momento de entrada, momento de salida y texto, en milisegundos enteros. Todo lo que no quepa en esa forma desaparece por construcción, y en un VTT lo que no cabe son precisamente los ajustes de cue — line, position, align, size — y los identificadores de cue.
La consecuencia concreta es que un rótulo colocado arriba para no tapar un cartel quemado en la imagen vuelve centrado abajo, encima del cartel. Por eso los pares que parten de VTT no están marcados como conversión exacta, aunque el texto y los tiempos sí lleguen intactos. Si has trabajado la colocación, guarda el VTT como maestro y trata cualquier SRT que salga de él como una copia de trabajo.
Desde ASS, cada bloque de anulación entre llaves se elimina al leer, incluida la etiqueta de posicionamiento, así que colocación, tipografías, colores, karaoke y efectos no llegan. Hacia ASS ocurre lo contrario y también hay que saberlo: se inventa un estilo único llamado Default, Arial de cuerpo 48 en blanco, porque el archivo de origen no traía ninguno; y las marcas de tiempo se recortan a centésimas de segundo, hasta nueve milisegundos por extremo.
MicroDVD, el de extensión .sub, cuenta fotogramas en lugar de tiempo, así que la conversión depende de una velocidad de fotogramas que puede no ser la correcta; el control correspondiente parte de 25 fps. Todo esto se hace en el navegador, con un motor escrito a mano y sin dependencias externas, así que ningún archivo de subtítulos se envía a ninguna parte.
| Extensión | .vtt |
|---|---|
| Tipo de medio | text/vtt |
| Publicado por | W3C |
| Primera publicación | 2010 |
| Especificación | WebVTT |
Comprueba cuatro cosas por este orden: que el archivo empieza con WEBVTT en su propia línea, que los milisegundos van precedidos de un punto y no de una coma, que el elemento track tiene kind y srclang, y que el archivo se sirve desde el mismo origen que la página o con las cabeceras de origen cruzado correctas. La última falla sin decir nada.
No. El archivo tiene que empezar por la línea WEBVTT y las marcas de tiempo usan punto en lugar de coma antes de los milisegundos. Renombrar produce un archivo que el navegador rechaza; convertirlo arregla las dos cosas de una vez.
VTT es lo que aceptan los navegadores para el vídeo de una web, y añade posicionamiento, alineación, voces y estilos. SRT es lo que esperan los reproductores de escritorio, los televisores y las plataformas de subida, y no tiene estilo ninguno. Por lo demás sus estructuras están lo bastante cerca como para que convertir sea directo.
Añadiendo ajustes de cue después de la marca de tiempo: line lo mueve en vertical y align en horizontal. Es lo principal que VTT sabe expresar y SRT no, y es como se mantienen los rótulos lejos de los textos en pantalla y de los controles del reproductor.
No. El conversor guarda entrada, salida y texto, así que los ajustes de posición y los identificadores de cue se pierden, y un rótulo colocado arriba vuelve centrado abajo. Por eso las conversiones que parten de VTT no se anuncian como exactas.
Sí. El mismo formato transporta capítulos, audiodescripción y metadatos temporizados, según el atributo kind del elemento track. Los cues de metadatos se disparan mientras el vídeo avanza y el JavaScript de la página los recoge, que es como se construyen las transcripciones interactivas.