Como eu mesclo dois arquivos * .srt

11

Por favor, veja esta questão.

Acabei de fundir dois arquivos avi cd1.avi e cd1.avi em movie.avi usando:

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

O problema é que eu tive que legendar os arquivos vinculados aos primeiros arquivos avi :

cd1.srt
cd2.srt

Primeiro, tentei simplesmente concatenar os arquivos juntos:

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

Mas isso causou estragos nas legendas ... alguma sugestão?

    
por Stefan 20.09.2010 / 21:09

2 respostas

19

Isso é feito de maneira bastante trivial, já que .srt arquivos são apenas arquivos de texto que contêm registros de data e hora - tudo que você precisa fazer é adicionar o comprimento de cd1.avi aos tempos de todas as legendas em cd2.srt . Você pode encontrar o comprimento de cd1.avi com ffmpeg :

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

Em seguida, adicione isso a cd2.srt usando srttool

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

ou:

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

Então você deve apenas concatenar os arquivos juntos e renumerar:

srttool -r -i cd.srt

escolhi srttool porque no Arch vem com transcode , que você instalou para esta questão ; há muitas outras ferramentas que podem mudar e mesclar .srt arquivos também, e pelo menos um site, submergir

    
por 20.09.2010 / 22:10
0

Eu criei isso como uma ferramenta on-line há muito tempo, mas a perdi devido a alguns problemas. Eu agora comecei a reviver essa ferramenta e você pode encontrá-la no link que ainda não está concluído, mas você pode esperar melhorias ou me lembrar; -)

    
por 02.06.2014 / 02:48