1 (edytowany przez baniaczek 2012-01-13 00:38:22)

Temat: Napiprojekt

Obiecałem,

że za mediainfo dla openwrt nasmaruję dwa słowa o napiprojekcie i integracji z pyLoad

W skrócie: chodzi o to, żeby:
Po pierwsze - można było z poziomu openwrt wyszukać, pobrać i ewentualnie skonwertować do formatu SRT napisy do filmu.
Po drugie - żeby (po pierwsze) działo się automatycznie po pobraniu pliku z filmem.

napiprojekt

Bardzo obiecującą wersję linuksowego napiprojektu można znaleźć na blogu  Tomasza Wiśniewskiego. Jest tam skrypt napi.sh do automatycznego pobierania napisów i subotage.sh do ich konwersji na inny format.

Trzeba będzie zainstalować kilka pakietów - jeśli nie masz extroota, to postępuj rozważnie.

opkg update
opkg install bash coreutils-stat 
opkg install mediainfo 
opkg install curl

Jeśli korzystasz z oryginalnego OpenWrt - mediainfo trzeba ściągnąć z ecco.selfip.net. Jakoś tak:

opkg install http://ecco.selfip.net/backfire/ar71xx/packages/mediainfo_0.7.50-1_ar71xx.ipk

curl (oraz libcurl) jest tu potrzebny tylko do pobrania plików z sourceforge. Jeśli nie jest potrzebny w systemie, to można je potem usunąć.

Pobieramy i instalujemy skrypty:

cd /tmp
curl -L -o napiprojekt http://sourceforge.net/projects/bashnapi/files/latest/download
tar xvzf napiprojekt > /dev/null
cp napi*/napi.sh /usr/bin
cp napi*/subotage*/subotage.sh /usr/bin
[ -f /usr/bin/napi.sh ]     || echo "Brakuje napi.sh"
[ -f /usr/bin/subotage.sh ] || echo "Brakuje subotage.sh"
chmod +x /usr/bin/napi.sh
chmod +x /usr/bin/subotage.sh
rm -R napi
rm napiprojekt
sed -i -e "s/g_FpsTool[ \t]*=[ \t]*\"\"/g_FpsTool=\"mediainfo\"/" /usr/bin/napi.sh
sed -i -e "s/g_SubotagePresence[ \t]*=[ \t]*0/g_SubotagePresence=1/" /usr/bin/napi.sh
sed -i -e "s/#rm[ \t]*-rf[ \t]*\"\$g_ProcTmpFile\"/rm -f \"\$g_ProcTmpFile\"/" /usr/bin/subotage.sh
ln -s /proc/self/fd /dev/fd
cd -

I już. Kawałek kodu powyżej: ściąga, rozpakowuje, instaluje i integruje najnowszą wersję skryptów.

Od tego momentu powinno działać polecenie

napi.sh

i różne opcje. Na przykład:

napi.sh -s -c -f subrip katalog_z_filmami

powinno przejrzeć wskazany katalog i wszystkie jego podkatalogi, dla każdego znalezionego filmu dopasować odpowiednią okładkę płyty oraz napisy i skonwertować je do SRT.

Integracja z pyload

Po pierwsze - trzeba upewnić się, czy w pyload jest włączony (activated=on) plugin ExternalScripts. Albo z poziomu GUI, albo zajrzeć do /root/.pyload/plugin.conf
W katalogu /root/.pyload/scripts/download_finished/ tworzymy nowy plik - skrypt, o dowolnej nazwie. U mnie nazywa się "/root/.pyload/scripts/download_finished/napiprojekt.sh".

Zawartość pliku /root/.pyload/scripts/download_finished/napiprojekt.sh:

#!/bin/sh
#
# Napipojekt for pyLoad

NAPILOG=/tmp/napiprojekt
if [ "$NAPILOG" != "" ]; then
        NAPILOG_THIS="${NAPILOG}.${$}.log"
        NAPILOG_OPTION="-l $NAPILOG_THIS"
        NAPILOG="${NAPILOG}.log"
fi

echo "$5"|grep -E -i "\.(avi|rmvb|mov|mp4|mpg|mkv|mpeg|wmv)$"
if [ $? -eq 0 ]; then
        napi.sh -s -c -f subrip $NAPILOG_OPTION "$5"
        if [ "$NAPILOG" != "" ]; then
                cat "$NAPILOG_THIS">>"$NAPILOG"
                rm -f  "$NAPILOG_THIS"
        fi
fi

Skryptowi należy nadać atrybut wykonywalności:

