¿Cómo combino dos archivos * .srt

11

Por favor vea esta pregunta.

Tengo solo se fusionó dos archivos AVI cd1.aviy cd1.avien movie.aviel uso de:

avimerge -o movie.avi -i cd{1,2}.avi

El problema es que tuve que subtitular archivos vinculados a los primeros aviarchivos:

cd1.srt
cd2.srt

Al principio intenté simplemente concatenar los archivos juntos:

cat cd{1,2}.srt > movie.srt

Pero eso causó estragos en los subtítulos ... ¿Alguna sugerencia?

Stefan
fuente

Respuestas:

19

Esto se hace de manera bastante trivial, ya que los .srtarchivos son solo archivos de texto que contienen marcas de tiempo: todo lo que necesita hacer es agregar la longitud cd1.avia los tiempos de todos los subtítulos cd2.srt. Puedes encontrar la longitud de cd1.avicon ffmpeg:

ffmpeg -i cd1.avi  # Look for the Duration: line

Y luego agregue eso a cd2.srtusarsrttool

srttool -d 12345 -i cd2.srt  # 12345 is the amount to add in seconds

o:

srttool -a hh:mm:ss -i cd2.srt  # The first subtitle will now start at hh:mm:ss

Entonces debería poder concatenar los archivos juntos y volver a numerar:

srttool -r -i cd.srt

Elegí srttoolporque en Arch viene con transcode, que instaló para esta pregunta ; hay muchas otras herramientas que también pueden cambiar y fusionar .srtarchivos, y al menos un sitio web, sumergir

Michael Mrozek
fuente
+1 gracias micheal, realmente aprecio tus esfuerzos con mis preguntas
Stefan
1
¡Gracias! Esto funcionó muy bien. El único problema que encontré es que srttool pone la salida en la línea de comando. En realidad no modifico el archivo que deseas. Un poco de redirección (>) y WHAMMO, funciona perfectamente. Esto ha sido de gran ayuda y muchas gracias.