![]() |
Downloader - Verze k tisku +- XBMC-Kodi.cz (https://www.xbmc-kodi.cz) +-- Fórum: KODI - Doplňky (https://www.xbmc-kodi.cz/forum-kodi-doplnky) +--- Fórum: Programy a hry (https://www.xbmc-kodi.cz/forum-programy-a-hry) +--- Téma: Downloader (/prispevek-downloader) |
Downloader - JiRo - 03.7.2024 Downloader nedělá nic jiného, než že využije informace příslušného doplňku o vybraném obsahu a příslušnou identifikaci, ve formě, které říkám job, předá cílové aplikaci, která provede vlastní stažení obsahu nezávisle na příslušném doplňku a případně i na Kodi. Počítám s tím, že cílová aplikace může (či spíše, že by měla) mít možnost běžet na jiném systému, než vlastní Kodi. Jde tedy o kombinaci Kodi, jeho různých video doplňků, vlastního doplňku Downloader, a nakonec cílové aplikace, které můžeme říkat Download Manager, která na základě doplňkem vytořených job-ů, provádí vlastní stahování. Rozdělení funkce se zdá bát krkolomné a možná až zbytečné, ale já mám s tímto řešením celkem dobré zkušenosti. Jak to funguje?
Download Manager Mým prvotním záměrem bylo používat jako download manager nějakou standardní aplikaci. První testy jsem dělal na NAS s celkme rozšířenou aplikací JDownloader. Vyvářel jsme pro něj job-y v očekávaném formátu a první pokusy byly celkem zajímavé. Postupně jsme ale přešel k vlastnímu řešení, které teď používám, což je úplně jednoduchý sh script, běžící na NAS, který nedělá nic jiného, než že si z jednoho adresáře čte postuipně jednotlivé job-y, což jsou soubory json, a z jejich obsahu vytváří parametry pro aplikace wget. Oproti řešení s JDownloader, sh script, kterému říkám Watcher, stahuje vždy pouze jeden soubor. Úplně to postačí. Ostatně, stejně mám pro stahování povoleno max. 50% šířky pásma mého internetového připojení. Protože ale stahování může běžet 24/7, na rychlosti stahování ani tolik nezáleží. Teď už jen funkci scriptu watcher vylepšuji. Doplnil jsme navázání stahování při přerušení a pak podmíněné opakování stahování v případě, že předchozí skončilo neúspěšně. Celá logika scriptu Watcher je velmi jednoduchá, v podstatě se pouze přesouvají job soubory mezi adresáři:
Snažím se se řešení koncipovat jako modulární tak, aby bylo možné celkem jednoduše doplnit modul pro vytváření i zpracování job-ů pro jakýkoliv další download manager. Podobné je to i na straně Kodi. Dnes umí doplněk stahovat tituly z doplňku Stream Cinema Cz/Sk, Stream Cinema Community (kromě extrerních tiulků) i YouTube (kromě MPEG-DASH) a celé řadě další běžných video doplňků. Nyní pracuji na verzi, která by dokázala zpracovat a stáhnout streamy přenášené protokolem HLS i MPEG-DASH. Samozřejmě ale jen těch bez DRM. A blíží se doba, kdy snad budu umět ze Stream Cinema Community stáhnout i externí titulky. Protože máme doma více Kodi, okamžitě vyvstala otázka, zda může existovat v každém z nich vlastní doplněk Downloader, přičemže všechny budou zasílat své job-y jedné společné cílové aplikaci na NAS. Po drobné úpravě, zejména v logice funkce scriptu Watcher, to možné je. Doplnil jsem jen kontrolu stavu, zda už nebyl job pro stažení nějakého titulu vygenerován dříve. Předejde se tak tím vícenásobné stahování jednoho titulu. Nyní plánuji ještě vylepšení, kdy doplněk Downloader bude schopný číst obsah adresářů které používá script Watcher (viz výše) a zobrazovat je v Kodi a provádat v něm přesuny zadané uživatelem. RE: Downloader - meda - 04.7.2024 Jistě zajímavé. Už při čtení jsem pro sebe první doplněk začal chápat jako Download Inspector a celý systém jako Downloader (Podtrhuji slovo systém). A teď, i přes větu V současné době ho zatím zvěřejňovat nehodlám, ti nezávidím zaplněnou poštu. RE: Downloader - JiRo - 04.7.2024 @meda: Upřímně, najít správné pojmenování doplňku je vždy takový porod. A tady je to o to horší, že to má célé poměrně dlouhou historii. Původně to bylo celé napsané jako doplněk se script a service částí, a stahování prováděl vlastní doplněk. Pak jsem stahování vytáhl do systému (CoreELEC) a použil wget, a nakonec jsem to stahováné celé vyšoupl do jiného systému, což se ukázalo jako úplně nejlepší řešení. A ano, jak to popisješ ty, tak to názvosloví odpovídá více. S tím zveřejněním bojuji. Dát ven doplněk, který i laikům ukáže zdrojové adresy streamů SCC, se mi dnes, kdy komunita kolem SCC dělá vše pro to, aby tuto možnost ztížila, samozřejmě nechci. Na druhou stranu, kdo jen trochu přemýšlí, dokáže si ty adresy získat také, takže žádný absolutně platný způsob, jak ty adresy skrýt, (zatím) neexistuje. Ale jak říká klasik, "Nemusí pršet, stačí jen když kape", takže každý způsob, jak získání adresy streamu ztížit, se hodí. Zveřejnění doplňku Downloader by tohle bohužel postavilo na hlavu. Třeba čas ukáže... RE: Downloader - kraftwerk007 - 04.7.2024 Jestli se tohle dostane do rukou BFU a práskačů, tak to může být problém... Jinak pochvala za velmi praktický doplněk, který ale defacto nelze použít ![]() RE: Downloader - jkmh - 04.7.2024 Souhlas. Netřeba to ulehčovat. RE: Downloader - JiRo - 12.5.2025 Zpráva o stavu vývoje... Abych si odpočinul od současné situace kolem Kodi, rozhodl jsem se pokračovat v práci na Downloader-u, abych si ho a jeho vylepšené a doplněné funkce mohl zařadil mezi další "nástroje", které jsem začal po dubnu letošního roku používat. Překvapivě se totiž jeho použití ukázalo jako stále přínosné a to i v situacích, kdy doplňky mají stahování sice implementované, ale výsledné soubory např. pojmenovávají náhodnou kombinací nic neříkajících znaků. Kromě toho stále rozvíjím a vylepšuji funkci stahování u těch doplňků, které jí zatím jako vlastní funkčnost implementovanou nemají. Kromě toho jsem postoupil i v doplnění funkce stahování ze zdrojů, které používají adaptivní protokoly (bez DRM), kde už se mi podařilo nastavit celý řetězec tak, aby ke stažení takového souboru došlo. U MPEG-DASH sice jen rychlostí odpovídající reálnému přehrávání obsahu takového souboru, ale vzhledem k tomu, že vlastní stahování přesměrovávám na NAS, který běží 24/7, tak mě to nijak netrápí. Downloader se tak stává nedílnou součástí mého setupu postavného - jak jinak - kolem Kodi. Po dubnu 2025 jsem do něj zařadil (či spíše vrátil) klasické metody získávání obsahu - oproti době před 10 a více lety ale výrazně inovované - i ty současné, které se mezitím objevili. Asi je zřejmé, o jaké by mohlo jít. Práce na downloader-u s sebou navíc přinesly jeden pozitivní sideefect. Část kódu jsem mohl uplatnit při rozšíření funkce Smart Search v doplňku Context Menu, který teď díky tomu umí nejen zajistit stáhnutí souboru, ale zároveň ho uložit (podle typu obsahu, tedy zda jde o film nebo epizodu seriálu) a pod jménem titulu do příslušného místa (adresáře buď pro filmy nebo pro seriály, tam samozřejmě se správnou identifikací seriálu, sezony a epizody) a spustit scrapování databáze pro jedno nebo druhé. Tady mám ještě jeden dluh, a to je možnost stahovat epizody najednou pro celou sezonu, případně celý seriál. Ale i tady se už začíná blýskat na lepší časy. Výhodou takového řešení je, že se dá celé obsloužit z křesla, pouze s dálkovým ovladačem v ruce a výsledkem je, že se v příslušných Kodi seznamech a widgetech rovnou objeví nově přidané tituly. A teď ta špatná zpráva. Po událostech v dubnu letošního roku jsem si myslel, že tohle všechno budu dál rozvíjet veřejně, ale okolnosti mě přesvědčily, že ani teď to ještě není dobrý nápad. Možná, že by bylo možné v daleko větší míře než za dob, kdy SCC ještě fungovalo. Ale jsou tady ještě další doplňky, které by masivním rozšířením utrpěly. Chvíli jsem zvažoval, že zkusím omezit šíření tak, že poskytnu instalační soubor jen omezené komunitě, ale ani to se neukazuje jako dostatečná ochrana. Nic dalšího jsem zatím nevymyslel, takže budu čekat, až mě něco napadne. Nějaké hinty od kamarádů programátorů sice mám, ale jsou to takové zběsilosti, že se mi do nich ani trochu nechce. ![]() RE: Downloader - beepee - 12.5.2025 @JiRo: Dle mého názoru bude nejlepší nechat současnou situaci vychladnout. Předpokládám, že časem jistí nejmenovaní jedinci na fórum chodit přestanou a snad nastane zase klidnější doba, kdy bude možné něco zveřejnit, aniž by se to hned objevilo na nežádoucích platformách. Tedy alespoň doufám. |