Як злити два * .srt файли


11

Будь ласка, дивіться це питання.

Я тільки злиті два 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

Але це спричинило хаос із субтитрами ... якісь пропозиції?

Відповіді:


19

Це досить тривіально зроблено, оскільки .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файли, і, принаймні, один веб-сайт занурювати


+1 спасибі micheal, дуже вдячний за ваші зусилля щодо моїх запитань
Стефан

1
Спасибі! Це спрацювало чудово. Єдиною проблемою, яку я знайшов, є те, що srttool ставить вихід у командний рядок. Я фактично не змінює потрібний файл. Трохи перенаправлення (>) та WHAMMO, воно працює чудово. Це була величезна допомога і дуже дякую.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.