Convertir TTML a SRT el subtítulo en XML listo para tu editor.
Para convertir TTML a SRT, pega el XML o arrastra el archivo .ttml, .dfxp o .xml y descarga el .srt. Leemos cada párrafo con su inicio y su fin, pasamos los tiempos en cuadros, ticks o segundos al reloj del SRT y conservamos cursiva, negrita y subrayado. El archivo sale numerado y en UTF-8.
Gratis, sin registroSegundo archivo
Por ejemplo, el nombre del video y la versión para aprobar.
Este texto no tiene tiempos. Vamos a crear el subtítulo por el ritmo de lectura: cada línea o frase se vuelve un bloque de hasta 2 líneas.
El JSON trae el tiempo de cada palabra. Cortamos bloques de hasta 2 líneas de 42 caracteres, al final de las frases y en las pausas.
¿Quieres el subtítulo listo directo del video? Nosotros transcribimos y subtitulamos por ti.
Informe del subtítulo
- Subtítulos
- Duración
- Palabras
- CPS promedio
- CPS máximo
- Con alerta
| # | Tiempo | Duración | Texto | Caracteres por línea | CPS | Alertas |
|---|
Cómo convertir TTML a SRT
- 01
Pega o arrastra el TTML
Sirve .ttml, .dfxp o .xml, en los perfiles DFXP, SMPTE-TT e IMSC. Detectamos la codificación automáticamente, incluso en archivos UTF-16.
- 02
Deja SRT como salida
SRT ya viene marcado. Si quieres, corrige superposiciones o quita descripciones de sonido como [Música] antes de convertir.
- 03
Descarga el .srt y revisa el informe
Cada subtítulo aparece con su duración, caracteres por línea y velocidad de lectura. Copia el resultado o descarga el archivo.
¿Qué es un archivo TTML (o DFXP) y de dónde sale?
TTML es un formato de subtítulos en XML definido por el W3C. En lugar de bloques numerados, guarda cada parlamento en un párrafo <p> con los atributos begin y end, y puede llevar estilos, regiones de posición y metadatos. DFXP es el nombre del primer perfil de TTML y todavía aparece como extensión; SMPTE-TT e IMSC son variantes que se usan en televisión y streaming.
Si tienes un TTML, lo más probable es que venga de una plataforma de streaming, una distribuidora, un flujo de televisión o una agencia de subtitulado. El problema aparece al editar: la mayoría de los editores de video, de los reproductores de escritorio y de las redes sociales espera SRT. Al convertir, el texto y los tiempos siguen iguales, pero en un formato que tu programa abre.
subtitulos.ttml
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" ttp:frameRate="25">
<p begin="00:01:12:12" end="00:01:15:00">
<span tts:fontStyle="italic">¿Se acuerdan de la clase pasada?</span>
</p>
subtitulos.srt
1
00:01:12,480 --> 00:01:15,000
<i>¿Se acuerdan de la clase pasada?</i> Cómo los tiempos del TTML se vuelven tiempos del SRT
El SRT admite una sola forma de escribir el tiempo: horas, minutos, segundos y milisegundos, con coma. El TTML acepta varias, y ahí se equivocan los convertidores simples. Leemos el reloj con milisegundos, el reloj con cuadros, que usa el ttp:frameRate y el frameRateMultiplier del encabezado, y los tiempos por desplazamiento, como 1.5s, 1500ms, 30f o ticks con el ttp:tickRate.
Cuando un párrafo trae begin y dur en lugar de end, sumamos la duración al inicio. Si el archivo usa cuadros y no declara la tasa, contamos 30 cuadros por segundo, que es el valor por defecto de la especificación. Revisa el informe: subtítulos con duraciones raras suelen indicar un TTML exportado sin la tasa correcta.
| Tiempo en el TTML | En el SRT generado |
|---|---|
| 00:00:01.500 | 00:00:01,500 |
| 00:00:01:12 a 25 cuadros | 00:00:01,480 |
| 1.5s o 1500ms | 00:00:01,500 |
| 30f a 30 cuadros | 00:00:01,000 |
| 15000000t, tickRate 10000000 | 00:00:01,500 |
| begin="10s" dur="2.5s" | 00:00:10,000 --> 00:00:12,500 |
Qué pasa al SRT y qué se queda en el camino
El SRT es mucho más simple que el TTML, así que parte de la información no tiene dónde ir. Lo que importa para la mayoría de los usos pasa: el texto, el tiempo, los saltos de línea hechos con <br/> y el énfasis. Cursiva, negrita y subrayado se vuelven <i>, <b> y <u>, vengan de un estilo con nombre en el encabezado o de un span en medio de la frase.
Colores, fondo, tamaño de letra y regiones de posición se eliminan, porque el SRT no puede guardarlos. Un subtítulo que en el TTML iba arriba de la pantalla aparecerá abajo, en la posición por defecto del reproductor. Si tampoco quieres el énfasis, activa la limpieza que quita el formato.
| En el TTML | En el SRT generado |
|---|---|
| <p begin end> | Bloque numerado con la flecha --> |
| fontStyle, fontWeight, textDecoration | <i>, <b>, <u> |
| <br/> | Salto de línea |
| & < > | & < > |
| Color, fondo, tamaño | Eliminados |
| Regiones y posición | Eliminadas (subtítulo abajo) |
Dónde usar el SRT que sale del TTML
El SRT se abre en Premiere Pro, DaVinci Resolve, Final Cut Pro, CapCut y VLC, y se sube a YouTube Studio y a Vimeo. También es el formato que piden casi todas las herramientas de traducción y revisión de subtítulos, lo que facilita pasarle el archivo a otra persona.
Antes de descargar, mira el informe. Los subtítulos de televisión suelen tener líneas largas y una velocidad de lectura alta para redes sociales; el informe marca los bloques que pasan de 42 caracteres por línea o de 17 caracteres por segundo, para que los ajustes en el editor.
Más que convertir TTML a SRT. Generamos el subtítulo de tu video.
Ver también
Preguntas frecuentes
¿Cómo convertir TTML a SRT?
Pega el XML o arrastra el archivo .ttml, .dfxp o .xml, deja SRT como salida y descarga. Cada párrafo del TTML se vuelve un bloque numerado del SRT, con el mismo inicio y fin. Es gratis, sin registro, y el archivo sale en UTF-8.
¿DFXP y TTML son lo mismo?
En la práctica, sí. DFXP es el nombre del primer perfil de TTML, y muchos sistemas todavía guardan los subtítulos con la extensión .dfxp. El contenido es el mismo XML con párrafos <p>, y el convertidor lee los dos, igual que los perfiles SMPTE-TT e IMSC.
¿Por qué los tiempos quedaron mal después de convertir?
Casi siempre es la tasa de cuadros. Si el TTML escribe los tiempos en cuadros, como 00:01:12:12, y no declara el ttp:frameRate, contamos 30 cuadros por segundo, como indica la especificación. Si tu video es de 25 o 24 cuadros, el subtítulo se desfasa. Corrígelo después con la herramienta para sincronizar subtítulos, cambiando la tasa de cuadros.
¿Los colores y la posición pasan al SRT?
No. El SRT no tiene campo para color, fondo ni región de pantalla, así que esos estilos se eliminan y el subtítulo vuelve a la posición por defecto, abajo. Cursiva, negrita y subrayado sí pasan, porque el SRT acepta las etiquetas <i>, <b> y <u>.
Descargué un archivo .xml. ¿Es TTML?
Si empieza con la etiqueta <tt> y tiene párrafos <p> con begin y end, es TTML y el convertidor lo lee. Un .xml de Premiere Pro o de Final Cut es otra cosa: es un proyecto de edición, no un subtítulo, y no se va a convertir.
¿Se puede hacer al revés, de SRT a TTML?
Sí. Usa la herramienta para convertir SRT a TTML: cada bloque se vuelve un párrafo <p> con inicio y fin en milisegundos, y la cursiva pasa a ser un estilo de TTML. Sirve cuando editaste el subtítulo y tienes que devolverlo en el formato que pidió la plataforma.
¿Todavía no tienes el subtítulo? Nosotros generamos el SRT de tu video.
Sube el video o pega el enlace de YouTube. Transcribimos palabra por palabra, con el tiempo de cada parlamento, y descargas el SRT listo para tu editor o para convertir.
Ves el resultado en tu material antes de registrar la tarjeta.