Napiprojekt w tomato? czemu nie :P
|
tomeq62 |
Dodano 27-09-2011 21:09
|
User
Posty: 41
Dołączył: 17/09/2011 20:53
|
Witam, mam pytanie czy istnieje jakiś automat do wypakowywania plików z archiwów w danym katalogu. Tzn mam katalog filmy do którego ściągam rsgetem filmy, filmy są np. w rarze, odpalam skrypt wypakowuje mi dane później odpalam napi2srt.py i mam gotowy do oglądania film |
|
|
|
hermes-80 |
Dodano 27-09-2011 21:12
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Oczywiście, że możesz sobie taki skrypt napisać.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
luke1984 |
Dodano 13-10-2011 21:00
|
User
Posty: 19
Dołączył: 31/08/2011 13:13
|
Witam,
Bardzo chciałbym skorzystać z tego skryptu ale mi się nie wlącza. Nie może znaleźć biblioteki libdb-4.2.so. Próbowałem usunąć python i od nowa instalować ale nie działa. Jakieś pomysły?
Edit Już sobie poradziłem, doinstalowałem dodatkowe biblioteki Ale nadal nie działa mi pyload bo się wywala przy konfiguracji. Ten python chyba wymaga dopracowania.
Edytowany przez luke1984 dnia 14-10-2011 14:30
|
|
|
|
hermes-80 |
Dodano 14-10-2011 14:32
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Cytat Ale nadal nie działa mi pyload bo się wywala przy konfiguracji. Ten python chyba wymaga dopracowania.
Dosyć dziwne bo tylko tobie nie działa - innym nawet nowe wersje śmigają, a ty chcesz pyhona dopracowywać??
Lepiej dopracuj konfiguracje routera.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
luke1984 |
Dodano 14-10-2011 15:02
|
User
Posty: 19
Dołączył: 31/08/2011 13:13
|
Cytat hermes-80 napisał(a):
Cytat Ale nadal nie działa mi pyload bo się wywala przy konfiguracji. Ten python chyba wymaga dopracowania.
Dosyć dziwne bo tylko tobie nie działa - innym nawet nowe wersje śmigają, a ty chcesz pyhona dopracowywać??
Lepiej dopracuj konfiguracje routera.
Nie z motyką na słońce się nie porywam. Po prostu to raczej pyload ma problem niż sam python jako środowisko. Gdzieś wyczytałem że trzeba sformatować partycję opt i spróbować od nowa więc tak właśnie teraz robię i zobaczę czy na czystko pójdzie. |
|
|
|
shibby |
Dodano 14-10-2011 15:06
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
ale my tu o napiprojekcie rozmawiamy
uzywam sam napiprojektu na routerze i nie mam zadnych problemów z jego dzialaniem.
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
hermes-80 |
Dodano 14-10-2011 15:07
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Pamiętaj że najlepiej to zrobić pod tomato:
Tabele partycji stworzyć przez fdisk
i sformatować utworzone partycje odpowiednio:
mkfs.ext2 - ext2
mkfs.ext3 - ext3
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
grequ22 |
Dodano 09-11-2011 18:45
|
User
Posty: 48
Dołączył: 04/06/2008 16:56
|
Hej,
Skrypt fajnie dziala.
Chyba jest mala literowka w nazwie napi2srt
Cytat wget http://update.groov.pl/napi/napi2srt.py -O /opt/bin/napi2srt.py && chmod +x /opt/bin/napisrt.py
na Cytat wget http://update.groov.pl/napi/napi2srt.py -O /opt/bin/napi2srt.py && chmod +x /opt/bin/napi2srt.py
powiedzcie mi dlaczego musze uruchamiac osobne skrypty dla avi oraz mkv, jesli sam skrypt mial przeszukiwac ".avi", ".mpg", ".mkv", ".mp4", ".rmvb", ".mov"
Pozdro |
|
|
|
Grigorij |
Dodano 12-12-2011 19:08
|
User
Posty: 16
Dołączył: 11/12/2011 19:01
|
Witam
Czy da się w Tomato ustawić uruchamianie tego skryptu np. co kilka godzin?
Czytałem gdzieś, że potrzebny jest cron deamon, ale może szanowni koledzy mają jakiś prostszy sposób? |
|
|
|
przemasisko |
Dodano 12-12-2011 20:36
|
Super User
Posty: 550
Dołączył: 17/05/2010 13:56
|
Oczywiście, że tak.
Tomato GUI -> Administration -> Scheduler -> Custom 1.
Polecenie wpisujesz do pola Command |
|
|
|
Grigorij |
Dodano 12-12-2011 22:35
|
User
Posty: 16
Dołączył: 11/12/2011 19:01
|
Dziękuję!
Netgear WNR3500L + DD-WRT usb/minidlna Kong mod
|
|
|
|
zbyszek82 |
Dodano 29-12-2011 08:21
|
User
Posty: 96
Dołączył: 15/02/2011 18:06
|
Shibby
dlaczego przy komendzie napi2srt.py ściąga napisy txt bez ich konwersji na srt ??
jeszcze jedno można je jakoś wmuksować tak jak robi to program AVIAddXSubs na windowsie?
ASUS RT-AC68U +asus merlin
|
|
|
|
esem |
Dodano 03-01-2012 13:03
|
Super User
Posty: 509
Dołączył: 05/02/2007 20:42
|
A jak zrobić aby wyłącznie konwertował na SRT ściągnięte wraz z filmem napisy TXT. Czyli nie wyszukiwał napisów w sieci?
Asus RT-AC56U @1000/666 + aktualne tomato
Fonera 2100/200 | DD-WRTv24sp2
W rezerwie:
ADB VV5822
Netgear WNR3500L/U/v2 (wg. tomato). Ale to jest WNR3500L v.1
|
|
|
|
shibby |
Dodano 03-01-2012 13:54
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
nie dam sobie reki uciąć ale pamietam że jak znajdzie już napisy txt (o takiej samej nazwie jak film) to je tylko konwertuje
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
elzear |
Dodano 08-01-2012 15:28
|
User
Posty: 26
Dołączył: 08/09/2008 13:49
|
Jak wygląda sprawa z przeszukiwaniem eng. napisów? Czy istnieje jakaś alternatywa do napi.py? |
|
|
|
krisan |
Dodano 08-01-2012 20:33
|
Power User
Posty: 207
Dołączył: 22/03/2011 11:48
|
@esem:
tak jak shibby wspominał, jak znajdzie plik *.txt to nie ściąga tylko konwertuje
Cytat elzear napisał(a):Jak wygląda sprawa z przeszukiwaniem eng. napisów? Czy istnieje jakaś alternatywa do napi.py?
W pythonie istnieje periscope http://pypi.python.org/pypi/periscope...cope/0.2.4. Zalecam instalację pythona, easy_install (lub pip-a) i za pomocą tego ostatniego instalację periscope (mój sposób instalacji pythona+dodatków opisałem przy okazji instalacji flexget-a tutaj http://openlinksys.info/forum/viewthr...d_id=13460).
Periscope może sciągnąć napisy w kilku językach naraz (wg. zadanej kolejności), korzysta z OpenSubtitles, Subtitulos, Podnapisi, TheSubDB, BierDopje, SubsWiki...
Napisy zapisuje jako SRT.
Podczas uruchamiania należy pamiętać o dodaniu parametru --cache-folder=, np --cache-folder=/tmp/
Inne rozwiązanie - można by przerobić skrypt napi2srt.py i zamienić PL na EN w linii
http://napiprojekt.pl/unit_napisy/dl.php?l=PL&...
PS.
Któraś z wersji napi.py lub nawet obie (fork) z google code nie konwertowały prawidłowo napisów do formatu srt (błędny fps, czasem except - błąd skryptu - przy pustych liniach na końcu pliku z napisami w txt) - rozwiązaniem jest wykorzystanie tcprope (kosztem szybkości wykonywania skryptu - ale mamy prawidłowy fps oraz prawidłowe obsłużenie dodatkowych enterów na końcu pliku).
Edytowany przez krisan dnia 08-01-2012 20:41
|
|
|
|
elzear |
Dodano 09-01-2012 08:51
|
User
Posty: 26
Dołączył: 08/09/2008 13:49
|
Dziękuję za info Postaram się dziś wieczorkiem za to zabrać |
|
|
|
krisan |
Dodano 09-01-2012 16:06
|
Power User
Posty: 207
Dołączył: 22/03/2011 11:48
|
Żadko zdarza mi się komentować swój tekst :) ale dla wyczerpania tematu chciałbym dodać:
Cytat krisan napisał(a):
PS.
Któraś z wersji napi.py lub nawet obie (fork) z google code nie konwertowały prawidłowo napisów do formatu srt (błędny fps, czasem except - błąd skryptu - przy pustych liniach na końcu pliku z napisami w txt) - rozwiązaniem jest wykorzystanie tcprope (kosztem szybkości wykonywania skryptu - ale mamy prawidłowy fps oraz prawidłowe obsłużenie dodatkowych enterów na końcu pliku).
Chodziło mi o skrypt napi2srt.py. Prawdopodobnie problem będzie się pojawiał także w wersji w naszym repozytorium (update.groov.pl)
1. Problem z exceptami skryptu
Linię 280 i następne:
for line in reader:
group = MPL2LINE.match(line).groupdict()
start = int(float(group["start"])*0.1*FRAMERATE) or 1
stop = int(float(group["stop"])*0.1*FRAMERATE)
rest = group["line"]
writer.write("{%d}{%d}%s" % (start, stop, rest))
[fileobj.close() for fileobj in (reader, writer)]
Należało by zmodyfikować na:
for line in reader:[color=#990000]
result = MPL2LINE.match(line)
if result != None:
group = result.groupdict()[/color]
start = int(float(group["start"])*0.1*FRAMERATE) or 1
stop = int(float(group["stop"])*0.1*FRAMERATE)
rest = group["line"]
writer.write("{%d}{%d}%s" % (start, stop, rest))
[fileobj.close() for fileobj in (reader, writer)]
2. Błędny FPS/desynchronizacja napisów SRT
W sytuacji, gdy w pliku z napisami nie ma informacji o wartości FPS (co często się zdarza), napi2srt używał kiedyś domyślnego przelicznika dla klatek (chyba 23.*), co sprawiało czasem desynchronizację napisów przy filmie zakodowanym inną wartością FPS (żadko się to zdarzało, ale jednak). Aby uniknąć tego typu sytuacji zmodyfikowałem skrypt tak, aby sprawdzał FPS pliku multimedialnego za pomocą programu tcprobe (w domyślnym repozytorium optware znajduje się w pakiecie transcode).
W tym celu zmodyfikowałem funkcję getFps w pliku napi2srt.py z:
def getFps(file):
"""
Return fps from movie file
"""
fps = subprocess.Popen('file "%s"' % file, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE).stdout.read()
fps = re.search(", ([0-9]+\.[0-9]+) fps", fps).group(1)
if fps == '23.98':
fps = '23.976'
return fps
na:
def getFps(file):
"""
Return fps from movie file
"""
[color=#990000] fpz = subprocess.Popen('tcprobe -d 0 -i "%s" | grep \'frame rate\' | awk \'{print $4}\'' % file, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE).stdout.read()
fps = subprocess.Popen('file "%s"' % file, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE).stdout.read()
result = re.search(", ([0-9]+\.[0-9]+) fps", fps)
if result == None: #nie udalo sie dokladnie ustalic fps
if fps.find('~30 fps') != -1:
fps = '29.970'
else:
fps = '23.976'
print("can not determine fps from subs: "+fps+ "get it from tcprobe: " +fpz),
fps = fpz
else:
fps = result.group(1)
[/color]
if fps == '23.98':
fps = '23.976'
return fps
3. Taka mała uwaga.
Nie wiem dlaczego, ale w wersji z update.groove.pl w skryptcie napi2srt.py brakuje w main następującego kodu:
def main():
global p7zip
if not os.path.exists(p7zip):
p7zip = subprocess.Popen(["which", "7za"], stdout=subprocess.PIPE).communicate()[0].rstrip('\n')
----
W zależności od pojawiających się problemów proponuję zaaplikowanie odpowiedniej poprawki.
Przed wprowadzeniem modyfikacji proponuję zrobić backup pliku napi2srt.py.
Skrypt modyfikowałem kilka miesięcy temu a na codzień nie jestem programistom Pythona, więc modyfikacje wprowadzacie na własną odpowiedzialność - nie gwarantuję prawidłowego działania (chociaż u mnie działa bezproblemowo).
|
|
|
|
elzear |
Dodano 10-01-2012 13:17
|
User
Posty: 26
Dołączył: 08/09/2008 13:49
|
Cytat krisan napisał(a):
W pythonie istnieje periscope http://pypi.python.org/pypi/periscope...cope/0.2.4. Zalecam instalację pythona, easy_install (lub pip-a) i za pomocą tego ostatniego instalację periscope (mój sposób instalacji pythona+dodatków opisałem przy okazji instalacji flexget-a tutaj http://openlinksys.info/forum/viewthr...d_id=13460).
Periscope może sciągnąć napisy w kilku językach naraz (wg. zadanej kolejności), korzysta z OpenSubtitles, Subtitulos, Podnapisi, TheSubDB, BierDopje, SubsWiki...
Napisy zapisuje jako SRT.
Podczas uruchamiania należy pamiętać o dodaniu parametru --cache-folder=, np --cache-folder=/tmp/
Fajno działa wyśmienicie :) jest tylko jeszcze 1 pytanie na które nie mogę znaleźć odpowiedzi. Chodzi mi o aliasy :) tzn gdzie utworzyć .bashrc i uwzględnić ścieżkę aby wykonywał mi polecenie wraz z opcją: "periscope --cache-folder=/tmp/"
Wiem, że noob'owskie pytanie ale za nic nie mogę tego ogarnąć :)
Już dałem radę :)
w pliku /opt/etc/profile dodalem alias po przelogowaniu dziala :)
alias pobierz='periscope -l en --cache-folder=/tmp/'
Dziekuje jeszcze raz za info! :)
SOLVED :)
Edytowany przez elzear dnia 10-01-2012 13:42
|
|
|
|
krisan |
Dodano 10-01-2012 22:34
|
Power User
Posty: 207
Dołączył: 22/03/2011 11:48
|
@elzear
Nie byłem w stanie wcześniej tego dopisać, bo miałem bliskie spotkania z (k)nakersami, ale zmieniając napis PL na ENG czyli w napi2srt.py:
str = 'http://napiprojekt.pl/unit_napisy/dl.php?l=[b][u]PL[/u][/b]&f=%s....
na
str = 'http://napiprojekt.pl/unit_napisy/dl.php?l=[b][u]ENG[/u][/b]&f=%s...
zapewniamy sobie ściąganie napisów angielskich.
Inne wersje językowe niż PL/ENG można pewnie ściągnąć (nie testowałem) używając odpowiednich dwu- lub trzyliterowych kodów państw. W tym celu proponuję prześledzić dostępne źródła qnapi (wersje 1.6+)
|
|
|