![]() |
|
iVysílání - 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: Live TV & PVR (https://www.xbmc-kodi.cz/forum-live-tv-pvr) +---- Fórum: Tvheadend (https://www.xbmc-kodi.cz/forum-tvheadend) +---- Téma: iVysílání (/prispevek-ivysilani--13377) |
RE: iVysílání - JiRo - 24.1.2025 Jak jsem psal výše @jkmh:, pokud člověk potřebuje od Tvheadend něco extra, dost často narazí. Měl jsem představu, že těch 17 kanálů, které iVysílání používá pro dynamické mapování kanálů, pojmenuji iVysílání a budou mít i stejné logo a v případě, že se na ně namapuje Sport+ kanál a objeví se v EPG, tak ho v xmltv přejmenuji a přiřadím mu logo Sport+. Ale nefunguje to 100% tak, jak by mělo. Pak jsme zkusil pro totéž použí dynamickou generaci obsahu playlistu a automatickou obnovou a mapováním pomocí bouquets, ale ani tam jsem nebyl 100% úspěsný. Pokažadé něco z toho nefunguje tak, jak by mělo nebo jednou zafunguje a podruhé už ne. Takže se asi pokorně vrátím ke statické definici jak playlistu, názvů kanálů i pevně přiřazeného loga jednotlivým kanálům, o kterých vím, že se přednostně využívají pro Sport+. Ještě mi zbývá vyzkoušet poslední možnost, tedy změnu názvů i loga pomocí api Tvheadend, ale i tam ne to, co jsem zatím vyzkoušel, funguje 100%- Nemohu například najít node, které obsahuje názvy kanálů. Prošel jsem komplet celý datový adresář s parametry Tvheadend, ale jednoznačnou položku dostupnou přes nějaké uuid, kde by bylo uložené jméno kanálu, jsem zatím nenašel. Mám čas se tomu věnovat vždy jen večer na pár minut, takže si musím najít čas a rozlousknout to definitivně. Do té doby se dál asi nepohnu... A nebo se na to vykašlu, dotáhnu to základní, co funguje dobře, i když to není úplně vymazlené. Kód: 2025-01-24 21:00:01.037712142 StartRE: iVysílání - jkmh - 24.1.2025 Tak jsem dnes navečer do LinuxMint nainstaloval WG++. Máš pravdu. V tom základu to byl čajíček. Jsou dvě věci, které jsem dosud nerozhýbal. Dny zpět a žánry. S žánry mám asi smůlu, mám registraci, ale nemám zaplaceno. RE: iVysílání - JiRo - 25.1.2025 @jkmh: Wg++ neumí stahovat zpětně. Pouze od aktuálního dne do budoucnosti. Tohle v době vzniku potřeba nebylo a už to tam nikdo nedodělal. Nevšiml jsem si, že by typ licence omezoval stahování žánrů/kategorií. Spíše bude problém s jazykem. Mně se přes Tvheadend do Kodi licence nedostanou, ačkoliv je v xmltv mám správně, ale česky. Pokud je ale změním na anglické (jak kód jazyka, tak vlastní text), tak se tam dostanou. Nepátral jsem po tom, už před léty jsem si udělal malý script, který ty žánry "přeloží" pomocí sed příkazu a tabulky, kterou se vygenerované xmltv nakonec projede a upraví. Možná, že tohle funguje už teď nějak jinak, ale já to ze setrvačnosti stále používám.Také je potřeba si uvědomit, že v žánrech nemůže být cokoliv, je třeba dodržovat to, čemu rozumí Kodi. Viz např. Kodi Development. RE: iVysílání - jkmh - 25.1.2025 Pokračování na https://www.xbmc-kodi.cz/prispevek-webgrab-plus?pid=133336#pid133336, protože se to týká WB++ obecně RE: iVysílání - JiRo - 25.1.2025 Pokud si nebudu vymýšlet extra chování, tak by to takhle nějak fungovat mohlo...
RE: iVysílání - lukas.v - 26.1.2025 Ahoj, já bych to takhle asi nechal. Např. O2 Sporty 2-8 taky vysílají jenom někdy, ale v playlistu je mám trvale a nevadí to... RE: iVysílání - martinchromy1985 - 27.1.2025 Zdravím Přihlížím diskuzi a to že webgrab neumí stahovat zpětně je i není pravda. On umí zachovat již stažené dny. Tzn. Že jde mu říci příkazem. Ponechej z předchozího grabování den, který už proběhl. v configu na to slouží element timespan přímo do tagu zadat timespan keeppastdays="4" pro 4 dny zpět. a menzy tagy je klasika pro 10 dní 9 ka tady je snad pro vyobrazení : <timespan keeppastdays="4">9</timespan> @JiRo: Plánuješ tedy vydat nějaký script s návodem jak to rozchodit pro nás lamy:-)? RE: iVysílání - JiRo - 27.1.2025 @martinchromy1985: Díky za rozšíření obzorů mně a možná i @jkmh:, kterému se omlouvám za špatnou informaci. Tohle jsem nevěděl. Možná proto, že jsem to nikdy nepotřeboval, protože Wg++ používám pouze v souvislosti s Tvheadend a tam to pro mne nemá význam. A návody, zvláště pokud člověk něco nepotřebuje, se jak známo nečtou. Ještě jednou díky.Ono to, jak je to ve Wg++ řešené (tedy timespan s keeppastdays), je podle mne zcela dostačujíí. Tedy pokud člověk používá Wg++ systematicky, např. ho nechá běžet s nějakou minimální periodou a grabuje si na více dní dopředu, což je právě ve spojení s Tvheadend, které většinou běží nepřetržitě nebo je spouštěné podle požadavků klientů nebo plánu nahrávání či právě grabování Wg++, asi dost častý případ. Příjem iVysilani v Tvheadend samozřejmě zveřejním. Začal jsem jednoduchým scriptem, kde všechna data a parametry byly v kódu programu, na které jsem si testoval všechny způsoby a varianty řešení a mohl je identifikovat a popsat zde na fóru. Teď to přepíšu do standardní podoby python programu tak, aby to bylo univerzální a použitelné i pro další hrátky a kouzla s Tvheadend. Obsahovat by to tedy mělo např. jednoduchou python třídu ApiTvh, kterou určitě využiji a rozšířím pro použití i v jiných programech. Jsem ale teď v situaci, kdy se tomu nemohu moc věnovat, takže to ještě bude chvíli trvat. RE: iVysílání - JiRo - 01.2.2025 Tak jsme měl včera po návratu z kina (mimochodem, Bob Dylan: Úplně neznámý, velmi doporučuji. Je to absolutně skvělé!) chuť se tomu věnovat. Prošel jsem znova postupně všechny možnosti co a jak nastavit (Tvheadend, Kodi PVR & Live Tv a doplněk pvr.hts) aby se to po změně kanálů (enabled/disabled) v Tvheadend (na základě existence/neexistence alespoň jednoho záznamu pořadu v epg - to dělá script spouštěný cron na serveru kde běží Tvheadend) promítlo i do Kodi. Závěr je tento. Změna v enabled/disabled kanálů v Tvheadend se v Kodi provede s následujícícími výsledky, seřazeno podle úspěšnosti. Pozn. Úspěšný je ten případ, kdy se enable resp. disabled kanál v Tvheadned objeví resp. zmizí ve všech PVR & Live TV seznamech (seznam kanálů, odpovídající skupiny kanálů a epg):
RE: iVysílání - martinxp - 12.2.2025 Ahoj mel by nekdo script (py nebo bash ..) na prevod tohohle json na xml epg .. potreboval bych dat nazev kanalu - channel hodnotu encoder": "CH_31" muze se v tomhle json vyskytnout vice udalosti ... json data jsou od ct : https://hbbtv.ceskatelevize.cz/online/services/data/online.json [ { "idec": "225473291162512", "id": "SPORT_PLUS-0-225473291162512-2025-02-12T16:25:00.000Z", "programTitle": "První hokejová liga: VHK Vsetín – Berani Zlín", "notice": "", "footage": 165, "progress": "0", "isOnline": 0, "isLive": 1, "imageUrl": "http://ctfs.ceskatelevize.cz/img/-Y3-HMI4Lmo02mhkEhDne0v-U8P7OT23uhLv5a5btnc/rs:fit:368/plain/s3/porady-s3/66cef6ba93718192e402f87c/placeholder/maxa-liga.2ba2e.jpg", "time_str": "17:25", "time_end_str": "20:10", "encoder": "CH_31", "bType": "next", "playUrl": "http://hbbtv.ceskatelevize.cz/ivysilani/index.html?livedirect=CH_31", "assignmentType": "ctsport", "timeToStartSecs": 15299, "timeToStartText": "Začíná za 4 hod. 15 minut" } ] RE: iVysílání - JiRo - 13.2.2025 @martinxp: Tak parsování json není snad zas tak nic složitého... Já to mám a už pár týdnů to testuji za provozu domácího Kodi, ale ještě jsem se nedokopal k tomu, abych to zveřejnil. Dej mi ještě čas, zítra ráno odjížím a vracím se až v neděli večer. Nedělám to rád, ale slibuji, že v dalším týdnu to už půjde ven. RE: iVysílání - JiRo - 17.2.2025 Do 1. příspěvku tohoto tématu jsem doplnil popis Řešení pro příjem kanálů Sport Plus v Tvheadend a jeho prostřednictvím v Kodi. RE: iVysílání - martinchromy1985 - 19.2.2025 Zdravím Včera jsem rozběhal vše běží jak po drátkách. Cesty přepsány. Epg nehlásí chybu stažení, ale zrovna včera se na kanálech dle epg nic nevysílalo. Tak ověřím dnes kdy bude vysokoškolský hokej. Otázka ke generování epg. Byl by si schopen upravit generátor epg tak, aby v době kdy není žádný přenos vložil do epg po hodině pořad, kde je uvedeno že momentálně neběží žádný program? Tedy jednoduchý script co najde v datech jsonu kdy začíná pořad a v době nevysílání vloží po zbytek dne pořady s obsahem že program nevysílá. Je to prkotinka... ale potěšilo by to. Jinak koukal jsem, že sis hrál i o2tv programy. máš také funkční script na tu jejich mutlidimenzi ? Já používám samostatné scripty pro O2. Předem děkuji RE: iVysílání - JiRo - 19.2.2025 @martinchromy1985: Díky za pozitivní reakci, to potěší. K tvém návrhu na vylepšení... Ano, tohle napadne každého a napadlo to i mne. Mám to v hlavě rozmyšlené, v týdnu se asi k tomu nedostanu, ale i já bych chtěl, aby tam taková funkce byla, takže to doplním co nejdříve. Vložím tam vždy "fake-ový pořad", kde bude info o tom, že se nevysílá, od kdy do kdy to trvá a bude trvat a v popisu možná i info, jaký pořad bude následovat. Myslím, že to nemusí být nutně po hodině, prostě se tím vyplní celá doby do zahájení vysílání skutečného pořadu. Ještě mě tam visí úkol poradit si s přesuny pořadů mezi kanály. To se taky občas děje, že ho iVysílání+ naplánuje do nějakého kanálu a pak ho po nějakém čase přehodí jinam. A v Tvhheadend nejde jen tak už existující epg záznam smazat. Buď musí smazat celý kanál, což ale nejde přes api (tedy alespon jsme na to zatím nepřišel, resp. jsme po tom ještě nepátral) nebo se to musí přepsat nějaký fake-ovým pořadem. Takže bych to asi rozšířil, v podstatě by se vždycky vyplňovalo EPG pro dva dny. Vždy do konce následujécíího dne, což je maximální doba u iVysílání+, na kterou to EPG může být známé. Tam by zase bylo info, něco jako "Pro tento kanál nejsou zatím žádné pořady známy". A tím by se ty případné přesuny překryly. Multidimenzi v Tvheadend nijak extra neřeším. Mám to asi stejně jako ty, kanály Sport 2 - 8 v playlistu pro příjem O2TV. A ano, všiml sis dobře, na zkoušku jsem udělal disable kanálů O2TV, které nemají EPG. Ale ono tam většinou EPG (hlavně v kanálech 2-6) je skoro vždycky, protože já EPG stahuji každý den a vždy na celý týden dopředu. Taky na tom ještě hodlám zapracovat. Ono by asi pomohlo nestahovat EPG tak dopředu, ale my jsme na to doma už takhle navyklí. Ale já tyhle kanály plním EPG z WebGrab++, takže nějaká úprava obsahu by asi byla složitější. Ale taky o tom přemýšlím, tak třeba něco nakonec vymyslím. RE: iVysílání - martinchromy1985 - 20.2.2025 @JiRo: Děkuji za script. Pro uživatele co by chtěly programy rozšířit tak je tu doplnění playlistu #EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="Zdroj-IPTV-I-Vysilani-Programy" tvh-chnum="369" tvg-id="CH_1",Ivys_CT 1 pipe:///home/hts/Programy/Ivysilaniplus/streamer.sh CH_1 #EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="Zdroj-IPTV-I-Vysilani-Programy" tvh-chnum="370" tvg-id="CH_2",Ivys_CT 2 pipe:///home/hts/Programy/Ivysilaniplus/streamer.sh CH_2 #EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="Zdroj-IPTV-I-Vysilani-Programy" tvh-chnum="371" tvg-id="CH_4",Ivys_CT Sport pipe:///home/hts/Programy/Ivysilaniplus/streamer.sh CH_4 #EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="Zdroj-IPTV-I-Vysilani-Programy" tvh-chnum="372" tvg-id="CH_5",Ivys_ČT ![]() pipe:///home/hts/Programy/Ivysilaniplus/streamer.sh CH_5 #EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="Zdroj-IPTV-I-Vysilani-Programy" tvh-chnum="373" tvg-id="CH_6",Ivys_ČT Art pipe:///home/hts/Programy/Ivysilaniplus/streamer.sh CH_6 #EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="Zdroj-IPTV-I-Vysilani-Programy" tvh-chnum="374" tvg-id="CH_7",Ivys_ČT 3 pipe:///home/hts/Programy/Ivysilaniplus/streamer.sh CH_7 #EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="Zdroj-IPTV-I-Vysilani-Programy" tvh-chnum="375" tvg-id="CH_24",Ivys_ČT 24 pipe:///home/hts/Programy/Ivysilaniplus/streamer.sh CH_24 Snad to někomu pomůže. RE: iVysílání - JiRo - 21.2.2025 No, doplnit do epg viditelných kanálů informaci, že se nic nevysílá a kdy se vysílat začne je hezká myšlenka, ale docela jsem se s tím zapotil a poznal díky tomu další zajímavou knihovnu Pythonu, itertools. Zatím jsem (snad) bezpečně pokryl jen jeden stav, tedy kdy je už v kanále něco naplánováno, ale bude se vysílat až později. Řešení jsem mírně zobecnil, aby se dalo použít i pro jiné funkce a hrátky s epg, a konkrétně to řeším vložením fake pořadu (Přestávky), s příslušnými informacemi a časy začátků a konců získaných od konců a začátků předchozího a následujícího pořadu, a pokud nejsou, tak začátku a konce dne, ve které se pořad vysílá. Trochu do toho házejí vidle pořady přes půlnoc, ale to je u epg častý oříšek. Hlavně kvůli tomu jsem to celé uvnitř překopal. Bohužel je těch kombinací možných stavů více a mně se to nechce simulovat, takže budu chvíli čekat, až se mi ty nejčastější kombinace vyskytnou, abych si ověřil, že to funguje.[attachment=11316] RE: iVysílání - martinchromy1985 - 22.2.2025 Vypadá to hezky... mužeš zasdílet kód? Rad budu betatestarem. RE: iVysílání - JiRo - 22.2.2025 @martinchromy1985: Jo, to víš, že to sem dám. Ale nejdříve si to musím otestovat sám. Ono to není úplně jednoduché a hlavně jasné a zdokumentované. Tady prostě nestačí sáhnout do Kodi nebo Tvheadend Wiki a přečíst si, jak se to má nebo bude chovat, když... Teď například řeším situaci, kdy jsem přes Kodi v EPG nastavil v Tvheadend nahrávání pořadu iVysílání+. Všechno běželo v pořádku, pořad v EPG skončil ve 12:00, v EPG se propadl do minulosti, a nakonec, poté, co se ztratil i ze zdroje EPG v HBBTV, z něj zmizel úplně. Nahrávání pořadu ale o tom neví a běží stále dál. Pravděpodobně došlo k tomu, že pořad se z EPG ztratil v době, kdy ještě dobíhalo nahrávání v době nastavené po konci pořadu (mám defaultně nastaveno +10 minut), tím přišel i o zdroj informace k ukončení nahrávání. I když by to bylo divné... Musím tohle chování ověřit, abych podle toho mohl definitivně uzavřít, jak to EPG budu vlastně obsluhovat. Bráním se tomu si EPG držet a řešit jeho historii. Celé jsem to koncipoval podle mota "Nastav EPG podle aktuálních informací a zapomeň!" Kdyby to takhle fungovat nemohlo, musel bych v řešení jít trochu jinou cestou... Právě teď, během psaní tohoto příspěvku, nahrávání skončilo. Řeklo by se, dobrý, nakonec to tedy funguje nějak tak, jak má. Ale nefunguje, protože není jasné, na základě jaké informace se tak vlastně stalo. Nic z toho, co se kolem nahrávání nastavuje, ani vědomosti o tom, jak to funguje, nenasvědčuje o tom, že by nahrávání mělo skončit cca 35 minut po skončení naplánovaného konce. [attachment=11318] Tak problém odhalen, mohla za to, jako téměř vždycky, má blbost. Nebudu to dál rozebírat... Co se týče nahrávání, tak všechno tedy zatím funguje tak, jak má. Ještě to jen jednou ověřím u dalšího nahrávání.Už se mi podařilo ověřit i vyplňování přestávek mezi pořady. I to tedy funguje. Zatím se nepovedlo ověřit to i u přechodu mezi dny, tedy když budou v EPG pořady na jednom kanálu ve dvou dnech a mezi nima bude přestávka přes půlnoc. Ale to už by snad fungovat mělo. Jediné, co ještě nemám ověřeno vůbec je, zda pořady jsou v kanále seřazeny podle vzrůstajícího času. Zatím, co jsem měl možnost vypozorovat, tak vždycky vzestupně seřazené byly. Ale ruku do ohně, že to tak bylo a bude vždycky, nedám. Dokud jsem mezi pořady nevkládal ty informace o přestávce a následujícím pořadu, tak to bylo jedno, ale pro tuhle funkci to samozřejmě setříděné být musí, protože jinak to bude pěkný masakr. Ono těch pořadů nikdy moc nebylo, nejvíce snad tři v jednom kanálu. Zatím jsem se k tomu, abych to dynamické pole pořadů dokázal nějak efektivně setřídit nedostal a ani se mi do toho moc nechce. RE: iVysílání - JiRo - 25.2.2025 Tak věci jsou složitější, než se na první pohled zdálo. Řešit situaci, kdy se v iVysílání+ přesune pořad z jednoho kanálu na jiný tím, že původní záznam EPG překryju fake-ovým o tom, že v kanálu se nevysílá žádný pořad, takhle jednoduše nelze. Tedy ono to lze, a už jsem to tak udělal. V neděli ale k tomu přesunu opět došlo, a dělalo to pak v Tvheadend i Kodi psí kusy. V Kodi EPG se postupně objevoval nový záznam, pak po chvíli původní záznam a na chvíli tam probliknul i stav, kdy kanál nemá žádné EPG (to se v Kodi objeví text Nejsou dostupné žádné informace). Před spaním jsem si tedy pročetl dokumentaci, podíval se i do odpovídající části kódu a zjistil snad už s konečnou platností, jak vlastně to EPG v Tvheadend funguje. A asi i tuším, jak z toho ven, ale bude to znamenat další porci programování. Tedy potvrdí-li se můj postup, jak to řešit, což zjistím až zítra, protože teď je EPG iVysílání+ prázdné. Pokud ne, tak se na to vykašlu a tahle feature tam prostě nebude. RE: iVysílání - JiRo - 28.2.2025 Nová verze k dispozici Po delším přemýšlení a testování jsem nakonec vymyslel řešení, které by snad mělo fungovat a zabránit komplikacím při zobrazení EPG při přesun pořadu z jednoho kanálu na druhý. Testoval jsem to dnes, bohužel až poté, co pořad, kterého se tento problém týkal, skončil. Takže jsem to nemohl 100% ověřit, ale simulace mi ukazují, že to bude (či že by to mohlo) fungovat. Uvidíme možná hned zítra, kdy je v plánu vysílání většího množství pořadů, a v takovém případě k přesunu většinou dojde téměř vždycky. Nová verze 0.2.0 je k dispozici ke stažení v 1. příspěvku tohoto tématu. Při problémech a dotazech se ozvěte. Budu rád, když dostanu zpětnou vazbu, jak vhodné řešení jsem zvolil. |