WebVTT
El formato de subtítulos de la web: lo que muestra un navegador a través del <track> de HTML. Los bloques de SubRip, con una cabecera, un punto antes de los milisegundos y un lugar para estilos, posiciones y hablantes.
De un vistazo
| Extensión | .vtt |
|---|---|
| Tipo de medio | text/vtt |
| Especificación | W3C, WebVTT: The Web Video Text Tracks Format, una Recomendación candidata |
| Precisión temporal | Milisegundos |
| Codificación del texto | UTF-8, siempre: la especificación lo exige. Subtitld lee otras codificaciones igualmente. |
| Estilo | Etiquetas de cursiva, negrita y subrayado; colores mediante clases y CSS (::cue). Sin tachado. |
| Posición | Ajustes del cue (line, position, align, size, vertical) y regiones |
| Hablantes | Etiquetas de voz: <v Thom> |
| En contenedores | Matroska como S_TEXT/WEBVTT; MP4 como wvtt (ISO/IEC 14496-30); flujos HLS y DASH |
Anatomía de un cue
Un archivo es una cabecera, y luego cues. Cada cue es un bloque como el de SubRip, con dos partes opcionales.
WEBVTT intro 00:00:23.000 --> 00:00:24.500 line:0 <v Celia>You're a jerk, <i>Thom</i>.
- 1 · Cabecera
WEBVTT, solo o seguido de un espacio y un título, y luego una línea vacía. Sin ella, un navegador rechaza el archivo entero. - 2 · Identificador
Opcional. Un nombre para el cue, en su propia línea: un número, como en SubRip, o una palabra.
- 3 · Tiempos
Inicio, la flecha
-->y fin. Un punto antes de los milisegundos. - 4 · Ajustes
Opcional. Dónde mostrar el cue, tras la hora de fin.
- 5 · Texto
Líneas de texto, con etiquetas de estilo y de voces. Una línea vacía cierra el cue, así que no hay ninguna dentro.
El código de tiempo
Las horas pueden omitirse. 00:27.000 es el mismo tiempo, y muchos archivos de menos de una hora se escriben así. La coma antes de los milisegundos es costumbre de SubRip, no de WebVTT; Subtitld la lee igualmente.
Bloques distintos de los cues
| Bloque | Qué contiene |
|---|---|
NOTE |
Un comentario, para personas. Los reproductores lo omiten. |
STYLE |
CSS para los cues, mediante ::cue. Antes del primer cue. |
REGION |
Una zona con nombre de la pantalla en la que pueden desplazarse los cues. |
Texto del cue
| Etiqueta | Efecto |
|---|---|
<i>…</i>, <b>…</b>, <u>…</u> |
Cursiva, negrita, subrayado |
<c.yellow>…</c> |
Una clase, que CSS (o las clases de color propias de WebVTT) puede colorear |
<v Thom>… |
La voz: quién habla. Cerrarla es opcional. |
<lang pt>…</lang> |
El idioma de un fragmento de texto |
<ruby>漢<rt>kan</rt></ruby> |
Una lectura sobre el texto, para japonés y chino |
<00:00:28.500> |
Una marca de tiempo dentro del cue, para karaoke |
& < > |
Un ampersand, <, > y un espacio sin corte, que de otro modo se leerían como marcado |
Colores
Ocho clases se colorean sin ningún CSS: white, lime, cyan, red, yellow, magenta, blue y black, y las mismas ocho con bg_ para el fondo. Cualquier otro color necesita una clase propia y un bloque STYLE:
STYLE
::cue(.gold) { color: #ffd700; }
00:00:30.800 --> 00:00:34.000
<c.gold>Why don't you just admit that</c>
No todos los reproductores leen los bloques STYLE; las clases de color propias de WebVTT son la opción más segura. Subtitld las usa siempre que un color sea uno de los ocho.
Ajustes del cue
| Ajuste | Qué hace |
|---|---|
line:0 |
La línea en pantalla: un número cuenta líneas desde arriba (negativo desde abajo), un porcentaje desde el borde superior |
position:10% |
Dónde se sitúa la caja del cue a lo ancho de la pantalla |
align:start |
Alineación del texto en la caja: start, center, end, left, right |
size:50% |
El ancho de la caja |
vertical:rl |
Texto vertical, de derecha a izquierda o de izquierda a derecha |
region:fred |
Mostrar el cue en una REGION |
Subtitld lee line, position y align como el lugar del subtítulo en pantalla, los mismos nueve lugares que {\an1} a {\an9} de SubRip, y los escribe de vuelta: line:0 para arriba, line:50%,center para el centro, position:10% align:start y position:90% align:end para los laterales.
WebVTT en Subtitld
- El texto y los saltos de línea de cada subtítulo
- Cursiva, negrita, subrayado y color
- Dónde se sitúa en pantalla
- Hablantes, como etiquetas de voz
- Inicio y fin, al milisegundo, en orden
- Tachado: WebVTT no tiene etiqueta para ello
- Caras y colores de los hablantes
- Traducciones junto al original (una puede ocupar su lugar, o ir debajo)
- Doblajes y metadatos
Guarda un proyecto .usfx para conservarlos.
Abrir un archivo WebVTT
Subtitld localiza cada cue por su línea de tiempos y lee:
- la cabecera, y los bloques
NOTE,STYLEyREGIONcomo lo que son, no como subtítulos, y los identificadores de cue como nombres; - los tiempos con o sin horas, con punto o con coma;
- las voces como hablantes de los subtítulos, listas para el doblaje;
- las clases de color de WebVTT, y los colores que un bloque
STYLEda a otras clases; line,positionyaligncomo el lugar en pantalla;- cualquier codificación, aunque WebVTT pide UTF-8.
Omite lo que no tiene dónde guardar: regiones, el tamaño de un cue, texto vertical, las lecturas de ruby y las marcas de tiempo de karaoke. El texto en sí se conserva.
Exportar WebVTT
Exportar, y después Subtítulos y VTT, ofrece:
- TextoEl original, una traducción, o ambos, con la traducción debajo.
- Nombres de hablantesSe omiten, van antes del texto (Thom: …), o como etiquetas de voz (
<v Thom>), la forma propia de WebVTT. - FormatoSe conserva, o se quita.
- Desplazar tiemposCada subtítulo antes o después en la misma cantidad.
El archivo es siempre UTF-8, como exige WebVTT: WEBVTT, y luego los cues en orden de inicio, cada tiempo con sus horas. Los caracteres que se leerían como marcado se escriben como entidades, y los subtítulos vacíos se omiten.
En una página web
<video controls src="tears-of-steel.mp4">
<track kind="subtitles" src="tears-of-steel.en.vtt"
srclang="en" label="English" default>
</video>
Sirve el archivo como text/vtt. Desde otro dominio, el vídeo necesita crossorigin y el servidor una cabecera Access-Control-Allow-Origin; si no, el navegador no cargará la pista.
WebVTT o SubRip
SubRip para reproductores, editores y subidas; WebVTT para vídeo en la web. La página de SubRip los compara lado a lado.
Curiosidades
Empezó como WebSRT, redactado en el WHATWG para el nuevo elemento <track> de HTML5 y basado en SubRip, antes de tomar el nombre WebVTT.
Seis letras al principio de cada archivo. Un navegador que no las encuentra rechaza la pista entera.
Colores que un reproductor conoce sin CSS: blanco, lima, cian, rojo, amarillo, magenta, azul y negro, tanto para el texto como para su fondo.
Formatos relacionados
Ábrelo en Subtitld con el vídeo y reajústalo sobre la forma de onda.