View previous topic :: View next topic |
Author |
Message |
Zwierzak Veteran
Joined: 19 Sep 2003 Posts: 1012 Location: /dev/null
|
Posted: Wed Oct 25, 2006 3:15 pm Post subject: Konwersja dowolnych napisów na srt |
|
|
Ostatnio bawię się w przerabianie 2 płytowych filmów DivX na DVD, wszystko ładnie idzie gdyby nie jeden szczegół, większość napisów jest w jakiś dziwnych formatach i trzeba je zamieniać na srt. Niestety nie znalazłem na linuksa żadnego porządnego programu do tego, a programy windowsowe często nie chcą się uruchomić pod Wine. Sytuację trochę ratuje sub2str, ale nie obsługuje on napisów w formacje TMPlayer (jakich mam w znacznej wielkości). Czy zna ktoś może jakieś programy godne polecenia?
Last edited by Zwierzak on Thu Oct 26, 2006 10:28 am; edited 1 time in total |
|
Back to top |
|
|
tokoloshe Tux's lil' helper
Joined: 11 Jul 2003 Posts: 116
|
Posted: Wed Oct 25, 2006 3:22 pm Post subject: |
|
|
mplayer |
|
Back to top |
|
|
sebad Tux's lil' helper
Joined: 06 Oct 2005 Posts: 130 Location: Poland
|
Posted: Thu Oct 26, 2006 2:45 am Post subject: |
|
|
Z nudow napisalem programik w pythonie. Mozesz go wyprobowac. Nie ma dopisanej obslugi bledow i obsluguje tylko format tmplayera, ale dziala prawidlowo (przynajmniej mi sie tak wydaje) Jako argument podajesz mu plik z napisami.
Code: |
#!/usr/bin/python
import string, sys
sciezka = sys.argv[1]
f=open(sciezka, 'r')
nf=open(sciezka +'.srt', 'w')
nr = 0
for line in f:
nr+=1
if line.rfind('|') == -1:
if int(line[6:8])+3 < 10:
nf.write(`nr` + '\n' + line[:8] + ',000 --> ' + line[:6] + '0' + `int(line[6:8])+3` + ',000\n' + line[9:] + '\n')
else:
nf.write(`nr` + '\n' + line[:8] + ',000 --> ' + line[:6] + `int(line[6:8])+3` + ',000\n' + line[9:] + '\n')
else:
if int(line[6:8])+3 < 10:
nf.write(`nr` + '\n' + line[:8] + ',000 --> ' + line[:6] + '0' + `int(line[6:8])+3` + ',000\n' + line[9:line.rfind('|')] + '\n')
nf.write(line[int(line.rfind('|')+1):] + '\n')
else:
nf.write(`nr` + '\n' + line[:8] + ',000 --> ' + line[:6] + `int(line[6:8])+3` + ',000\n' + line[9:line.rfind('|')] + '\n')
nf.write(line[int(line.rfind('|')+1):] + '\n')
f.close()
nf.close()
print 'Zrobione'
|
W formacie tmplayera nie ma podanego czasu wyswietlania napisow ,wiec ustawilem go na 3 sekundy.
PS: Nie sprawdzalem jak przerobione napisy sprawdzaja sie w praniu :p _________________ Serwis komputerowy - Warszawa |
|
Back to top |
|
|
Zwierzak Veteran
Joined: 19 Sep 2003 Posts: 1012 Location: /dev/null
|
Posted: Thu Oct 26, 2006 10:06 am Post subject: |
|
|
W jaki sposób?
A za programik dziękuję, mam nadzieję, że się przyda. A długość wyświetlania powinna być generowana na podstawie długości napisu |
|
Back to top |
|
|
szolek Guru
Joined: 30 Mar 2005 Posts: 570 Location: Brzóza Królewska
|
Posted: Thu Oct 26, 2006 10:17 am Post subject: |
|
|
[OT] chyba w temacie za długo przytrzymałeś Alt [/OT] |
|
Back to top |
|
|
Zwierzak Veteran
Joined: 19 Sep 2003 Posts: 1012 Location: /dev/null
|
Posted: Thu Oct 26, 2006 10:29 am Post subject: |
|
|
szolek wrote: | [OT] chyba w temacie za długo przytrzymałeś Alt [/OT] |
[OT]Minusy bardzo szybkiego pisania, kcikuk cvzasami nie nadąrza za resztą palcy przez co powstają takie szopki. Jak psałem wolniej to rzadziej mi się to zdarzało.[/OT] |
|
Back to top |
|
|
argasek Bodhisattva
Joined: 06 May 2004 Posts: 1121 Location: Sol [0,0], Poland, Kraków
|
Posted: Thu Oct 26, 2006 11:39 am Post subject: |
|
|
Zwierzak wrote: |
W jaki sposób? |
man mplayer:
Code: |
OPCJE OSD/NAPISÓW
INFORMACJA: Zobacz także -vf expand.
-dumpjacosub (tylko MPlayer)
Konwertuje podane (przy pomocy opcji -sub) napisy na oparty na czasie format JACOsub. Tworzy w bieżącym katalogu zbiór dumpsub.js.
-dumpmicrodvdsub (tylko MPlayer)
Konwertuje podane (przy pomocy opcji -sub) napisy na format MicroDVD. Tworzy w bieżącym katalogu zbiór dumpsub.sub.
-dumpmpsub (tylko MPlayer)
Konwertuje podane (przy pomocy opcji -sub) napisy na format MPlayera - MPsub. Tworzy w bieżącym katalogu zbiór dumpsub.mpsub.
-dumpsami (tylko MPlayer)
Konwertuje podane (przy pomocy opcji -sub) napisy na oparty na czasie format SAMI. Tworzy w bieżącym katalogu zbiór dumpsub.smi
-dumpsrtsub (tylko MPlayer)
Konwertuje podane (przy pomocy opcji -sub) napisy na oparty na czasie format SubViewer (SRT). Tworzy w bieżącym katalogu zbiór dumpsub.srt.
-dumpsub (tylko MPlayer) (KOD BETA)
Zrzuca podstrumień napisów ze strumieni VOB Zobacz także -dump*sub i -vobsubout*.
|
_________________ RLU #137109 | http://soundcloud.com/argasek |
|
Back to top |
|
|
|