Convertir CSV a SSA
O pega el texto de los subtítulos
Qué cambia esta conversión
1 cosa se descarta o requiere 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
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 CSV en SSA. Arrastra un archivo —o pega el texto— y obtienes la versión SSA. La conversión se ejecuta por completo en el navegador, así que no se sube nada y no hace falta ninguna cuenta.
Los dos formatos no guardan lo mismo, y la diferencia no es cosmética: la precisión no tiene dónde ir en SSA sin redondearse. La lista de arriba sale de lo que cada formato puede expresar, no de tu archivo, así que no cambia con lo que cargues.
Un archivo va bien, y una temporada entera también: la cola los recorre en orden y los resultados se descargan juntos dentro de un solo ZIP.
Ejemplos
Un archivo CSV típico, convertido a SSA
Entrada
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."
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.50,Default,,0,0,0,,The quick brown fox.
Dialogue: 0,0:00:04.00,0:00:06.25,Default,,0,0,0,,Jumps over, the lazy dog.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0,0,0,,Two lines here.\NAnd a second one.
Se pierde la precisión. El resto coincide línea por línea.
La misma conversión con una entrada difícil
Entrada
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
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, friend.
Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0,0,0,,Second line.
Dialogue: 0,0:00:10.00,0:00:10.01,Default,,0,0,0,,End before start.
Dialogue: 0,0:00:12.00,0:00:14.00,Default,,0,0,0,,Unquoted comma in text, right here.
Estos son los daños 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é se mueven las marcas de tiempo de CSV a SSA?
CSV guarda el tiempo como `00:00:04.126` y SSA lo guarda como `0:00:04.13` —milésimas frente a centésimas—, así que cada código se redondea a los 10 ms más cercanos: 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 con otro archivo, ese es el punto donde la conversión deja de ser exacta.
¿Qué aspecto tiene la salida cuando CSV se transforma 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 guarda el número. Cada bloque CSV se convierte en un bloque SSA, en el mismo orden y con el mismo texto.
¿Cómo sale en SSA un bloque CSV 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 se mantiene: las dos líneas CSV siguen perteneciendo a un mismo subtítulo en la salida SSA, y el reproductor las muestra juntas.
¿Conservan las filas CSV su orden en la salida SSA?
Sí, y de paso se ordenan por hora de inicio: primero los más tempranos, que es lo que esperan todos los formatos de este sitio y cómo los leen los reproductores. Si tu archivo CSV traía los bloques desordenados, la salida SSA los devuelve a su orden; eso cambia la estructura del archivo, no su contenido, y es deliberado.
¿Puedo convertir el SSA de vuelta a CSV?
Sí, y esa dirección tiene su propia lista: convertir SSA en CSV pierde el estilo, la posición, el karaoke y el contenido propio del formato. La lista es distinta de la de arriba porque los dos formatos guardan cosas distintas.
¿Respeta la salida SSA la codificación del archivo CSV?
No: la salida es UTF-8, con finales de línea Unix y sin marca de orden de bytes, sea cual sea la que usara el archivo CSV. Un archivo que llega en UTF-16 o en una codificación Windows de un solo byte se decodifica a la entrada (el panel de resultados lo indica cuando ocurre); lo que sale es siempre el mismo SSA en UTF-8.