Saltar al contenido principal
SubtitleMatrix

Convertir SMI 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 un archivo SAMI (SMI) en SSA. Arrastra el archivo o pega el texto y obtienes la versión SSA; la conversión se hace en el navegador, sin subir nada ni pedirte una cuenta.

Se pierden dos cosas. La primera es la precisión: SSA guarda un instante con centésimas (0:00:04.13) y SAMI lo guarda al milisegundo (Start=4126), así que cada marca se redondea a los 10 ms más cercanos: 00:00:04,126 sale como 4,13 s. Ningún bloque se mueve más de 5 ms. La segunda es el contenido propio de SAMI: el bloque <STYLE> de la cabecera, el <TITLE> y los atributos Class=ENCC de cada párrafo no forman parte del modelo de bloques y se descartan, como indica el informe de pérdidas de arriba. El texto, las líneas y el orden se conservan.

Un archivo o una temporada completa: la cola procesa en orden y los resultados bajan juntos en un solo ZIP.

Ejemplos

Un archivo SMI típico convertido a SSA

Entrada

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

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:03.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,How are you?\NFine, thanks.

En esta salida se pierden: precisión y contenido propio del formato. Todo lo demás coincide línea por línea.

La misma conversión con una entrada difícil

Entrada

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

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:02.50,0:00:09.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Tom &amp; Jerry

Es el tipo de daño que traen los archivos reales: finales de línea mezclados, espacios sueltos, campos vacíos. Compáralo con el ejemplo limpio de arriba para ver qué perdona el analizador.

Preguntas frecuentes

¿Por qué cambian las marcas de tiempo al convertir SAMI a SSA?

SSA guarda el tiempo como 0:00:04.13 y SAMI como Start=4126: centésimas frente a milésimas. Por eso cada marca se redondea a los 10 ms más cercanos y 00:00:04,126 sale como 4,13 s. Nada se estira ni se reordena, y ningún bloque se mueve más de 5 ms; si vas a alinear estos subtítulos con otro archivo, ese es el único punto donde la conversión deja de ser exacta.

¿Qué ocurre con el bloque STYLE, el TITLE y los Class de SAMI en SSA?

Nada de eso forma parte del modelo de bloques: el <STYLE> guarda CSS para los párrafos, el <TITLE> nombra el documento y Class=ENCC apunta un párrafo a una regla. SSA tiene su propia sección de estilos, pero no es un equivalente de esas declaraciones, así que se descartan y se informan como contenido propio del formato perdido.

¿Cómo se ve la salida cuando un SMI se convierte en SSA?

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

¿Qué ocurre con un bloque SMI de dos líneas al pasar a SSA?

El <br> del SAMI se escribe como \N, que es como SSA representa un salto de línea duro. La pareja se mantiene: lo que SAMI mostraba en dos líneas sigue siendo un solo subtítulo en la salida SSA y el reproductor las muestra juntas.

¿Se conserva el orden de los bloques SMI en la salida SSA?

Sí, y de paso se ordenan por hora de inicio: primero el más temprano, que es lo que esperan todos los formatos de este sitio y cómo los leen los reproductores. Si tu archivo SAMI traía los bloques desordenados, la salida SSA los devuelve al orden; es un cambio en la estructura del archivo, no en su contenido, y es deliberado.

¿Puedo convertir el SSA resultante de vuelta a SAMI?

Sí, y esa dirección tiene su propia lista: al convertir SSA a SMI se pierden estilos, posiciones, karaoke y contenido propio del formato. Esa lista es distinta de la de arriba porque los dos formatos guardan cosas diferentes.

¿La salida SSA mantiene la codificación del archivo SMI?

No: la salida es UTF-8, con finales de línea Unix y sin marca de orden de bytes, sea cual sea la codificación del archivo SMI. 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