¿Qué es WebVTT?
WebVTT es un formato de texto del W3C para entradas temporizadas asociadas con audio o video web. Un archivo .vtt puede contener distintos tipos de subtítulos, etiquetas de capítulos, descripciones, posicionamiento y estilos limitados para las entradas.
Cómo funciona WebVTT
Un archivo WebVTT es texto en UTF-8, identificado con el tipo de medio text/vtt, que comienza con la cadena WEBVTT, seguida de bloques opcionales de regiones y estilos y, después, de bloques de entradas. Cada entrada tiene una línea de temporización y un contenido que se muestra como texto de distintos tipos de subtítulos, o se interpreta como un título de capítulo o metadatos, según cómo utilice la pista el software que la recibe. Los ajustes de la entrada en la línea de temporización controlan la dirección de escritura, la línea y la posición, el tamaño, la alineación y la región. El texto de las entradas solo admite un conjunto reducido de etiquetas, y CSS se aplica a las entradas mediante el pseudoelemento ::cue, que respeta una lista fija de propiedades. Las marcas de tiempo se interpretan con respecto a la línea de tiempo del medio al que acompaña el archivo, por lo que un archivo sincronizado para un montaje necesita volver a sincronizarse cuando ese medio se recorta, se acelera o se reemplaza.
Datos clave
- La línea de temporización de una entrada consta de una marca de tiempo de inicio, la cadena
-->y una marca de tiempo de fin, donde cada marca de tiempo se escribe comomm:ss.tttohh:mm:ss.ttt, con un punto antes de exactamente tres dígitos de milisegundos. Cuando el analizador no puede interpretar esa línea, descarta la entrada y pasa al siguiente bloque, por lo que una línea de temporización incorrecta elimina una entrada sin detener el procesamiento del resto del archivo. - Un elemento HTML
trackindica la dirección del archivo ensrc, su función enkindy su idioma ensrclang; si se omitekind, la función predeterminada es la de subtítulos, ysrclanges obligatorio para los subtítulos. Un archivo de un origen distinto al de la página solo se carga si el elemento de medios que lo contiene tiene un atributocrossoriginy la respuesta supera la comprobación CORS. Sin ese atributo, el navegador restringe la solicitud al propio origen de la página y la pista no se carga. - WebVTT se basó en el formato SRT de SubRip, pero un archivo SRT no es un archivo WebVTT válido. Carece de la firma
WEBVTT, sin la cual un analizador WebVTT interrumpe el procesamiento, y las líneas de temporización de SRT suelen escribir los milisegundos después de una coma, mientras que WebVTT requiere un punto. La conversión de WebVTT a SRT pierde más información: la entrada básica de SRT, compuesta por un número de secuencia, una línea de temporización y texto, no tiene un lugar definido para los ajustes de las entradas, las regiones ni los bloquesSTYLE. - HTTP Live Streaming transporta los subtítulos como segmentos WebVTT. El RFC 8216 indica que cada segmento debería incluir un encabezado
X-TIMESTAMP-MAPque relacione los tiempos de las entradas con las marcas de tiempo MPEG-2 de las otras variantes. Cuando falta el encabezado, los clientes deben suponer que el tiempo 0 de las entradas corresponde a la marca de tiempo MPEG-2 con valor 0, lo cual solo es correcto si las marcas de tiempo del audio y del video también comienzan ahí.
Cuándo es importante WebVTT
Un reproductor de video HTML puede cargar pistas WebVTT para subtítulos, capítulos o metadatos temporizados. Se descarta cualquier entrada cuya línea de temporización no pueda analizarse y se ignoran las propiedades CSS ajenas al conjunto permitido, por lo que un archivo puede cargarse aunque falten algunas entradas o no se les apliquen estilos.
Cómo ayuda Transloadit con WebVTT
El Robot /speech/transcribe de Transloadit devuelve una transcripción como archivo de subtítulos WebVTT cuando su parámetro format tiene el valor webvtt. El Robot /video/subtitle acepta archivos de subtítulos SRT y VTT y los añade al video como un flujo independiente o como subtítulos incrustados en la imagen.
Activar speaker_labels añade etiquetas de hablantes solo a las salidas json y meta; la documentación del Robot indica que la salida WebVTT no cambia.
- Robot de transcripción de voz: formatos de salida, incluido
webvtt - Robot de subtítulos de video: añadir subtítulos SRT o VTT a un video
Explora los formatos de archivo y las capacidades de compresión de Transloadit