• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Tvheadend Archive - inteligentný prehliadač DVR archívu
#1
Video 
Tvheadend Archive 1.0.9

Doplnok pre Kodi 19+ — inteligentný prehliadač DVR archívu z Tvheadend servera. Spoločník k oficiálnemu pvr.hts (nie jeho náhrada): kým pvr.hts rieši Live TV, EPG a časovače v natívnej PVR sekcii, tento doplnok pridáva ľudský pohľad na archív nahrávok — kategorizáciu podľa žánru, zoskupovanie seriálov, vyhľadávanie, resume a históriu.

Hlavné funkcie

— Smart kategorizácia archívu: 11 top kategórií (Filmy, Seriály, Šport, Spravodajstvo, Šou, Detské, Hudba, Umenie, Dokumenty, Hobby, Nezaradené), pri filmoch a seriáloch 11 podžánrov (akčné, komédie, krimi, dráma, sci-fi, romantika, horor, dobrodružné, animované, historické/vojnové, western). Klasifikátor používa DVB-SI tagy, channel hints, franchise override (Duna, Star Wars, Matrix, Harry Potter, Marvel/DC, …) a hand-curated title corpus s ~1945 známymi titulmi (sk/cz seriály ako Susedia, Oteckovia, Panelák, Ordinace, Slunečná, Doktor z hor, Modrava; sitcomy ako Dva a pol chlapa, Teória veľkého tresku, Mr. Bean, M.A.S.H.; filmy ako Elysium, Oppenheimer, 300, Bohemian Rhapsody, …). Pre nahrávky bez DVB tagu (ct=0) je k tomu keyword fallback pre reality/lifestyle/cooking shows (Zámena manželiek, Top Gear, MasterChef, Vaříme s..., Nové bývanie, Nová záhrada). Validované na 11 643 reálnych nahrávkach z dvoch produkčných serverov — podžánrová accuracy ~97 %, kategória „Nezaradené" obsahuje už len legitne nezaraditeľné položky (TV signal-off cards a testovacie vysielania).

— NOVÉ v 1.0.9 — Online metadata cez IMDb (voliteľné, default OFF): posledný záchranný mechanizmus pre tituly ktoré keyword fallback ani title corpus nezachytili. Pri zapnutí dotazuje IMDb GraphQL endpoint v pozadí (1 req/sek), výsledok cachuje lokálne. Mapuje IMDb žánre na plugin podžánre (Crime → Krimi, Comedy → Komédia, Sci-Fi → Sci-Fi, …) plus top-category override (Reality-TV / Talk-Show / Game-Show → Šou, Documentary → Dokumenty, Sport → Šport, …). Plne opt-in, plugin nerobí žiadne sieťové volania kým je toggle vypnutý.

— Automatické zoskupenie seriálov: 12 epizód = jedna zložka. Zvláda aj epizódy s tech flagmi „(AD,ST)" alebo „(HD, DD5.1)".

— Vyhľadávanie: bez diakritiky, prefix matching, AND pre viac slov, len v názve (nie v opise). Po prehratí výsledku sa zoznam ponechá.

— Resume: pamätanie pozície prehrávania, progress bar overlay na thumbnaile (skin-dependent), auto-vymazanie pri ≥95 % alebo posledných 60 sekundách.

— Naposledy pozerané: perzistentná história, nastaviteľný limit (default 50, max 500), prežije reštart Kodi.

— Breadcrumbs v navigácii — vidíš celú cestu napr. „Archív / [názov kanála] / 2026-05-10".

— Archív podľa kanála: zoznam kanálov → dátumy → nahrávky.

— Živé vysielanie (bonus): kanály podľa TVH tagov + aktuálny EPG program. Pre seriózne Live TV stále odporúčam pvr.hts.

— Diagnostika klasifikátora (voliteľná, default OFF): log explanácií prečo nahrávka padla kam padla — pre reportovanie misklasifikácií.

— Lokalizácia: SK, CZ, EN.

Čo potrebuješ

Kodi 19+ (Matrix). Funguje na všetkých platformách (Windows, Linux, macOS, Android, LibreELEC, CoreELEC, OSMC).

Tvheadend server dostupný cez HTTP API (default port 9981).

