Convertir VTT a ASS
O pega el texto de los subtítulos
Qué cambia esta conversión
2 cosas se descartan o requieren una decisión
- Precisión
la precisión de los tiempos: el reloj del resultado es más grueso, así que cada marca de tiempo se redondea al 10 ms más cercano
- Contenido específico del formato
contenido que el formato de origen guarda fuera de sus bloques (bloques que no son cue, texto de cabecera, ajustes por bloque, eventos comentados): el formato de destino no tiene sitio para él
Esta lista proviene de la matriz de capacidades de estos dos formatos, no del archivo concreto que has cargado. Un archivo específico puede perder más si usa características que el formato permite pero que la matriz no modela.
Esta página convierte WebVTT a ASS. Se arrastra un archivo —o se pega el texto— y se recupera la versión ASS, con la cabecera de script, la tabla de estilos y los eventos de diálogo que espera un reproductor. La conversión se ejecuta por completo en tu navegador: no se sube nada, no hace falta ninguna cuenta y la página sigue funcionando sin red una vez cargada.
Los dos formatos coinciden en el texto, los saltos de línea y el orden de los bloques, así que lo que vuelve son los mismos subtítulos escritos con una sintaxis más rica. Hay dos diferencias que conviene conocer antes de convertir. ASS guarda los tiempos en centésimas de segundo, así que 00:00:01.234 tiene que pasar a 0:00:01.23: cada marca de tiempo se redondea al múltiplo de 10 ms más cercano, y el informe de arriba lo dice en vez de dejar que lo descubras al alinear el archivo contra un vídeo. Además, ASS necesita una tabla de estilos, de la que WebVTT no tiene equivalente; se escribe por ti un único estilo Default, Arial a 20 con contorno negro, que puedes editar después en cualquier herramienta de subtítulos.
Lo que no pasa es todo lo que WebVTT guarda fuera de sus bloques. La línea de cabecera y su comentario, los bloques NOTE, STYLE y REGION y los ajustes que pueden seguir a una marca de tiempo, como align:start o position:10%, no tienen dónde ir, porque ASS expresa la colocación dentro del texto del diálogo con sus propios códigos de anulación y esta conversión no los inventa por ti. El informe de arriba los enumera y, en cuanto se carga un archivo, dice cuánto tenía realmente ese archivo.
La entrada incómoda no es problema: una cabecera ausente, finales de línea de Windows, una línea suelta antes de una marca de tiempo o una marca de orden de bytes se leen sin quejarse. Se puede arrastrar un archivo o una temporada entera; la cola los procesa en orden, se puede detener a medias y los resultados llegan juntos en un único ZIP.
Ejemplos
Un archivo VTT corriente convertido a ASS
Entrada
WEBVTT
intro
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.
Resultado
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,Second line with {\i1}italics{\i0}.
En esta salida se pierde: precisión y contenido propio del formato. Todo lo demás coincide línea por línea.
La misma conversión con una entrada incómoda
Entrada
a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.
Resultado
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,No header, two lines before the timecode.
Este es el tipo de daño que traen los archivos reales: finales de línea mezclados, espacios sueltos, campos vacíos. Si se compara con el ejemplo ordenado de arriba, se ve qué perdona el analizador.
Preguntas frecuentes
¿Por qué se redondean mis tiempos al convertir VTT a ASS?
ASS registra el tiempo en centésimas de segundo y WebVTT en milisegundos. Un bloque que empieza en 00:00:01.234 pasa a 0:00:01.23, así que cada marca se mueve como máximo 5 ms. Es invisible cuando ves el vídeo y puede importar cuando comparas el archivo con otro fotograma a fotograma.
¿De dónde sale la tabla de estilos del archivo ASS?
Se escribe por ti, porque un archivo ASS sin ella no se puede reproducir. La salida lleva un único estilo llamado Default —Arial de tamaño 20, texto blanco con contorno negro— y cada línea de diálogo apunta a él. Se puede cambiar después en tu editor de subtítulos si tu norma de estilo es otra; volver a ejecutar este conversor sobrescribiría tu cambio.
¿Cómo coloca ASS un bloque cuando el VTT traía align:start o position:10%?
Se descartan. ASS puede colocar un bloque con precisión, pero lo hace con códigos de anulación dentro del texto —\an7 para la esquina superior izquierda, \pos(320,240) para un punto exacto—, y los ajustes de WebVTT son un vocabulario distinto y más limitado, sin correspondencia uno a uno. En vez de adivinar una posición, la conversión deja el texto intacto e informa del ajuste como perdido.
¿Sobreviven los bloques NOTE, STYLE y REGION al convertir VTT a ASS?
No. Son construcciones exclusivas de WebVTT sin equivalente en ASS. El que hay que vigilar es STYLE, ya que puede contener las reglas de maquetación de todo el documento y no un comentario pasajero; ese estilo habrá que reconstruirlo en ASS si lo necesitas.
¿Puedo convertir aquí un WebVTT confidencial a ASS?
Sí. El archivo se lee y se escribe dentro de la pestaña del navegador, así que un WebVTT bajo acuerdo de confidencialidad nunca sale del equipo en el que está: no hay paso de subida ni análisis en servidor. La salida se escribe localmente y la página sigue convirtiendo sin red.