Convertir CSV a SBV
O pega el texto de los subtítulos
Qué cambia esta conversión
No se pierde nada en esta dirección: cada característica del formato de origen tiene un lugar al que ir en el formato de destino.
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 SBV. Arrastra un archivo —o pega el texto— y recuperas la versión SBV. La conversión corre por completo en el navegador, de modo que nada se sube y no se pide cuenta.
En esta dirección no se pierde nada. Todo lo que CSV puede expresar tiene un equivalente en SBV —una fila de la tabla se vuelve un bloque con sus dos tiempos—, así que la salida son los mismos subtítulos con otra envoltura. Eso vale para cualquier archivo CSV, incluso uno que use todas las funciones que permite el formato.
Un archivo basta, y una temporada entera también: la cola los trata en orden y los resultados bajan juntos en un solo ZIP.
Ejemplos
Un archivo CSV típico, convertido a SBV
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
0:00:01.000,0:00:03.500
The quick brown fox.
0:00:04.000,0:00:06.250
Jumps over, the lazy dog.
0:00:07.000,0:00:09.000
Two lines here.
And a second one.
Aquí no se pierde nada: compara los dos lados 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
0:00:01.000,0:00:04.000
Hello there, friend.
0:00:05.000,0:00:07.000
Second line.
0:00:10.000,0:00:10.001
End before start.
0:00:12.000,0:00:14.000
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
¿Qué aspecto tiene la salida cuando CSV se convierte en SBV?
Como SBV: sin números de bloque y sin cabecera; una línea con los dos tiempos y después el texto. Cada bloque CSV se convierte en un bloque SBV, en el mismo orden y con el mismo texto.
¿Son exactos los tiempos CSV en el archivo SBV?
Sí, al milisegundo, que es lo más fino que llega cualquiera de los dos formatos. CSV escribe un instante como `00:00:04.126` y SBV escribe el mismo instante como `0:00:04.126`; nada se redondea ni se desplaza, y un bloque que estaba en pantalla 2,9 segundos sigue estándolo.
¿Cómo sale en SBV un bloque CSV de dos líneas?
Como dos líneas, una debajo de la otra. La pareja se mantiene: las dos líneas CSV siguen perteneciendo a un mismo subtítulo en la salida SBV, y el reproductor las muestra juntas.
¿Conservan las filas CSV su orden en la salida SBV?
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 SBV los devuelve a su orden; eso cambia la estructura del archivo, no su contenido, y es deliberado.
¿Puedo convertir el SBV de vuelta a CSV?
Sí, y las dos direcciones son sin pérdidas: CSV y SBV pueden expresar cada uno todo lo que expresa el otro, así que una ida y vuelta devuelve la misma línea de tiempo y el mismo texto en la envoltura original. Por eso el informe de arriba no tiene nada que enumerar.
¿Mantiene la salida SBV 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 SBV en UTF-8.