POZOR: účet musí mať povolené Webové rozhranie (Configuration → Users → Access entries → Edit → checkbox „Web interface"). Bez tohto „Test pripojenia" zlyhá aj s korektným heslom.

Inštalácia cez repozitár (odporúčaná, s auto-updates)

1. Stiahni repository ZIP: https://mikrotikexe.github.io/kodi-repo/...-1.0.0.zip
2. Kodi: Doplnky → Inštalovať zo ZIP súboru → vyber stiahnutý ZIP
3. Doplnky → Inštalovať z repozitára → Andrebas Kodi Repository → Video doplnky → Tvheadend Archive → Inštalovať

Od tohto momentu Kodi periodicky kontroluje updaty. Ak Kodi blokuje inštaláciu z neznámych zdrojov: Nastavenia → Systém → Doplnky → Neznáme zdroje → Zapnuté.

Alternatíva (jednorazový ZIP, bez auto-updates)

Stiahni plugin.video.tvheadend-1.0.9.zip z https://github.com/MikrotikExe/kodi-repo...ses/latest a nainštaluj cez „Inštalovať zo ZIP". Aktualizácie si musíš sledovať ručne.

Prvé spustenie

Otvor doplnok → Nastavenia → vyplň Server (IP/doména), Port (9981), HTTPS (default OFF), Meno + Heslo (ak je v TVH zapnuté), HTTP autentifikácia = Auto. Diagnostika → Test pripojenia by mal potvrdiť spojenie.

Ak chceš zapnúť aj IMDb lookup pre neznáme tituly: Nastavenia → DVR Archive → Online metadata → „Hľadať neznáme tituly na IMDb" → ON.

Čo doplnok NEROBÍ

— Nie je PVR klient v Kodi zmysle (na to je pvr.hts, neintegruje sa do natívnej TV sekcie).
— Neplánuje nahrávky (časovače cez TVH web alebo pvr.hts).
— Live TV nemá time-shift.

Najčastejšie problémy

— „Spojenie zlyhalo": najčastejšie chýba povolené Webové rozhranie v Access entries. Ďalej: zlá IP/port, zlé heslo, alebo subnet nepustený v Allowed networks.

— Archív prázdny: skontroluj že TVH má dokončené nahrávky (Digital Video Recorder → Finished Recordings).

— Zoznam sa neobnoví po prehratí: cache je 60 s, počkaj minútu.

— Nahrávka v nesprávnej kategórii: zapni Diagnostiku klasifikátora, vyfiltruj z kodi.log riadky obsahujúce „classifier" a hoď ich sem alebo cez GitHub Issues. Pri zlej podkategórii filmu/seriálu väčšinou stačí pridať titul do title corpusu — viem to vyriešiť v ďalšom release. Od 1.0.9 môžeš tiež zapnúť Online metadata (IMDb) ktoré rozozná aj tituly mimo lokálneho corpusu.

Zdrojový kód a hlásenie chýb

GPL-3.0-or-later. https://github.com/MikrotikExe/kodi-repo (README v SK/CZ/EN). Bug reporty v tejto téme alebo cez GitHub Issues.

Changelog

1.0.9 (máj 2026) — voliteľný IMDb lookup pre neznáme tituly. Posledný záchranný mechanizmus pre nahrávky ktoré po keyword fallback-e padli do „Nezaradené" alebo Film/Iné. Pri zapnutí (Nastavenia → DVR Archive → Online metadata) sa neznáme tituly odošlú na background worker ktorý dotazuje IMDb GraphQL endpoint (1 req/sek). Výsledok sa mapuje na plugin podžánre alebo top-category override (Reality-TV/Talk-Show/Game-Show → Šou, Documentary → Dokumenty, News → Spravodajstvo, Sport → Šport, Music → Hudba). Cache lokálne v `imdb_cache.json`, prežíva reštarty, negative cache 30 dní. Plne opt-in, žiadne sieťové volania kým toggle nie je zapnutý, pri zlyhaní siete sa ticho degraduje na pôvodný keyword fallback.

1.0.8 (máj 2026) — drobné dolaďovanie klasifikátora po 1.0.7 deploy. Rozšírený keyword fallback o ďalšie nepokryté kategórie športových eventov. Title corpus rozšírený o pár ďalších filmov ktoré produkčné archívy ukázali ako stále padajúce do Nezaradené.

1.0.7 (máj 2026) — menej entries v „Nezaradené". Rozšírený keyword fallback pre nahrávky bez DVB tagu (ct=0) o ďalšie typy programov — reality, lifestyle, kuchárske, home/garden, detské formáty. Plus nový mechanizmus: ak by entry s ct=0 skončila v Nezaradené, ale titul je v title corpuse, povýši sa do Filmy s príslušným podžánrom. Validácia na 11 643 nahrávkach: top=Nezaradené zredukovaný z 209 entries na 60 (-71 %), zostávajúce položky sú TV signal-off cards a obsah z testovacích vysielaní.

1.0.6 (máj 2026) — title corpus pre podžánre filmov a seriálov. Hand-curated zoznam ~1940 titulov (medzinárodné franchise + sk/cz klasiky + populárne sitcomy) — predtým spadnuté do Filmy/Iné alebo Seriály/Iné sa teraz dostanú do správneho podžánru. Validácia na 11 643 reálnych nahrávkach: subkategória správna v 97 % (predtým ~55 %), 0 regresií.

1.0.5 (máj 2026) — sci-fi/fantasy franchise override (cca 38 pattern-ov pre známe filmové franchise). Opravený konkrétny prípad sci-fi filmu ktorý kvôli formulácii v opise padal do Historické/Vojnové. Pattern-y anchored ku pozícii v názve aby nevznikali false positives na dokumentoch.

1.0.4 (máj 2026) — DVB-SI dôveryhodnejší než channel hint. Hinty pre dokumentárne kanály. DVB Level 2 nibble decoding pre podžánre. Opravené false-positive Horor a Detské. Voliteľná diagnostika klasifikátora. Tuning na 11 650 nahrávkach, 18 % entries zmenilo kategóriu k lepšiemu.

1.0.3 (máj 2026) — bugfix release. Opravené pády Archív podľa kanála + Live TV pri stringových číslach kanálov. HTTP Auth Auto opravený (Basic-first, fallback Digest). Breadcrumbs v navigácii. Plný Python traceback v error logoch.

1.0.2 (máj 2026) — episode grouping pre nahrávky s tech flagmi (HD, AD, DD5.1, …).

1.0.1 (máj 2026) — resume playback + progress bar overlay.

1.0.0 (máj 2026) — prvý verejný release.

Licencia a kompatibilita

GPL-3.0-or-later. Overené na Tvheadend 4.3-2657~ge29336581 (Debian 13).
Funguje s ktoroukoľvek TVH 4.x verziou s HTTP API endpointom /api/dvr/entry/grid_finished.


Přiložené soubory
.zip   repository.andrebas.kodi-1.0.0.zip (Velikost: 19,05 KB / Stažení: 7)
 
Citovat
#2
Vyzkoušel jsem ze zvědavosti. Je to myslím dobrý počin, ale z toho, co doplněk nabízí vlastně nic tak akutně nepotřebuji. Takže jen heslovitě z instalace a prvního vyzkoušení:
  • instalace repozitáře a následně z něj i doplňku bez problémů
  • při HTTP Autemtizace na Auto se nepovedlo přihlášení k web api Tvheadend, pomohla až změna na Basic
  • Položku Živé vysílání jsem vyzkoušel, ale nepokládám to za něco, co by u tohoto typu doplňku bylo potřeba. Stejně každý, kdo má Kodi a Tvheadend, tak si samozřejmě nainstaluje Tvheadend HTSP Client a pro Live TV funkce bude používat jej. Ale o tom ostatně píše i autor.
    • Jen tedy reportuji drobnost, při pokusu o spuštění dvou skupin kanálů hlásí doplněk chybu
      Kód:
      2026-05-16 14:38:40.136 T:4116198   error <general>: [plugin.video.tvheadend] Handler 'live_channels' crashed: '>' not supported between instances of 'str' and'
      2026-05-16 14:38:40.136 T:4116197   error <general>: GetDirectory - Error getting plugin://plugin.video.tvheadend/?action=live_channels&tag
      2026-05-16 14:38:40.241 T:4108051   error <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.tvheadend/?action=live_channels&tag) failed
      V Tvheadend HTSP Client tyto dvě skupiny mohu normálně používat.
  • Položku Archiv nemohu otevřít, při pokusu o spuštění hlásí doplněk chybu:
    Kód:
    2026-05-16 14:45:34.470 T:4117387   error <general>: [plugin.video.tvheadend] Handler 'archive_by_channel' crashed: invalid literal for int() with base 10: '21'
    2026-05-16 14:45:34.470 T:4117386   error <general>: GetDirectory - Error getting plugin://plugin.video.tvheadend/?action=archive_by_channel
    2026-05-16 14:45:34.499 T:4108051   error <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.tvheadend/?action=archive_by_channel) failed
    2026-05-16 14:45:34.601 T:4117389   error <general>: EXCEPTION: Invalid setting type
  • Další položky, Filmy, Seriály, ... ,  Nezařazené jsme jen prolétl. Obsah se tam zobrazuje, ale přiřazení do kategorií/žánrů a následně v nich opět do kategorií/žánrů je nesystematické a někdy hodně kuriozní. Např. Lee: fotografka v první linii je v kategorii Filmy a v ní v kategorii Horor nebo Jak zemřel Tutanchamon v kategorii Zpravodajství a v ní v kategorii Hlavné správy. Netuším, co je klíčem k tomuto přiřazení, ale vzhledem k tomu, že takových "úletů" je tam mnohem víc, tak to pro mne v dané chvíli není nijak zajímavé.
  • Co bych určitě doporučil aby při noření se do položek jednotlivých menu bylo v záhlaví vidět, kde se člověk momentálně nachází. Ať jsme v jakékoliv části nabídky doplňku, tak je tam stále jen Video nebo Video/Tvheadend Archive.
