Come unire due file * .srt


11

Si prega di vedere questa domanda.

Ho appena unito due file avi cd1.avie cd1.aviin movie.aviuso:

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

Il problema è che ho dovuto sottotitolare i file collegati ai primi avifile:

cd1.srt
cd2.srt

All'inizio ho provato semplicemente a concatenare i file insieme:

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

Ma questo ha causato il caos con i sottotitoli ... qualche suggerimento?

Risposte:


19

Questo è abbastanza banale, dal momento che i .srtfile sono solo file di testo che contengono timestamp - tutto ciò che devi fare è aggiungere la lunghezza dei cd1.avitempi di tutti i sottotitoli in cd2.srt. Puoi trovare la lunghezza di cd1.avicon ffmpeg:

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

E poi aggiungilo cd2.srtall'utilizzosrttool

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

Quindi dovresti essere in grado di concatenare i file insieme e rinumerare:

srttool -r -i cd.srt

Ho scelto srttoolperché in Arch viene fornito transcode, che hai installato per questa domanda ; ci sono molti altri strumenti che possono spostare e unire .srtanche i file, e almeno un sito Web, immergersi


+1 grazie micheal, apprezzo molto i tuoi sforzi con le mie domande
Stefan

1
Grazie! Questo ha funzionato alla grande. L'unico problema che ho riscontrato è che srttool mette l'output sulla riga di comando. In realtà non modifico il file desiderato. Un piccolo reindirizzamento (>) e WHAMMO, funziona perfettamente. Questo è stato di grande aiuto e grazie mille.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.