Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

415
Vistas
¿Cómo leer y analizar el archivo de subtítulos srt con Javascript?

Estoy tratando de hacer un programa que traduzca el archivo de subtítulos de una ruta determinada. El programa se ejecuta dentro de electron, por lo que tengo acceso a los archivos de la computadora. El problema es que no pude encontrar una explicación sobre cómo leer y analizar el archivo srt, ¿es posible?

 function translateSubs(path, newPath){ var srt = readFile(path) var translatedOutput = [] srt.data.foreach(line => { line.text = translateToEnglishline.text() }) parseFile(srt, newPath) }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Así es como lo hice:

 var { default: srtParser2} = require('srt-parser-2'); var parser = new srtParser2() const fs = require('fs'); //srt => json fs.readFile(path,(err,data) =>{ if (err) { console.error(err); return; } var subObj = parser.fromSrt(data.toString()) console.log("lines in srt:", subObj.length) //json => srt outputSrt = "" subObj.forEach(item =>{ translatedSub += "\n" + item.id + "\n"+ item.startTime + " --> " + item.endTime + "\n" + item.text + "\n" }) fs.writeFile(outputPath, outputSrt, (err) => {console.log(err)}) console.log("wrote file into path:", outputPath) })

Lectura de srt: primero, leemos el srt usando FS, luego convertimos la salida en una cadena y la leemos con srt-parser-2, lo que nos da el srt en JSON

Creando Srt: creamos una nueva cadena que tiene este formato:

 1 00:00:11,544 --> 00:00:12,682 Hello 2 00:00:17,123 --> 00:00:19,345 There 3 00:00:30,123 --> 00:00:31,345 General Kenobi

luego lo escribimos en un archivo.

para obtener más información, puede ver los documentos de srt-parser-2 aquí: https://www.npmjs.com/package/srt-parser-2

about 4 years ago · Juan Pablo Isaza Denunciar

0

Mirando el formato de archivo SRT , podemos ver que el ejemplo de datos dentro del archivo es:

 1 00:05:00,400 --> 00:05:15,300 This is an example of a subtitle. 2 00:05:16,400 --> 00:05:25,300 This is an example of a subtitle - 2nd subtitle.

Como veo que desea traducir texto, todo lo que necesita hacer es obtener una parte del text , traducirlo y sobrescribirlo.

Hay muchas maneras de hacer esto, pero la forma en que lo haría es cargando el archivo en la matriz de string[] . Luego recorra, sepárelo en una línea en blanco y analícelo en objetos separados. Ahora tengo un objeto que se parece a este

 class SubItem { string[] lines }

La tercera parte pasa por cada SubItem , traduce cada string en lines espera las dos primeras (primero es ID, segundo marco de tiempo).

Ahora tengo una matriz de SubItems traducidos. Póngalos de nuevo en archivos con separador de línea en blanco y listo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda