Jak scalić dwa pliki * .srt


11

Zobacz to pytanie.

Mam po prostu połączył dwa pliki avi cd1.avii cd1.avido movie.avikorzystania:

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

Problemem jest to, że musiałem napisać pliki połączone z pierwszymi aviplikami:

cd1.srt
cd2.srt

Na początku próbowałem po prostu połączyć pliki razem:

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

Ale to spowodowało spustoszenie w napisach ... jakieś sugestie?

Odpowiedzi:


19

Jest to dość trywialne, ponieważ .srtpliki to tylko pliki tekstowe zawierające znaczniki czasu - wszystko, co musisz zrobić, to dodać długość cd1.avido czasów wszystkich napisów cd2.srt. Możesz znaleźć długość cd1.aviz ffmpeg:

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

A następnie dodaj to do cd2.srtużywaniasrttool

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

lub:

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

Następnie powinieneś być w stanie połączyć pliki razem i zmienić numerację:

srttool -r -i cd.srt

Wybrałem, srttoolponieważ w Arch pochodzi z transcode, który zainstalowałeś na to pytanie ; istnieje wiele innych narzędzi, które mogą również przenosić i scalać .srtpliki, i przynajmniej jedna strona internetowa się zanurza


+1 dzięki micheal, naprawdę doceniam twoje wysiłki z moimi pytaniami
Stefan

1
Dzięki! To działało świetnie. Jedynym problemem, jaki znalazłem, jest to, że srttool umieszcza dane wyjściowe w wierszu poleceń. Właściwie nie modyfikuję pliku, który chcesz. Trochę przekierowania (>) i WHAMMO, działa idealnie. To była ogromna pomoc i bardzo dziękuję.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.