Co napsat závěrem. Vlastně to, co jsem napsal už v úvodu, tedy že je to dobrý počin. A pak také to, že je dobře, že se stále objevují noví tvůrci doplňků, kteří se rádi podělí.

Já osobně nahrávání v Kodi/Tvheadend používám spíše jen pro ty případy, kdy chci buď nahrávat pořady podle nějakého dlouhodobého plánu, tedy pomocí funkce Pravidla časovače a tam si, pokud je to třeba, nastavuji Složku. Takže jedna výhrad k funkcím PVR doplňku, tedy pvr.hts ti ich ukáže ako plochý zoznam zoradený podľa dátumu, není v mnoha případech tak zásadní. A navíc, s PVR nahrávkami pracuji většinou tak, že je buď shlédnu co nejdříve (defaultně mám stejně nastavenu krátkou životnost) nebo, pokud jde o nějaký unikát, který si chci zachovat, tak je kopíruji na NAS a nakonec tedy skončí v knihovně. Co se týče způsobu ukládání poslední pozice přehrávání, jsem spokojen s tím, jak tuto funkci řeší Kodi. I když přiznám, že by určitě nebylo špatné, moci to řešit nějak hromadně. Ale mít tuto funkci řešenou jinak pro PVR a jinak pro zbytek Kodi mi nepřipadá jako úplně ideální. Navíc, pokud používám v nahrávkách ukládání do složek, lze pozici přehrávání celkem jednoduše smáznout u všech záznamů ve složce také.
 
Citovat
#3
Ahoj @JiRo,
veľká vďaka za detailný test a štruktúrovaný feedback — presne také reporty, s logmi aj konkrétnymi prípadmi, sú zlato pre dotiahnutie pluginu. Riešil som tvoje body v dvoch etapách: najprv akútne crash a auth bugy v 1.0.3, potom hlbšiu revíziu klasifikátora v 1.0.4. Obe verzie sú už živé v repe.

1.0.3 — odpoveď na tvoje crash/auth/UX nálezyHTTP Auth Auto. Tvoja diagnostika („pomohla až změna na Basic") bola presná. Pôvodná logika v Auto móde forsila Digest, čo lámalo prihlásenie pre väčšinu užívateľov TVH 4.x (kde je default Basic). Auto teraz skúsi najprv Basic, a iba na 401 fallback-ne na Digest. Tvoj setup by mal po update fungovať aj späť na Auto, nemusíš nechávať natvrdo Basic.
Live TV crash v dvoch skupinách kanálov.
Kód:
Handler 'live_channels' crashed: '>' not supported between instances of 'str' and 'int'
Toto bola priama chyba pri triedení channel groups — TVH HTTP API vracia čísla kanálov niekedy ako string, niekedy ako int (závisí od toho ako sú dáta v TVH v daný moment). Sort comparator nezvládal mixované typy. Teraz cez safe int parsing.
Archive by channel crash.
Kód:
Handler 'archive_by_channel' crashed: invalid literal for int() with base 10: '21'
Rovnaký koreň —
Kód:
int('21')
by mal fungovať, ale ten string mal trailing/leading garbage znaky (nezobrazujú sa, sú v unicode). Safe int parser teraz toto zvládne.
„EXCEPTION: Invalid setting type" v logu — toto NIE je z Tvheadend Archive doplnku. Pochádza z iného doplnku v tvojom Kodi (typicky stream-cinema alebo podobné), len sa to píše vedľa našich riadkov v rovnakom časovom okne. Náš doplnok nepoužíva žiadne settings ktoré by mohli generovať tento error.
Breadcrumbs v záhlaví. Tvoj nápad — implementované. Teraz pri navigácii vidíš celú cestu, napr. „Archív / Markíza / 2026-05-10" namiesto stáleho „Tvheadend Archive". Tvoj komentár ma postrčil aby som si uvedomil že to bol naozaj UX deficit.

1.0.4 — odpoveď na klasifikátorové nálezyTvoje dva konkrétne prípady boli kľúčové. Bez nich by som sa do hlbšej analýzy nepustil.
„Lee: fotografka v první linii" → Horor namiesto Historické/Vojnové. Po analýze: keyword pattern
Kód:
(horor|horror|desiv|hruz)
zachytával dramatické slová v opisoch („Příběh americké fotografky Lee Millerové, jedné z prvních válečných zpravodajek." — slovo válečných pôvodne mátalo, plus pravdepodobne v plnom opise bolo aj „hrůza" alebo „děsivý"). Specifické signály ako vojnové/historické boli v poradí vyhodnocovania až za horor patternom, takže nikdy nedostali šancu.
V 1.0.4: horror keyword teraz vyžaduje match v názve (nie v opise alebo podtitulku), špecifické podžánre (vojnové, akčné, sci-fi, krimi) majú prednosť pred generickými. Lee teraz padá do Filmy / Historické / Vojnové. Na dvoch testovacích archívoch klesli horror false-positives z 34 entries na 0.
„Jak zemřel Tutanchamon" → Spravodajstvo/Hlavné správy namiesto Dokumenty. Tu je príčina zaujímavejšia. Po analýze 6 434 + 5 216 nahrávok z dvoch užívateľských serverov + 7 EPG zdrojov som zistil, že broadcasters dokumenty taggujú nekonzistentne: niekde ako
Kód:
content_type=9
(Education, čo by bolo správne), niekde ako
Kód:
=2
(News), niekde ako
Kód:
=1
(Movie/Drama). Konkrétne na Discovery a Viasat ide 50 % obsahu tagged ako News a 48 % ako Movie.
V 1.0.4 som pridal doc channel hints — Discovery, Viasat (History/Explore/Nature/True Crime), National Geographic, Spektrum, Animal Planet, History Channel, BBC Earth, BBC Knowledge, Love Nature, DocuBox a Crime & Investigation. Ak je nahrávka na ktoromkoľvek z týchto kanálov, ide do Dokumenty/Vzdelávacie bez ohľadu na nesprávny DVB tag. Plus pre
Kód:
ct=9
(Education) bez channel hintu sa už neprerážalo channel-hint demotion-om → správne Dokumenty. Pre
Kód:
ct=2
na bežnom news kanále (ČT 24 atď.) ešte stále padá do Spravodajstva — tam DVB tag fakt je News a bez ďalšieho kontextu sa to z plugin-u nedá rozlišne opraviť.
Tie ďalšie „úlety" v Filmy/Seriály/Nezaradené. Celkový dôvod „nesystematickej" klasifikácie bol že hint na názov kanála prerážal explicitný DVB-SI
Kód:
content_type
aj tam kde to bolo nesprávne. MasterChef Junior na ČT Big Grin padal do Detské aj keď DVB ho taggoval ako Hobby/Lifestyle; klasické koncerty na ČT Big Grin/art šli do Detské namiesto Hudby; športové news na STVR Sport šli do Sport namiesto Spravodajstva. V 1.0.4 má DVB tag prednosť pre špecifické content types, channel hint sa aplikuje len pre ambigvotné
Kód:
content_type
0/1/5.
Pridal som aj DVB-SI Level 2 nibble decoding — keď nahrávka má plný 8-bit DVB genre kód (cca 6 % entries), klasifikátor vytiahne druhý nibble pre presný podžáner (0x62 = Klasická hudba, 0xA5 = Varenie, 0x43 = Futbal, atď.) namiesto fallback-u na keyword scan.
Celkovo zmenilo kategóriu ~18 % nahrávok v testovacích datasetoch — všetky smerom k lepšej presnosti, žiadne identifikovateľné regresie.

DiagnostikaLebo som si vedomý že napriek validácii na 11 650 reálnych entries môžu byť ďalšie okrajové prípady ktoré nevidím, pridal som setting Diagnostika klasifikátora (Nastavenia → Archív → Prehrávanie → Diagnostika klasifikátora, default OFF). Po zapnutí sa do
Kód:
kodi.log
zapisuje pre každú klasifikovanú nahrávku detail prečo padla kam padla:
Kód:
[classifier] "Echo Pražského jara 2026" [CT :D/art HD] ct=6 genre=[]
  → hudba/mu_ine (top: ct=6 explicit DVB-SI Level 1; sub: keyword subgenre)
Ak by si v 1.0.4 narazil na ďalší „úlet", stačí toto zapnúť, otvoriť problematickú nahrávku a poslať mi pár grep-nutých riadkov (
Kód:
tail -200 ~/.kodi/temp/kodi.log | grep classifier
) — viem presne ktoré rozhodovacie pravidlo zlyhalo a viem ho cielene opraviť bez hádania.

K tvojmu use-case-uTvoj záver chápem a rešpektujem. Plugin nikdy nebol myslený ako náhrada pvr.hts — je to skôr komplement. Pvr.hts a Kodi natívne PVR rieši Live TV, EPG a časovače, ktoré sú u vás (power users) plne pokryté. Tvheadend Archive cieli na ten priestor kde pvr.hts nie je ideálny — prechádzanie veľkého archívu po kategóriách (filmy/seriály/šport/…), search bez diakritiky, „nedávno pozerané" history. Pre niekoho s NAS-backed workflow-om kde každý záznam má jasný účel a krátku životnosť to fakt nemá zásadný prínos. Pre niekoho kto má TVH ako sekundárny pasívny zdroj „čo si dnes pozriem" to môže byť presne to čo chýbalo.
Tvoj feedback ale platí bez ohľadu na to či ho používaš — vďaka tebe je teraz pre tých čo ho používať budú výrazne presnejší a stabilnejší.
— Andrebas
 
Citovat
#4
@andrebas: Za ty vložené logy z jiných doplňků se omlouvám. Běží tam hodně service, tak se do toho občas něco připletlo. Jinak já jsem to nekontroloval kompletně a příliš systematicky. Co se týče těch špatně přiřazených kategorií/žánrů, tak tam toho asi bude víc. Prošel jsme to jen zběžně. Už jsem si doplněk odinstaloval, takže už nic dalšího nepřidám, ale nad někdo další, pro koho bude užitečný, v tom bude pokračovat. Bude to samozřejmě u každého uživatele trochu jiné, a také tak trochu "neverending story". 4

Jinak jsou skiny, které pomocí dalších doplňků pracují s nahrávkami podobně, jako s tituly v knihovně, včetně scrapování. Tohle je možná inspirace pro další rozvoj pro ty případy a uživatele, kteří nahrávky používají "ako sekundárny pasívny zdroj".

Držím palce.
 
Citovat
  


Přejít na fórum:


Prochází: 2 host(ů)