QNapi / qnapi

Qt-based, multi-engine, multi-platform subtitle downloader
http://qnapi.github.io
291 stars 39 forks source link

Support for napiprojekt uri #35

Open skoruppa opened 8 years ago

skoruppa commented 8 years ago

It would be nice if qnapi could support napiprojekt uris that can be found on its website. Like

napiprojekt:1ff7b3eaf2f16989af8290e5b7b8a1cf

More examples can be found on "movie subtitles page" like http://www.napiprojekt.pl/napisy1,1,1-dla-20943-Sintel-(2010) . This future is pretty useful when qnapi can't find subtitles for your version of movie but you still want to try with other versions anyway

eremitis commented 8 years ago

+1

tasiek commented 8 years ago

+1

stil commented 8 years ago

Very good idea. It happens to me often, that QNapi won't find matching subtitles. However when you search subtitles manually on napiprojekt catalogue, it's often possible to find subtitles just by looking at FPS and video duration.

It forced me to keep both qnapi and napiprojekt programs installed, because qnapi alone won't open napiprojekt URIs.

Neurovert commented 7 years ago

This is a must have for Polish users. Napiprojekt has the best Polish subtitles database far better than OpenSubtitles. I haven't yet checked how QNapi finds the right subtitles, but it seems like it video duration isn't a major factor, and because of that it leaves out tons of subtitles. I might work on adding uri support myself. Don't know when yet, but it'd be my little hobby project.

@krzemin Have you maybe tried to implement it already?

krzemin commented 7 years ago

@Vioner nope, I didn't try implementing that. The main problem here is that Napiprojekt has no open API for programmers. Currently QNapi uses legacy method: compute md5 checksum of first 10MB of file and then fetch .zip file with subtitles. I agree it would be nice to have alternative search/download methods like uri, looking by filename, video metadata (duration, resolution and so on), but without proper API support on the remote service this is hardly possible.

I know that Napiprojekt official application uses some API, but I don't have time to reverse engineer that. If you can work it out and provide description of how to download .zip file (or subtitles itself) basing on uri or video metadata, it would be awesome. Working source code (in any language, not necessarily integrated with QNapi) would be excellent.

Neurovert commented 7 years ago

@krzemin Right... I didn't knew their API is closed. I'll definitely analyze the options and see what I can do about it. I'll also probably reach out to Napiprojekt maintainer. Thanks for the quick reply.

stil commented 7 years ago

Request format:

curl -X POST -F mode=17 -F client=NapiProjekt -F client_ver=2.2.0.2399 -F user_nick= -F user_password= -F downloaded_subtitles_id=e35b971b32d0f8872d4d906d319877e3 -F downloaded_subtitles_lang=PL -F the=end http://napiprojekt.pl/api/api-napiprojekt3.php

Response is formatted as XML:

