How-To QNAP sam szuka napisów do filmów

Dyskusja w 'Oh'Linux? Software hacking' rozpoczęta przez użytkownika Nicodem, 15 Luty 2009.

Ładowanie...
  1. Nicodem
    Offline

    Nicodem Staff Contributor

    Dołączył:
    15 Sierpień 2008
    Wiadomości:
    132
    Miejscowość:
    Warszawa
    Oceny:
    +3 / 0 / -0
    Local Time:
    05:24
    Followers:
    1
    HOW-TO to to nie jest :). Na razie mocno skomplikowana sprawa ale może z czasem uda się to jakoś wrzucić mi lub komuś w skrypt automatyzujący wszystko. Osoby kiepsko poruszające się w linux'ie będą jeszcze musiały poczekać...

    Co trzeba mieć zainstalowane:
    z ipkg:
    busybox
    p7zip

    z QPKG:
    Python

    Skrypt sciagajacy napisy od http://hacking.apcoh.com/:
    http://napi.py.googlepages.com/napi.py który wrzucamy do /usr/local/bin

    Co robimy?
    Po pierwsze zmiana chroot na rootfs_2_3_6:
    # chroot /mnt/HDA_ROOT/rootfs_2_3_6

    w przypadku różnych konfiguracji RAID HDA_ROOT należy zamienić na odpowiednik.

    będąc już w chroot będziemy mogli odpalić skrypty w Python'ie
    busybox był potrzebny do rozwinięcia komendy find
    wchodzimy do katalogu w którym mieszczą się filmy (mogą być w podkatalogach) i np dla filmów AVI odpalamy komende:
    busybox find -type f -name "*.avi" -exec napi.py "{}" \; > napisy.txt
    i czekamy spokojnie na napisy. Jeśli napisy istnieją w napistrefie to zostaną ściągnięte. Lista ściągniętych napisów znajdzie się
    na koniec w pliku napisy.txt

    to tyle. Oczywiście temat wymaga poważnego rozwinięcia. Przydałoby się zapamiętywać które napisy już są, umożliwiać konwersję np do SRT itp itd. Można uruchomić find z opcją np -mtime -30 (czyli pliki nie starsze niż 30 dni. Do konwersji użyć subconv (http://sourceforge.net/projects/subconv/)
    To tylko mała 'zajawka' tego co można zrobić bezpośrednio na QNAPie.
     
  2. dagon
    Offline

    dagon Nowy użytkownik Noobie

    Dołączył:
    31 Grudzień 2009
    Wiadomości:
    4
    Oceny:
    +0 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    Jezeli to komus ułatwi sprawę to napisałem skrypcik w bashu, eliminując tym samym konieczność używania pythona do ściągania napisów.

    Wymaga następujących narzędzi:
    - md5sum
    - p7zip
    - dd
    - md5sum

    Link tutaj:
    https://sourceforge.net/projects/bashna ... z/download

    Niedługo powstanie również wersja kompletnie nie wymagająca 7zipa.
     
  3. slr
    Online

    slr Guest

    Oceny:
    +0 / 0 / -0
    Followers:
    0
    jezeli ktos jest chetny mam skrypt ktory:

    - sciaga napisy z napiprojekt
    - konwertuje je do srt
    - sciaga okladke filmu (mozna wylaczyc w konfigu)
    - kasuje plik .txt (mozna wylaczyc w konfigu)

    oczywiscie wszystko sie robi jedno po drugim po wydaniu jednej komendy, mozna pobrac napisy do jednego filmu lub calego katalogu z okresleniem sciezki lub tam gdzie sie go odpali.

    Dzisiaj go testowalem na QNAP TS-210 i dziala OK :)
     
  4. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    5 654
    Miejscowość:
    Nowy Sącz
    Oceny:
    +1 241 / 26 / -5
    Local Time:
    05:24
    Followers:
    22
    QNAP:
    TVS-x63
    Ethernet:
    1 GbE
    TVS-x63 1 GbE
    to wrzucaj program, pisz tutka jak go zainstalowac! ;]
     
  5. jagiel
    Offline

    jagiel Nowy użytkownik Noobie

    Dołączył:
    11 Wrzesień 2010
    Wiadomości:
    14
    Oceny:
    +0 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    Panowie, ktoś podrzuci ten sofcik?
     
  6. slr
    Online

    slr Guest

    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Witam

    Oto program zapozyczony z forum o xtreamerze autorstwa lkemot. Przerobilem pare linijek w nim by dzialal na QNAP TS-210 ale mysle ze powinien w tej konfiguracji dzialac na kazdym QNAPie. Jezeli nie mysle ze silas lub ktos inny obeznany w polozeniach niektorych programow przerobi szybko to pod inne wersje QNAPa jezeli oczywiscie bedzie cos na innych nie dzialac.

    Program sciaga napisy z napiprojekt i konwertuje je z .txt do .srt

    1. Instalujemy biblioteki

    ipkg install bash
    ipkg install file
    ipkg install python

    2. Wrzucamy zawartosc archiwum do (jakos tak sie przyzwyczailem do wrzucania do sbin :) ):

    /share/MD0_DATA/.qpkg/Optware/sbin

    3. Zmieniamy prawa na plikach:

    chmod 775 /share/MD0_DATA/.qpkg/Optware/sbin/napisy
    chmod 775 /share/MD0_DATA/.qpkg/Optware/sbin/subconv.py
    chmod 775 /share/MD0_DATA/.qpkg/Optware/sbin/pynapi.py

    4. Uruchamiamy skrypt z dowolnego miejsca (najlepiej w katalogu z dana pozycja do ktorej chcemy zassac napisy):

    napisy -o .

    - skrypt w danym katalogu odszuka pliki typu .avi .mkv i zacznie szukac na napiprojekt do nich napisow
    - zamiast . mozna wskazac dana lokalizacje pliku lub katalogu ktory ma byc przeszukany, uwazam jednak ze najlepiej wychodzi wejscie do katalogu z serialem lub filmem i odpalenie skryptu wtedy mamy pewnosc ze program szuka tylko do tego napisow
    - parametr -o nie pobiera okladek do filmow poniewaz tez jest taka opcja lecz uwazam ja za zbedna poniewaz do czegos takiego swietnie np spisuje sie thumbgen

    mysle ze to tyle i wszystkim powinno smigac bez problemu :) u mnie na TS-210 dziala bez zajakniecia i po skonczonej pracy mam juz gotowy plik .srt czyli taki jaki dziala na kazdym pleyerze w komputerze jak i stacjonarnych sieciowych typu popcorn, xtreamer, icybox, ariva, hyundai, asus o!play itd... wszytskie one wymagaja napisow polskich w formacje .srt i wlasnie do tego zostal stworzony ten skrypt przez kolege lkemot z forum xtreamera za co duzo ludzi jest mu wdziecznych :)
     

    Załączone pliki:

    • napisy.rar
      Rozmiar pliku:
      7,5 KB
      Wyświetleń:
      140
      MD5 Sum:
      1cb9daae7ce945b89563769199b5fe9d
  7. 87marcin
    Offline

    87marcin Passing Basics Beginner

    Dołączył:
    19 Wrzesień 2010
    Wiadomości:
    12
    Oceny:
    +2 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    QNAP:
    TS-110
    Ethernet:
    100 Mbps
    TS-110 100 Mbps
    Dzięki bardzo. Po lekkim przerobieniu działa super na TS-110.
     
  8. slr
    Online

    slr Guest

    Oceny:
    +0 / 0 / -0
    Followers:
    0
    to jak mozesz wstaw tez wersje pod twojego qnapa zeby nastepni nie musieli sie juz trudzic z przerobkami :) Moja wersja dziala pod TS-210 :) na innych tez powinna ale jak widac cos tzreba bylo zmienic :) opisz co i jak i dodaj twoja wersje tez :)
     
  9. Paollo
    Offline

    Paollo Entry Technician Q Associate

    Dołączył:
    1 Grudzień 2008
    Wiadomości:
    60
    Miejscowość:
    Kraków/Wieliczka
    Oceny:
    +17 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    QNAP:
    TS-x69L
    Ethernet:
    1 GbE
    TS-x69L 1 GbE
    Na TS-409 z RAID5 niestety nie działa. Utworzone zostają jedynie przypadkowe pliki .txt zawierające informację o nieznalezieniu pliku tymczasowego. Skrypt odpalany jest z katalogu z filmami bez napisów. Pozdrawiam!
     
  10. 87marcin
    Offline

    87marcin Passing Basics Beginner

    Dołączył:
    19 Wrzesień 2010
    Wiadomości:
    12
    Oceny:
    +2 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    QNAP:
    TS-110
    Ethernet:
    100 Mbps
    TS-110 100 Mbps
    Qnap TS-110 ma inne oznaczenie dysku, wystarczyło tylko zmienić w skryptach lokalizacje:

    z
    /share/MD0_DATA/.qpkg/Optware/sbin
    na
    /share/HDA_DATA/.qpkg/Optware/sbin

    Na innych Qnapach może być podobnie. Dlatego należy sprawdzić jakie mamy oznaczenia dysków.

    Instrukcja krok po kroku ;) :

    1. Logujemy się do naszego Qnapa przez SSH.

    2. Wpisujemy cd /

    3. Instalujemy biblioteki
    (jeśli mamy zainstalowane Optware z QPKG)

    ipkg install bash
    ipkg install file
    ipkg install python

    4. Następnie wpisujemy

    # cd /share/
    # ls
    wyświetla się lista katalogów
    przechodzimy do pierwszego
    # cd /XXX_DATA/
    gdzie XXX to nazwa dysku
    # cd /.qpkg/Optware/sbin
    Tutaj kopiujemy zawartość archiwum (najlepiej przez mc)

    5. Zmieniamy prawa na plikach:

    chmod 775 /share/XXX_DATA/.qpkg/Optware/sbin/napisy
    chmod 775 /share/XXX_DATA/.qpkg/Optware/sbin/subconv.py
    chmod 775 /share/XXX_DATA/.qpkg/Optware/sbin/pynapi.py

    6. Będąc cały czas w katalogu sbin

    # vi napisy
    Tutaj zmieniamy w pierwszej linijce
    !/share/HDA_DATA/.qpkg/Optware/bin/bash
    na
    !/share/XXX_DATA/.qpkg/Optware/bin/bash
    gdzie XXX to nazwa Twojego dysku

    analogicznie robimy to w:
    # Lokalizacja programów
    progNapi="/share/XXX_DATA/.qpkg/Optware/sbin/pynapi.py"
    progFile="/share/XXX_DATA/.qpkg/Optware/bin/file"
    progMediaInfo="/usr/bin/mediainfo"
    progSubConv="/share/XXX_DATA/.qpkg/Optware/sbin/subconv.py -f"

    Zapisujemy i zamykamy plik napisy (klawisz ESC i wpisujemy :wq)

    # vi pynapi.py
    zmieniamy tę linijkę na swoje oznaczenie dysku:
    #!/share/XXX_DATA/.qpkg/Optware/bin/python
    Zapisujemy i zamykamy plik pynapi.py

    W pliku subconv.py robimy to samo co w pynapi.py


    7. Uruchamiamy skrypt z dowolnego miejsca

    napisy -o .
    Lub
    napisy -o nazwa_pliku

    Mam nadzieję że pomogłem.
    Załączam działający skrypt na TS-110.
    Pozdrawiam
     

    Załączone pliki:

    • napisy v. TS-110.rar
      Rozmiar pliku:
      7,5 KB
      Wyświetleń:
      91
      MD5 Sum:
      c6724eeec4fcc72b33662042552d0c00
    • Wygrany! Wygrany! x 1
  11. Paollo
    Offline

    Paollo Entry Technician Q Associate

    Dołączył:
    1 Grudzień 2008
    Wiadomości:
    60
    Miejscowość:
    Kraków/Wieliczka
    Oceny:
    +17 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    QNAP:
    TS-x69L
    Ethernet:
    1 GbE
    TS-x69L 1 GbE
    Po sprawdzeniu wszystkich odwołań do dysku w skryptach (MD0 na TS-409 z RAID5) nadal jest jakiś problem.

    W przypadku nieznalezienia napisów niby wyświetla się poprawny tekst "Subtitles NOT FOUND". Jednak, gdy napisy zostają znalezione, zostaje jedynie utworzony plik nazwa_filmu.txt o zawartości "brak pliku tymczasowego".

    Proszę o wskazówki. Pozdrawiam!
     
  12. eject
    Offline

    eject Systems Admin... Q's Expert

    Dołączył:
    4 Styczeń 2010
    Wiadomości:
    323
    Miejscowość:
    Bydgoszcz
    Oceny:
    +1 / 0 / -0
    Local Time:
    05:24
    Followers:
    1
    QNAP:
    null
    Synology:
    DS109+
    Ethernet:
    1 GbE
    null 1 GbE
    skrypt po instalacji od nowa nie chce działać jak powinien ;/

    Kod (Text):
    1. Pobranie napisĂłw dla Bones.S06E14.HDTV.XviD-LOL.avi
    2. pynapi.py: Subtitles language `pl'. Finding video files...
    3. pynapi.py: 1/1: Processing subtitle for /volume1/public/bones6/Bones.S06E14.HDTV.XviD-LOL.avi
    4. pynapi.py: 1/1: SUBTITLE STORED (48940 bytes), .jpeg COVER STORED (7148 bytes)
    5. /opt/bin/napisy.find: line 68: [: too many arguments
    6. fps wynosi lags!
    7. lags!
    8. lags!
    9. lags!
    10. lags!
    11. lags!
    12. lags!
    13. lags!
    14. lags!
    15. lags!
    16. lags!
    17. lags!
    18. lags!
    19. 23.98
    20. Traceback (most recent call last):
    21.   File "/opt/bin/subconv.py", line 398, in <module>
    22.     fps = float(arg)
    23. ValueError: invalid literal for float(): lags!
    24. lags!
    25. lags!
    26. lags!
    27. lags!
    28. lags!
    29. lags!
    30. lags!
    31. lags!
    32. lags!
    33. lags!
    34. lags!
    35. lags!
    36. 23.98
    37. Błąd konwersji lub plik Srt jest pusty
    38.  
    jakieś pomysły?? ;/
     
  13. 87marcin
    Offline

    87marcin Passing Basics Beginner

    Dołączył:
    19 Wrzesień 2010
    Wiadomości:
    12
    Oceny:
    +2 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    QNAP:
    TS-110
    Ethernet:
    100 Mbps
    TS-110 100 Mbps
    Prawdopodobnie nie zmieniłeś praw na plikach, dlatego nie może utworzyć pliku tymczasowego.

    Napisałem to we wcześniejszym poście:
    5. Zmieniamy prawa na plikach:

    chmod 775 /share/XXX_DATA/.qpkg/Optware/sbin/napisy
    chmod 775 /share/XXX_DATA/.qpkg/Optware/sbin/subconv.py
    chmod 775 /share/XXX_DATA/.qpkg/Optware/sbin/pynapi.py
     
  14. Paollo
    Offline

    Paollo Entry Technician Q Associate

    Dołączył:
    1 Grudzień 2008
    Wiadomości:
    60
    Miejscowość:
    Kraków/Wieliczka
    Oceny:
    +17 / 0 / -0
    Local Time:
    05:24
    Followers:
    0
    QNAP:
    TS-x69L
    Ethernet:
    1 GbE
    TS-x69L 1 GbE
    Prawa są ok. Nie mam natomiast pliku mediainfo. :-(
     
Ładowanie...