Как слить два файла * .srt

См. Этот вопрос.

Я только что объединил два avi-файла cd1.avi и cd1.avi в movie.avi используя:

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

Проблема в том, что мне пришлось подзаголовки файлов, связанных с первыми avi файлами:

 cd1.srt cd2.srt 

Сначала я попытался объединить файлы вместе:

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

Но это вызвало хаос с субтитрами … любые предложения?

Это довольно сложно, так как файлы .srt – это просто текстовые файлы, содержащие метки времени – все, что вам нужно сделать, это добавить длину cd1.avi во время всех субтитров в cd2.srt . Вы можете найти длину cd1.avi с ffmpeg :

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

А затем добавьте это в cd2.srt используя srttool

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

или:

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

Затем вы должны просто объединить файлы и перенумеровать:

 srttool -r -i cd.srt 

Я выбрал srttool потому что в Arch он поставляется с transcode , который вы установили для этого вопроса ; есть много других инструментов, которые могут сменять и объединить файлы .srt и, по крайней мере, один веб-сайт, погрузиться

Я создал это как онлайн-инструмент давным-давно, но потерял его из-за некоторых проблем. Теперь я начал оживлять этот инструмент, и вы можете найти его под http://srtsubmerge.webpgr.com/, он еще не совсем закончен, но вы можете надеяться на улучшения или напомнить мне 😉