<?xml version="1.0"?>
<result>
    <status>success</status>
    <subtitles>
        <id>e35b971b32d0f8872d4d906d319877e3</id>
        <subs_hash>77f45a586dd4814ed4344fa4f40852eb</subs_hash>
        <filesize>17163</filesize>
        <author>Danuta Dowjat</author>
        <uploader>boro259</uploader>
        <upload_date>2016-10-31 14:37:44</upload_date>
        <content>
            <![CDATA[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]]>
        </content>
    </subtitles>
    <additional_message>
        <location>http://www.napiprojekt.pl/messages/wsparcie2.php?june</location>
        <runs>5</runs>
        <installed_after>15</installed_after>
    </additional_message>
    <update_info>
        <version_number>2.2.0.2399</version_number>
        <download_url>http://napiprojekt.pl/download/</download_url>
        <latest_changes>&#xD; NapiProjekt 2.2.0.2399 (2013-09-30)&#xD; - Mo&#x17C;liwo&#x15B;&#x107; zdefiniowania kilku profil&#xF3;w pobieranych napis&#xF3;w &#xD; - Program odporny na b&#x142;&#x119;dne nazwy folder&#xF3;w (zawieraj&#x105;ce np. niedopuszczone przez Windows znaki ':')&#xD; - Instalator programu dodaje wyj&#x105;tek do zapory Windows (naprawa komunikacji z serwerem w niekt&#xF3;rych przypadkach)&#xD; - Poprawione wyszukiwanie napis&#xF3;w na dysku&#xD; &#xD; &#xD; NapiProjekt 2.1.1.2310 (2013-06-13)&#xD; - Opcja automatycznego wyszukwiania napis&#xF3;w po uruchomieniu 'kolejki oczekuj&#x105;cych'&#xD; - Poprawiono b&#x142;&#x105;d dotycz&#x105;cy znikania okienka 'kolejka oczekuj&#x105;cych'&#xD; - Wersja portable (plik ustawienia.ini nalezy przenie&#x15B;&#x107; do katalogu z programem)&#xD; - Likiwidacja zg&#x142;oszonych b&#x142;&#x119;d&#xF3;w&#xD; - Program nie sprawdza braku menu 'znajd&#x17A; i dopasuj napisy' dla plik&#xF3;w '*.oga, *.ogg, *.spx, *.ram, *.ogx, *.ra'&#xD; - Usuni&#x119;to zg&#x142;oszone b&#x142;&#x119;dy&#xD; &#xD;
        </latest_changes>
    </update_info>
    <response_time>0.008 s.</response_time>
</result>

result/subtitles/content is Base64 encoded 7-Zip archive. Password encrypted. Any idea what is the password?

stil commented 7 years ago

OK, password is the same as in napiprojektdownloadengine.cpp#L42.

stil commented 7 years ago

Since this issue is pretty old and we watch movies all the time, I've created add-ons for Firefox and Chrome to help.

They allow you to quickly download subtitles from NapiProjekt.pl catalog without the need of installing programs on your computer. It just works.

Links https://addons.mozilla.org/pl/firefox/addon/napi/ https://chrome.google.com/webstore/detail/napihelper/jebnegelidgapoglopbhcmadcjhgegic

:poland: Dla wszystkich którzy korzystają z katalogu napiprojekt ale nie chcą lub nie mogą zainstalować ich aplikacji na komputerze, wrzuciłem dodatki do Firefoxa i Chrome. Od teraz możecie pobierać napisy z katalogu bezpośrednio w przeglądarce.

Neurovert commented 7 years ago

@stil Works great! Thanks!

krzmaz commented 5 years ago

Hi there, sorry for digging this old issue up, but it seems that the problem is still relevant (for me at least :wink: ) and the Chrome add-on doesn't work anymore ( https://api.napi.site/unpackSubs throws error 200), so I've written a crude bash script for people who might also find this issue: https://github.com/krzmazur1/My_useful_bash_scripts/blob/master/NapiprojektSubtitlesDownloader.sh

skoruppa commented 3 years ago

Since this issue is pretty old and we watch movies all the time, I've created add-ons for Firefox and Chrome to help.

They allow you to quickly download subtitles from NapiProjekt.pl catalog without the need of installing programs on your computer. It just works.

Links https://addons.mozilla.org/pl/firefox/addon/napi/ https://chrome.google.com/webstore/detail/napihelper/jebnegelidgapoglopbhcmadcjhgegic

Dla wszystkich którzy korzystają z katalogu napiprojekt ale nie chcą lub nie mogą zainstalować ich aplikacji na komputerze, wrzuciłem dodatki do Firefoxa i Chrome. Od teraz możecie pobierać napisy z katalogu bezpośrednio w przeglądarce.

@still Od jakiegoś czasu Twoja wtyczka nie działa (https://api.napi.site/unpackSubs nie odpowiada). Chciałbyś udostępnić kod swojego dodatku abyśmy mogli go dostosować? Wtyczka była zdecydowanie najwygodniejsza ;)