Convertir SBV a JSON
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 pasa un SBV de YouTube a JSON. Arrastra el archivo o pega el texto y recibes el documento; la conversión se ejecuta por completo en el navegador, sin subir el archivo ni registrarte.
En esta dirección no se pierde nada. Cada bloque se convierte en un objeto con start y end en milisegundos y un arreglo lines con cada línea; un bloque de dos líneas se reconoce por dos entradas en lines. El valor 4126 es el mismo instante que 0:00:04.126 en SBV, sin redondeos. Los bloques se ordenan por hora de inicio.
Puedes soltar un archivo o una temporada completa: la cola trabaja en orden y entrega todos los resultados en un único ZIP.
Ejemplos
Un archivo SBV típico convertido a JSON
Entrada
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.
Resultado
{
"version": 1,
"cues": [
{
"start": 1000,
"end": 3500,
"lines": [
"The quick brown fox."
]
},
{
"start": 4000,
"end": 6250,
"lines": [
"Jumps over the lazy dog."
]
},
{
"start": 7000,
"end": 9000,
"lines": [
"Two lines here.",
"And a second one."
]
}
]
}
Aquí no se pierde nada: compara ambos lados línea por línea.
La misma conversión con una entrada difícil
Entrada
0:00:02.000,0:00:04.000
Carriage-return line endings.
0:00:06.000,0:00:08.000
Indented timecode, no final newline.Resultado
{
"version": 1,
"cues": [
{
"start": 2000,
"end": 4000,
"lines": [
"Carriage-return line endings."
]
},
{
"start": 6000,
"end": 8000,
"lines": [
"Indented timecode, no final newline."
]
}
]
}
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
¿Cómo se ve la salida cuando un SBV se convierte en JSON?
Como JSON: un arreglo de objetos de bloque, cada uno con su id, su start y su end. Cada bloque SBV se convierte en un bloque JSON, en el mismo orden y con el mismo texto.
¿Son exactos los tiempos del SBV en el archivo JSON?
Sí, al milisegundo, que es el máximo detalle de ambos formatos. SBV escribe un instante como 0:00:04.126 y JSON lo escribe como 4126; no hay redondeo ni desplazamiento entre los dos, y un bloque que estaba en pantalla 2,9 s sigue estándolo.
¿Qué ocurre con un bloque SBV de dos líneas al pasar a JSON?
Se convierte en dos entradas del arreglo lines del bloque. La pareja se mantiene: las dos líneas del SBV siguen siendo un solo subtítulo en la salida JSON y el reproductor las muestra juntas.
¿Se conserva el orden de los bloques de SBV en la salida JSON?
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 SBV traía los bloques desordenados, la salida JSON los devuelve al orden; es un cambio en la estructura del archivo, no en su contenido, y es deliberado.
¿Puedo convertir el JSON resultante de vuelta a SBV?
Sí, y esa es la dirección con pérdidas: los estilos, las posiciones y el karaoke no tienen dónde ir en SBV. En este sentido no se pierde nada, así que ese coste solo aparece si vuelves atrás.
¿La salida JSON mantiene la codificación del archivo SBV?
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 SBV. 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 JSON en UTF-8.