chmod +x /root/.pyload/scripts/download_finished/napiprojekt.sh

i (ważne!) zrestartować pyLoad.
Można skrypt na próbę uruchomić tak:

/root/.pyload/scripts/download_finished/napiprojekt.sh 1 2 3 4 Pelna_sciezka_do_pliku_video

- jeśli dany film jest w bazie napiprojektu, to w katalogu z filmem powinny się pojawić pliki jpg, txt oraz srt. Log z działania skryptu jest zapisywany w /tmp/napiprojekt.log
A można skryptu nie uruchamiać na próbę, tylko od razu pobrać jakiś film i sprawdzić, czy pojawiły się automagicznie napisy do niego

2

Odp: Napiprojekt

Fajne, swoją drogą na platforme x86 jest app do napiprojekt zwie się qnapi.

3 (edytowany przez carlo497 2012-07-07 09:53:20)

Odp: Napiprojekt

Mam problem z konwersją napisów na subrip coś się pieprzy i mam źle podane czasy/klatki wyświetlania napisów w pliku srt. Jak ściągam przez napiprojekt na windzie a potem konwertuje na srt to wszystko jest ok. A tak poza tym to napiprojekt posiada już napisy srt od razu do ściągnięcia nie da się przerobić tego skryptu tak żeby konwersja na subrip nie była wymagana?

Edit: tutaj przykład błędu w konwersji

00:00:00,000 --> 00:00:03,000
0:00:30,771 --> 00:00:33,149
 Jaki gatunek?
- Nie wiem.
 

2
02:00:00,000 --> 02:00:03,000


3
00:00:00,000 --> 00:00:03,000
0:00:33,399 --> 00:00:34,316
iały.
 

4
03:00:00,000 --> 03:00:03,000


5
00:00:00,000 --> 00:00:03,000
0:00:35,192 --> 00:00:38,070
- A ramka?
 Czarna.
 

6
04:00:00,000 --> 04:00:03,000


7
00:00:00,000 --> 00:00:03,000
0:00:37,778 --> 00:00:39,280
naczek?
 

8
05:00:00,000 --> 05:00:03,000


9
00:00:00,000 --> 00:00:03,000
0:00:39,405 --> 00:00:41,907
Ten sam, co poprzednio.

4

Odp: Napiprojekt

Witam
Zainstalowałem napi, przeskanowałem dysk i znalazł mi parę nowych napisów. niestety po chwili wywalił mi sie router i zresetował. próbowałem znów to zrobić i wyskakuje
napi.sh -s -c -f subrip /mnt/Dysk_Sieciowy/Filmy/720p/

==================
Wywolano o [Thu Jul  5 20:51:45 UTC 2012]
==================

Przeszukuje zawartosc katalogu: ["/mnt/Dysk_Sieciowy/Filmy/720p/"]...
/usr/bin/napi.sh: line 250: /dev/fd/62: No such file or directory
Katalog zawiera 0 plikow

===================
Koniec
Pominieto:    [0]
Pobrano:    [0]
Niedostepne:    [0]
Lacznie:    [0]
===================

5

Odp: Napiprojekt

This is a quick fix: we create the /dev/fd link manually:

ln -s /proc/self/fd /dev/fd

6

Odp: Napiprojekt

znów mi sie sam zresetował. Jak może to być przyczyna i dlaczego po tym zdarzeniu znów muszę robić dowiązanie
ln -s /proc/self/fd /dev/fd

7 (edytowany przez carlo497 2012-07-07 20:45:21)

Odp: Napiprojekt

Nie wiem czemu się zrestartował może masz za dużo usług odpalonych. Masz swapa? U mnie 50 filmów skanuje w około minute. Ja dowiązanie zrobiłem raz i pozbyłem się tego problemu

8

Odp: Napiprojekt

mam swap, ale pisze mi w dmesg, że muszę zrobić e2fsck ale nie mogę tym zrobić. jest jakiś inny program do sprawdzania swap

9

Odp: Napiprojekt

e2fsck służy do sprawdzania systemu plików ext a nie swap

10

Odp: Napiprojekt

to wiem że tym programem nie sprawdzę. A jaki jest program do sprawdzania swap ??? bo nie mge znaleść w necie

11

Odp: Napiprojekt

Nie ma czegoś takeigo. mkswap zrób po prostu jeszcze raz jak bardzo tego chcesz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: Napiprojekt

jak wygląda dostępność mediainfo pod AA ?

Gateway :Topton Intel Core i3-N305 16GB RAM 6x i226-V 2.5GbE
AP: 3x Netgear WAX220

