Saltar al contenido principal
SubtitleMatrix

Convertir VTT a SSA

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 VTT a SSA. Se arrastra un archivo —o se pega el texto— y se recupera la versión SSA. La conversión se ejecuta por completo en tu navegador, así que no se sube nada y no hace falta ninguna cuenta.

Estos dos formatos no guardan las mismas cosas, y la diferencia no es cosmética: la precisión y el contenido propio del formato no tienen dónde ir en SSA. La lista de arriba sale de lo que cada formato puede expresar, no de tu archivo, así que es la misma respuesta antes de cargar nada.

Un archivo está bien, y una temporada entera también: la cola los procesa en orden y los resultados llegan juntos en un único ZIP.

Ejemplos

Un archivo VTT corriente convertido a SSA

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, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, 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, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, 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 han movido las marcas de tiempo al pasar de VTT a SSA?

SSA guarda el tiempo como `0:00:04.13` donde VTT lo guarda como `00:00:04.126` —centésimas frente a milésimas—, así que cada código se redondea al múltiplo de 10 ms más cercano: 00:00:04.126 sale como 4,13 segundos. Nada se estira ni se reordena y ningún bloque se mueve más de 5 ms, pero si vas a alinear estos subtítulos contra otro archivo, ese es el único punto donde esta conversión deja de ser exacta.

¿Qué ocurre con los bloques NOTE, STYLE y REGION de VTT en SSA?

Se descartan. Un archivo WebVTT puede llevar cabecera, comentarios, un bloque de estilos, definiciones de región y ajustes por bloque como `align` o `position`, y SSA no tiene dónde ponerlos: guarda bloques, no un documento. Los bloques en sí, texto y tiempos, pasan enteros.

¿Cómo es la salida cuando VTT se convierte en SSA?

Como SSA: sin números de bloque; cada subtítulo es una línea `Dialogue:` en la sección `[Events]`, con un campo `Marked` donde SRT guarda el número. Cada bloque VTT se convierte en un bloque SSA, en el mismo orden y con el mismo texto.

¿Cómo sale en SSA un bloque VTT de dos líneas?

Como dos líneas con `\N` entre ellas, que es como SSA escribe un salto de línea duro. La pareja sobrevive: las dos líneas VTT siguen perteneciendo a un solo subtítulo en la salida SSA, y el reproductor las muestra juntas.

¿Conservan los bloques VTT su orden en la salida SSA?

Sí, y por el camino se ordenan por tiempo de inicio: primero el más temprano, que es lo que espera cada formato de este sitio y cómo los leen los reproductores. Si tu archivo VTT listaba los bloques fuera de secuencia, la salida SSA los devuelve al orden; eso es un cambio en la estructura del archivo, no en su contenido, y es deliberado.

¿Puedo convertir el SSA de vuelta a VTT?

Sí, y tiene su propia lista: convertir SSA a VTT pierde estilos, posicionamiento, karaoke y contenido propio del formato. Esa lista es distinta de la de arriba porque los dos formatos guardan cosas diferentes.

¿Mantiene la salida SSA la codificación del archivo VTT?

No: la salida es UTF-8, con finales de línea de Unix y sin marca de orden de bytes, sea cual sea la que usara el archivo VTT. Un archivo que llega en UTF-16 o en una codificación mono byte de Windows se decodifica al entrar (el panel de resultados lo indica cuando ocurre); lo que sale es siempre el mismo SSA en UTF-8.

Herramientas relacionadas