Convertir SMI a CSV
O pega el texto de los subtítulos
Qué cambia esta conversión
3 cosas se descartan o requieren una decisión
- Estilo
todo el estilo (negrita, cursiva, color, contorno, sombra)
- Posición
la posición en pantalla (cada bloque vuelve a la posición predeterminada)
- 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 una tabla CSV. Arrastra el archivo o pega el texto y obtienes la tabla; todo ocurre en el navegador, sin subir nada ni registrarte.
Aquí se pierden tres cosas. La primera son los estilos: el énfasis, el color y el subrayado viajan dentro del texto como <b>, <i>, <u> y <font color>, y una tabla de tres columnas no guarda esas etiquetas. La segunda es la posición: SAMI la expresa con CSS en la cabecera, y el CSV no tiene dónde ponerla. La tercera es el contenido propio de SAMI: el bloque <STYLE>, el <TITLE> y los Class= de los párrafos se descartan. Lo que sí se conserva al milisegundo es la línea de tiempo: Start=4126 en SMI es 00:00:04.126 en la columna de inicio.
Un archivo o una temporada: la cola procesa en orden y los resultados bajan juntos en un ZIP.
Ejemplos
Un archivo SMI típico convertido a CSV
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>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
Resultado
start,end,text
00:00:01.000,00:00:03.000,Hello there.
00:00:03.500,00:00:06.000,"How are you?
Fine, thanks."
En esta salida se pierden: estilos, posiciones 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 & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
Resultado
start,end,text
00:00:02.500,00:00:09.000,"Line one
Line two"
00:00:09.000,00:00:12.000,Tom & 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
¿Sobreviven las negritas y las cursivas al pasar de SAMI a CSV?
No. SAMI las guarda dentro del texto, con etiquetas como <b> y <i>, y una celda CSV es solo texto: las etiquetas no se escriben porque el CSV no las interpreta. Si lo que necesitas es conservar el énfasis, usa un destino que lo entienda; el informe de pérdidas de esta página ya cuenta los estilos como perdidos.
¿Qué pasa con la posición en pantalla al convertir SAMI a CSV?
Se descarta. SAMI coloca el texto con reglas CSS en el bloque <STYLE> de la cabecera o con estilos en línea, y el CSV no tiene ningún campo para la posición: solo inicio, fin y texto. La página de la conversión lo informa antes de que abras el archivo, no después.
¿Dónde quedan el bloque STYLE, el TITLE y los Class de SAMI en el CSV?
Fuera de la tabla: el CSV solo tiene columnas de tiempo y texto, así que el <STYLE> con CSS, el <TITLE> y los atributos Class=ENCC no se escriben. Se cuentan como contenido propio del formato en el informe de pérdidas, que es la razón por la que esta dirección nunca se presenta como sin pérdidas.
¿Cómo se ve la salida cuando un SAMI se convierte en CSV?
Como CSV: una fila de cabecera (start,end,text) y después una fila por bloque. Cada bloque SMI se convierte en una fila CSV, en el mismo orden y con el mismo texto.
¿Son exactos los tiempos de SMI en el archivo CSV?
Sí, al milisegundo, que es el máximo detalle de ambos formatos. SAMI escribe un instante como Start=4126 y CSV lo escribe como 00:00:04.126; no hay redondeo ni desplazamiento entre los dos, y un bloque que estaba en pantalla 2,5 s sigue estándolo.
¿Qué ocurre con un bloque SMI de dos líneas al pasar a CSV?
Se escribe como dos líneas dentro de la única celda de texto, entre comillas como exige el formato CSV. La pareja se mantiene: el <br> del SAMI sigue siendo un salto de línea duro en la salida y el reproductor las muestra juntas.
¿Se conserva el orden de los bloques SMI en la salida CSV?
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 CSV los devuelve al orden; es un cambio en la estructura del archivo, no en su contenido, y es deliberado.
¿Puedo convertir el CSV resultante de vuelta a SAMI?
Sí, y esa dirección tiene su propia lista: al convertir CSV a SMI se pierden la sincronización y los tiempos. Esa lista es distinta de la de arriba porque los dos formatos guardan cosas diferentes.
¿La salida CSV 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 CSV en UTF-8.