13

Odp: Napiprojekt

Nie ma na chwilę obecną.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: Napiprojekt

Cezary napisał/a:

Nie ma na chwilę obecną.

Mimo to działa ta z backfire smile

Xiaomi AX3200, AX3600, 3G, 4A

15

Odp: Napiprojekt

Godot możesz mi podpowiedzieć jak zainstalowałeś mediainfo z backfire? Mam Gargoyle AA i coś mi nie idzie wink

root@Gargoyle:~# opkg install http://ecco.selfip.net/old/backfire/ar71xx/packages/mediainfo_0.7.50-1_ar71xx.ipk
ERROR: No package named http://ecco.selfip.net/old/backfire/ar71xx/packages/mediainfo_0.7.50-1_ar71xx.ipk found, try updating your package lists

Jak pobrałem sobie lokalnie pliki to dostałem segmentation fault

root@Gargoyle:~# opkg install mediainfo_0.7.50-1_ar71xx.ipk
Segmentation fault
root@Gargoyle:~# opkg install mediainfo
Segmentation fault

Będę wdzięczny za podpowiedź.

16

Odp: Napiprojekt

Nie uruchomisz programu z Backfire na systemie z AA.

17

Odp: Napiprojekt

Tak myślełem, ale wyżej przeczytałem

Godot napisał/a:

Mimo to działa ta z backfire smile

Więc komuś sie to udało.
Jest jakaś inna możliwość instalacji mediainfo? lub inaczej co trzeba zrobić aby je zainstalować?

18

Odp: Napiprojekt

W większości przypadków pakiety z backfire działają w AA.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19 (edytowany przez droopy 2013-10-16 12:10:01)

Odp: Napiprojekt

Cezary napisał/a:

W większości przypadków pakiety z backfire działają w AA.

Cezary a możesz zerknąć wyżej na mój post i coś podpowiedzieć, może nie tak to chciałem zainstalować.

20

Odp: Napiprojekt

opkg install opkg
cd /tmp
wget http://ecco.selfip.net/old/backfire/ar71xx/packages/mediainfo_0.7.50-1_ar71xx.ipk
opkg install mediainfo_0.7.50-1_ar71xx.ipk

?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Napiprojekt

No pięknie, teraz jest ok, nie sprawdzałem czy działa ale instalacja z sukcesem, cały proces poniżej ponieważ w moim przypadku pojawiły się jakieś pakiety zależne których brakowało:

opkg install opkg
cd /tmp
wget http://ecco.selfip.net/old/backfire/ar71xx/packages/mediainfo_0.7.50-1_ar71xx.ipk
wget http://ecco.selfip.net/old/backfire/ar71xx/packages/libmediainfo_0.7.50-1_ar71xx.ipk
wget http://ecco.selfip.net/old/backfire/ar71xx/packages/libzen_0.4.20-1_ar71xx.ipk

opkg install libzen_0.4.20-1_ar71xx.ipk
opkg install libmediainfo_0.7.50-1_ar71xx.ipk
opkg install mediainfo_0.7.50-1_ar71xx.ipk

22

Odp: Napiprojekt

No tak, zależności oczywiście potrzebujesz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: Napiprojekt

Witam!
Posiadam WDR4300 z Gargulcem. Zrobiony extroot.
napi.sh działa, ale subotage już nie bardzo. Dokładnie to brakuje mi paczki libzen.
Te dwie:
wget http://dl.eko.one.pl/old/backfire/ar71x … ar71xx.ipk
wget http://dl.eko.one.pl/old/backfire/ar71x … ar71xx.ipk

pobrałem. Jednak libzen nie mogę znaleźć nigdzie, a libmediainfo nie chce się zainstalować bez tego.

WDR4300 / BB OpenWRT+Luci / ZTE MF821 (Play LTE) w/ Extroot on uSD
MR3220 / OpenWRT (repeater WiFi)
FSC Futro S450 jako domowy serwer powered by Debian

24

Odp: Napiprojekt

Niestety po upgrade gargolye, zabrałem się za instalację rewelacyjnego napiprojektu i również odbiłem się o zależność libzen_0.4.20-1_ar71xx.ipk. Nigdzie w odęmtach internetu nie mogę tego znależć, czy ktoś może dysponuje tym pakietem?

25

Odp: Napiprojekt

Witam, poszukuje tak jak kolega powyżej pakietu libzen_0.4.20-1_ar71xx.ipk.
Czy ktoś może pomóc? Bez tego nie mogę zainstalować i skonfigurować napi.