Convertir VTT a TTML
O pega el texto de los subtítulos
Qué cambia esta conversión
1 cosa se descarta o requiere una decisión
- 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 TTML. Se arrastra un archivo —o se pega el texto— y se recupera la versión TTML. 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: el contenido propio del formato no tiene dónde ir en TTML. 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 TTML
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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:04.000">Hello there.</p>
<p begin="00:00:04.500" end="00:00:08.000">Second line with <span tts:fontStyle="italic">italics</span>.</p> </body>
</tt>
En esta salida se pierde: 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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:02.000">No header, two lines before the timecode.</p> </body>
</tt>
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
¿Qué ocurre con los bloques NOTE, STYLE y REGION de VTT en TTML?
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 TTML 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 TTML?
Como TTML: sin números de bloque; cada subtítulo es un elemento `<p>` con atributos `begin` y `end`, anidado en un `<body>` (y normalmente un `<div>`), con una declaración XML por encima de todo el documento. Cada bloque VTT se convierte en un bloque TTML, en el mismo orden y con el mismo texto.
¿Son exactos los tiempos VTT en el archivo TTML?
Sí, al milisegundo, que es la precisión máxima de ambos formatos. Tanto VTT como TTML escriben un instante de la misma manera, `00:00:04.126`, así que los códigos de tiempo salen carácter por carácter tal como entraron.
¿Cómo sale en TTML un bloque VTT de dos líneas?
Como dos líneas con un `<br/>` entre ellas, que es como TTML 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 TTML, y el reproductor las muestra juntas.
¿Conservan los bloques VTT su orden en la salida TTML?
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 TTML los devuelve al orden; eso es un cambio en la estructura del archivo, no en su contenido, y es deliberado.
¿Puedo convertir el TTML de vuelta a VTT?
Sí, y tiene su propia lista: convertir TTML a VTT pierde estilos, posicionamiento y contenido propio del formato. Esa lista es distinta de la de arriba porque los dos formatos guardan cosas diferentes.
¿Mantiene la salida TTML 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 TTML en UTF-8.