Napiprojekt w tomato? czemu nie :P
|
on6222 |
Dodano 09-10-2013 22:16
|
User
Posty: 17
Dołączył: 01/09/2013 20:46
|
A jakby wygladala komenda do skanowania multimediow
service media scan
service media scanning
Service minidlna scan
Zadna nie dziala a samo restart nie pomaga tylko reboot
A w logu wyglada tak
scanning /mnt/filmy/
pozdrawiam |
|
|
|
krisan |
Dodano 10-10-2013 20:56
|
Power User
Posty: 207
Dołączył: 22/03/2011 11:48
|
Nie rozumiem trochę pytania.
jak ustawiłeś, jaki błąd wyświetla, co chcesz mieć
Sprawdź dostęp do plików (chmod), ilośc wolnego miejsca (także na /tmp i czy nie zamontowałeś NASa w trybie read only
|
|
|
|
pagii |
Dodano 22-10-2013 23:01
|
User
Posty: 91
Dołączył: 16/10/2007 23:29
|
A co to moze być?
Cytat Warning: it seems like input file is damaged or too short.
po czym wszystko dzieje się chyba OK:
Cytat Processing Elementary.S01E17.720p.HDTV.X264-DIMENSION.mkv... Getting subtitle... DOWNLOADED... CONVERTED to SRT
Asus RT-AC1900P + FreshTomato-ARM
|
|
|
|
beny83 |
Dodano 15-12-2013 21:52
|
User
Posty: 3
Dołączył: 19/07/2013 14:56
|
Ja mam taki problem czy ktoś pomoże??
Traceback (most recent call last):
File "/opt/bin/napi2srt.py", line 419, in
sys.exit(main())
File "/opt/bin/napi2srt.py", line 397, in main
processing(filelist)
File "/opt/bin/napi2srt.py", line 363, in processing
if (not sub.getnapi(file)):
File "/opt/bin/napi2srt.py", line 260, in getnapi
os.remove(subtitle)
OSError: [Errno 2] No such file or directory: |
|
|
|
woseba |
Dodano 29-01-2014 21:46
|
User
Posty: 35
Dołączył: 31/03/2010 18:03
|
A ja mam inne pytanie, chciałem zautomatyzować proces ściągania napisów i dodałem napi2srt.py do przełącznika -exec komendy find w celu wyszukania plików .avi w katalogu i pobierania do nich napisów. Niestety nie działa... Ktoś ma jakiś pomysł?
WRT54GL v1.1 + SD Mod + Tomato 1.28 by shibby
RT-N16 + Tomato 1.28 by shibby
RT-AC86U + AsusWRT Merlin
|
|
|
|
Marco76 |
Dodano 29-01-2014 21:57
|
Super User
Posty: 433
Dołączył: 08/03/2007 19:47
|
Użyłeś składni "python path/to/the/script.py" w poleceniu? Pokaż składnię swojego polecenia find o jakim piszesz.
[small] Pozdrawiam, Monter
Asus RT-N18 + FreshTomato 2019.3 K26ARM USB AIO-64K-NOSMP + ILHM v2
HTPC Chieftec FLYER FI-02BC-U3 + GA-H61N-USB3 + i3-3225 + 4GB RAM + LibreELEC + Xbox DVD Remot
|
|
|
|
woseba |
Dodano 30-01-2014 11:52
|
User
Posty: 35
Dołączył: 31/03/2010 18:03
|
a widzisz, zapomniałem, że skrypty powinno się odpalać z interpreterem
sprawdzę w domu i dam znać, dzięki
WRT54GL v1.1 + SD Mod + Tomato 1.28 by shibby
RT-N16 + Tomato 1.28 by shibby
RT-AC86U + AsusWRT Merlin
|
|
|
|
shibby |
Dodano 30-01-2014 12:09
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
a po co przez find? Przecież napi.py potrafi przeszukiwać podkatalogi. Wystarczy odpalić skrypt by przeszukał cały katalog z filmami.
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
|
|
|
|
woseba |
Dodano 30-01-2014 15:33
|
User
Posty: 35
Dołączył: 31/03/2010 18:03
|
rozumiem, że w parametrze można podać katalog? i zeskanuje łącznie z podkatalogami? no to super
Połączony z 31 styczeń 2014 10:25:35:
Przetestowane, działa jak należy
Edytowany przez woseba dnia 31-01-2014 10:25
WRT54GL v1.1 + SD Mod + Tomato 1.28 by shibby
RT-N16 + Tomato 1.28 by shibby
RT-AC86U + AsusWRT Merlin
|
|
|
|
zbyszek82 |
Dodano 22-07-2015 21:03
|
User
Posty: 96
Dołączył: 15/02/2011 18:06
|
Panowie może i trochę głupie pytanie ale gdzie wpisuje się w napi2srt.py katalog gdzie mam filmy??
nie chce się ciągle wpisywać nap2srt.py /mnt/magazyn/torrenty
jak wpiszę tą scieżkę w p7zip = '/mnt/magazyn/torrenty/7za' to nic nie daje
### CONFIGURATION ###
# Path to p7zip program (http://p7zip.sourceforge.net/)
p7zip = "PATH TO 7za"
# Movies extensions
movie_ext = [".avi", ".mpg", ".mkv", ".mp4", ".rmvb", ".mov"]
### END OF CONFIGURATION ###
ASUS RT-AC68U +asus merlin
|
|
|
|
przemasisko |
Dodano 23-07-2015 09:34
|
Super User
Posty: 550
Dołączył: 17/05/2010 13:56
|
Nie da rady tak. Napisz sobie oddzielny skrypt i podpisz np. napisy.sh, wrzuć do /opt/bin.
A później w konsoli wpisujesz ./napisy.sh i hula :-)
Przykład (ścieżki sobie pozmieniaj):
#!/bin/sh
### KONFIGURACJA ###
dir_downloads=/mnt/downloads/pobrane
cd $dir_downloads && /mnt/scripts/services_share-p2p/others/subtitles/napi2srt.py $dir_downloads |
|
|
|
jano872 |
Dodano 19-09-2015 10:51
|
User
Posty: 2
Dołączył: 27/08/2015 08:09
|
Hej. Jestem tu nowy i słabo znam pythona ale mam N10U i AC68U i byłem dość zdeterminowany żeby sprzęt ściągał mi napisy do filmów. Nie działało to u mnie tak po prostu i wprowadziłem pewne zmiany - może komuś się to przyda...
Tytułem wstępu:
Na N10U używam tomato-K26USB-1.28.RT-N5x-MIPSR2-131-RT-N53.trx
Na AC68U używam tomato-RT-AC68U-ARM--131-AIO-64K.trx
Swoją drogą żeby zmusić AC68U do przyjęcia z powrotem oryginalnego firmware'u musiałem się nieźle nastarać. Pod tomato były błędy że header pliku jest zły (ściągałem z asusa), z recovery mode przyjmował plik, restartował i znowu było tomato, dopiero przejechałem go dd-wrt jakimś minimalnym to łaskawie w końcu przez recovery mode przyjął oryginalny firmware i nie marudził... Z ciekawości spróbowałem analogicznie z N10U - bez problemu za pierwszym razem przyjmuje oryginalny soft :)
No ale do sedna:
1. Mój TV przez DLNA przyjmuje napisy SRT w UTF-8 więc podmieniłem kawałek kodu::
def to_srt(self,list):
"""
Converts list of subtitles (internal format) to srt format
"""
outl = []
count = 1
for l in list:
secs1 = l[0]
h1 = int(secs1/3600)
m1 = int(int(secs1%3600)/60)
s1 = int(secs1%60)
f1 = (secs1 - int(secs1))*1000
secs2 = l[1]
h2 = int(secs2/3600)
m2 = int(int(secs2%3600)/60)
s2 = int(secs2%60)
f2 = (secs2 - int(secs2))*1000
temporary = "%d\n%.2d:%.2d:%.2d,%.3d --> %.2d:%.2d:%.2d,%.3d\n%s\n\n" % (count,h1,m1,s1,f1,h2,m2,s2,f2,"\n".join(l[2:]))
outl.append(temporary.decode('latin-1').encode('utf-8'))
count = count + 1
return outl
2. Nie działał u mnie na początku w ogóle skrypt - wyczytałem gdzieś żeby podmienić getFps na takie:
def getFps(file):
"""
Return fps from movie file
"""
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)
if fps == '23.98':
fps = '23.976'
return fps
(uwaga - wymaga dodatkowych pakietów)
3. Zauważyłem że dla niektórych napisów txt są problemy z ostatnimi liniami (są puste i nie spełniają wyrażenia autora przez co skrypt się wywala). To i wprowadziłem zmiany w mpl2:
def mpl2(mpl2file, fps):
""" mpl2 subtitles -> microdvd subtitles
author: i0cus@jabster.pl
license: http://creativecommons.org/licenses/by-nc-sa/3.0/deed.pl
"""
MPL2LINE = re.compile("\[(?P\d+)\]\[(?P\d+)\](?P.*)", re.S)
FRAMERATE = float(fps)
reader, writer = open(mpl2file), open('/tmp/t', 'w')
for line in reader:
if MPL2LINE.match(line) != None:
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)]
shutil.copy('/tmp/t', mpl2file)
Na pewno da się to wszystko lepiej napisać, ale tak u mnie działa. :)
Ponieważ temat mamy tutoriale to napiszę jak u mnie to działa (na obu routerach):
1. Podział dysku usb na dwie partycje - 1024MB jako SWAP (w sumie moje routery jeszcze tego swapa chyba nie potrzebowały ale dyski mamy tanie teraz) oraz reszta jako EXT-3
2. W konfiguracji routera (przez przeglądarkę) w scripts/init wpisuję:
lub
mount -o bind /tmp/mnt/sda2/opt/ /opt lub
mount -o bind /tmp/mnt/sdb2/opt/ /opt
Obie powyższe wersje zależą na którym routerze to robię (na jednym mam dodatkowo modem USB który jest widziany jako sda).
3. Wpisuje za pierwszym razem też te polecenia w konsoli, a potem:
cd /opt/
optware-install.sh
ipkg update
ipkg install p7zip python transcode vim findutils bash
wget http://update.groov.pl/napi/napi2srt.py -O /opt/bin/napi2srt.py && chmod +x /opt/bin/napi2srt.py
Następnie zmiany w napi2srt.py o których pisałem na początku.
To wystarczyło żeby uruchomić skrypt u mnie.
pozdrawiam!
Połączony z 19 wrzesień 2015 11:33:51:
Sorki za osobny post, ale już edytować nie mogę;)
W ostatnim kodzie źródłowy z mojego tutka brakuje jeszcze:
ipkg install libxml2
Pisałem o nim na początku ale potem go nie wkleiłem :)
Edytowany przez jano872 dnia 19-09-2015 11:33
|
|
|
|
kevin91 |
Dodano 30-10-2018 08:49
|
User
Posty: 1
Dołączył: 30/10/2018 08:41
|
amazing post
Olpair com |
|
|