• 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:
  • 2 Hlas(ů) - 1.5 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
iVysílání
#41
Práce další verzi iVysilani+ se teď soustředí na:
  • vyčištění kódu - nezbytné testy a pokusy do něj zavedly plno balastu
  • zrušení volání sh scriptu a používání systémových příkazů (socat) - cílem je všechno vložit do python kódu. Trochu s tím bojuji, vkládání dat xmltv přes sock, která pomocí socat aplikace funguje dobře, se mi zatím  čistě v python moc nedaří, ale myslím, že je to jen mou nešikovností, takže na to, kde dělám chybu, nakonec přijdu.
  • Pokrytí všech excesů iVysílání při vytváření EPG. Snažil jsme se vyřešit nějak elegantně tolikrát zmiňované přesuny pořadů mezi kanály. Zatím se zdá, že to funguje, ale je třeba to sledovat delší dobu. Pokud na nějaký další problém příjdete, dejte vědět.
Je tady zájem, vytvořit doplněk pro Kodi, který by fungoval podobně s IPTV Simple Client-em. Problém to asi není, ten je teď pouze v chuti (přeci jen, na tyto doplňky jsou tady jiní machři...) a času. Tak snad obojí brzy najdu...  3
 
Citovat
#42
Nalezena chyba v playlist souboru!

Trávím teď pár posledních dní kvůli nemoci doma  a tak se více než kdy jindy dívám i na TV. A tak jsem mohl prakticky v přímém přenosu sledovat, co se děje při generaci EPG pro iVysílání+. A všiml si, že se jeden kanál, u kterého už poslední naplánovaný pořad skončil a další už pro zbytek den nebyl naplánován, se stále v Kodi zobrazuje. Log Tvheadend ukazoval, že v EPG jsou nějako změny, ale do databáze se nepřenesly, stále v přeheldu byl při každém běhu vidět nové kanály (new) i updates (mod), ale nemizelo to. Při správné funkci to musí po prvním vložení xmltv zmizet (new=0, update=0). Chvíli jsem hledal chybu v kódu, ale tam bylo vše v pořádku. A teprve pak mě napadlo jít do playlistu a ta na mě příčina hned vykoukla.
 
Kód:
#EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="iVysilani+" tvh-chnum="6.7" tvg-id="CH_31",CT iVysilani+ 7
pipe:///home/kodi/TVServer/playlist/ivysilani/streamer.sh CH_31
#EXTINF:-1 tvh-epg="0" tvg-logo="ctivysilani.png" group-title="iVysilani+" tvh-chnum="6.8" tvg-id="CH_31",CT iVysilani+ 8
pipe:///home/kodi/TVServer/playlist/ivysilani/streamer.sh CH_32

Kanály iVysilani+ 7 i iVysilani+ 8 měly stejné tvg_id. Potvrdilo se to i v Tvheadend, kde ten kanál měl díky tomu přiřazeny dva zdroje EPG. Je zajímavé, že se u nikoho chyba neprojevila a nehlásil ji. 8

Tak se omlouvám a upozorňuji na to. Kdo si chce opravený playlist (jeho sample verzi) stáhnout, může zde na konci příspěvku. Novou vezi kvůli tomu hned vydávat nebudu, ale až k tomu dojde, bude to, v plalyist.m3u8.sample, opravené samozřejmě také. Soubor je zabalený v zip, jinak jsem ho na fórum nemohl uložit.
 
Citovat
#43
Další problém se objevil dnes ráno. Po probuzení Kodi byl enabled jediný kanál, CT iVysilani+ 14 (CH_MP_05), ale jeho EPG v Kodi obsahovalo pouze Kodi systémový text Nejsou dostupné žádné infomace.  V xmltv.xml byly ale informace správně (3 programme záznamy - jeden o vlastním pořadu a 2 další, fake před a fake po). Log Tvheadend ukazoval 0 záznamů v EPG. V parametrech kanálu v Tvheadend byla položka Zdroj EPG prázdná. Poté, co jsem ji ručně vyplnil, se při dalším spuštění scriptu epg správně naplnila a odpovídající obsah se zobrazil i v Kodi.

Začalo se to "chovat nějak jinak", než jsem měl zpočátku ověřeno. V 1. verzích řešení jsme vždycky, před vložením xmltv.xml do Tvheadend, nastavil (bez ohledu na to, zda mají nebo nemají EPG) všechny kanály na enabled, a po vložení nastavil disabled u těch, které žádné EPG neměly. To ale mělo nepříjemný efekt, že když se to sešlo, tak se v Kodi mohlo na krátkou dobu zobrazit všech 17 kanálů iVysílání+. Vyhodil jsme tedy to povolení všech kanálů a ono to fungovalo správně i bez toho. Teď však dochází k tomu, že když se např. restartuje Tvheadend a některé kanály jsou v té chvíli disabled, že se položka Zdroj EPG vymaže a epg z xmltv.xml se pak do nich nepřenese. Tohle do toho tak trochu hází vidle. Povolovat všechny kanály se mi nechce, ale pokud je má hypotéza správná, tak to asi jinak nepůjde. Spoléhat, že Tvheadend poběží trvale, asi nelze. Já to tak sice mám, měl jsem Tvheadend bez restartu spuštěný přes 1/2 roku, ale teď jsem ho, právě kvůli testům a ladění scripru epg, restartovat musel. A takhle to dopadlo. 8
 
Citovat
#44
Ahoj 
Podobné skopičiny mi to tvořilo také. proto jsem na první původní verzi.

Děkuji, že se to snažíš odladit. U mě ve WMWare se restartuej tvheadend jednou týdně plus aktualizace ubuntu. V nové verzi na proxmox, kterou odladuji už běžím nonstop. Mimo aktualizace ubuntu.
 
Citovat
#45
@martinchromy1985: Jo jo, jakmile se restartuje tvheadend a kanál je disabled, tak i když před tím měl kanál zdroj EPG přiřazený, tak se smaže.

No, přiznám se, že jsem z toho nějaký zmatený. Doteď jsem si myslel, že když aktualizuji epg, a kanál před tím povolím, tak i když ten kanál neměl zdroj EPG přiřazený, tak se automaticky přiřadí. Když to provedu ručně, přes webgui, tak se to takhle chová. V mé aktuální verzi se už xmltv do Tvheadend posílá přímo v python přes funkce socket knihovny. Už jsem začal podezírat, že snad musí být po povolením kanálu a spuštění update epg nějaká prodleva, protože ono je to celé rychlé, script běží něco kolem 0,15 vteřiny. Tak jsem tam na několik, podle mě, potenciálně kritických míst doplnil nějaké vteřinové prodlevy a uvidím, jesli se to spraví.

Je to boj, vždycky, když něco vyřeším, objeví se za chvíli někde jnde něco jiného. A některé detaily v dokumentaci popsány nejsou, resp. jsem je tam zatím neobjevil...

Tedy ne, že by na tom záleželo, ale snažil jsem se najít klíč, podle kterého iVysílání přiřazuje pořady kanálům. Zpočátku to bylo kvůli tomu, že jsem chtěl modifikovat ikony kanálů podle toho, jaký typ pořadu je jim přiřazován. Vypadalo to např. na to, že např. kanál CH_25 je používám pouze pro vysílání ze Senátu. Ale brzy se ukázalo, že v tom taková výlučná pravidelnost není, takže kanálům ponechávám stabilně ikonu iVysílání a měním ji pouze pro daný pořad, tedy pokud je to vysílání kanálu Sport Plus. Jiný typ vysílání se specifikovaným obsahem se zatím v programu neobjevil.

Většinou se vybírají kanály zpočátku celé řady, nejčastěji CH_26 až CH_32, s výjimkou (nevím proč) CH_30. Ten se obsazuje jen zřídka nebo jsme ho snad neviděl nikdy. Pak je už, ale výrazně méně často, také používán CH_MOB_01 a kanály ze začátku řady CH_MO_XX. Zpočátku to vypadalo, že pouze v rozmezí CH_MP_01 až CH_MP_03, ale například včera by použit (za celý den byly v iVysílání+ jen 2 pořady), kanál CH_MP_05.

Tímto tedy odpovídám na jeden z dotazů, jestli by nebylo možné ikony kanálů (ne pořadů) měnit podle toho, co vysílají. Předem to nelze stanovit určitě a v době, kdy už jsou v EPG nějaké pořady, tak je to logický problém. Teoreticky (i prakticky) se  totiž mohou v jeden den na jednom kanále sejít pořady sportovní i ne-sportovní. A pak by bylo složité, rozhodnout, jakou ikonu bude daný kanál mít. Proto jim nechávám primárně ikonu iVysílání a měním ji pouze v rámci daného pořadu, je-li označený jako sportovní.
 
Citovat
#46
Jak jsem už psal, zatím a jen u sebe jsem si upravil script tak, že teď už na něm funkčně nemám co k vylepšení. Stále je to ale občas mírně "nestabilní". Snažím, se jednotlivé situace řešit, ale nechová se to pokaždé stejně. Momentálně největší problém je to, že se po změně kanálu z disabled na enabled, občas nevloží EPG. Stalo se to naposledy sice před pár dny, poté jsem mírně upravil časování, a od té doby to, zdá se, funguje dobře. Ale raději ještě chvíli počkám. Druhý problém, který ještě nemám 100% ověřený s tedy vyřešená, je chování při přesunu pořadu z kanálu na kanál. Jako na potvoru k tomu v posledním týdnu nedošlo, resp. jsme si toho nevšiml, takže ani tohle ještě nemohu uzavřít. Jinak pokud to funguje, je to super.
[attachment=11360]
Zvyšuje to možnosti při výběru sledování sportu na ČT, což teď, po těch změnách v O2TV bude určitě zajímavé. Já sám jsem O2TV placený kartou na další období už nezaplatil a čekám, jak to dopadne. Tu očekávanou částku za kombinaci O2TV Sport + VOYO určitě platit nehodlám, prostě se bez některch sportů obejdu, případně je budu získávat jinými, "alternativními" metodami. 11
 
Citovat
#47
Ahoj 
Hele mohl by si upravit kód pro vice programových skupin?

 NETWORK_TVH_PLUS = 'iVysilani+' aby tu šlo zada více skupin ... potřebuji tři kusy.

Díky moc.
 
Citovat
#48
@martinchromy1985: Tomu nerozumím. A co bude v těch dalších dvou skupinách a jak to bude fungovat?
 
Citovat
#49
Ahoj

No momentálně mam doma udělané skupiny s názvem zdroj-ivysilani… zdroj-oneplay… zdroj-satelit.. pak mam vytvořenou skupinu programy, kde mam vytvořen program který ma zdroje priorizovane. Další skupinu mam Programy-Sport. Potřeboval bych aktualizovat všechny skupiny. Název programu je zachován dle tvé tabulky v kodu. Pujde to upravit?

Diky
 
Citovat
#50
@martinchromy1985: Omlouvám se, ale stále ještě nerozumím. Co míníš tím "aktualizovat všechny skupiny"? Chceš u nějaké jiné skupiny programů (resp. kanálů) testovat, zda mají EPG a pokud ne, tak jim nastavit stav disable? Nějak tak, jak to mám v kódu pro O2TV Sport? A jak by to mělo fungovat v případě, že máš pro jeden kanál více zdrojů, to už netuším vůbec.

BTW Já to mám taky tak, že pro některé kanály mám více zdrojů (DVB-T, DVB-C, OTT služby), ale vždy mám všechny service od stejného kanálu nasměrované do stejného channel Tvheadend. Takže pokud něco u nich nastavuji, tak bez ohledu na to, kolika a jakých zdrojů každý z těch channel má. To řeším pomocí priorit service, takže kdybych těm kanálům začal nastavovat enable/disable podle stavu některého zdroje, tak by to bylo zásadně špatně.

Jinak já jsem pro další připravovanou verzi úplně vyhodil tu část kódu právě pro O2TV Sport. Jednak nevím, jestli budu vůbec O2TV Sport/One Play v budoucnosti přijímat a jednak to nechci míchat dohromady. Udělal jsme si to tam proto, abych si vyzkoušel, jak to bude resp. jak to může fungovat. Pokud bych někdy chtěl tyhle kanály nějak dynamicky nastavovat, udělal bych to zvláštním scriptem, který samozřejmě využije stejnou knihovnu ApiTvh. Je to proto, že ta dynamika změn EPG je u těchto kanálů zásadně jiná a jiná taky asi bude strategie fungování, tedy to, podle jakých kritérií nastavovat enable/disable channels. Taky bude záležet na tom, na jak dlouho dopředu se EPG stahuje. Pokud je to na 7 dní, tak jako u mne, tak nemá prakticky význam u O2TV Sport kanálů nějaké enable/disable řešit, protože v takovém případě tam vždycky nějaké (i když hodně řídké) EPG je. Jedině, kdy to bude mít nějaký význam, bude snad v době, kdy skončí liga/ligy. Tohle je prostě jiná úloha, než u i iVysílání+, takže si zaslouží vlastní script.
 
Citovat
#51
Ahoj
Omlouvám se za delší odmlku. Přišlo jaro ... práce venku.

Mno co přesně potřebuji :

obr1

Na obrázku jsou tři skupiny programů a potřebuji v těchto skupinách vypínat a zapínat programy ivysíláníí podle stavu epg jak to dělá tvuj script.

Programy mají názvy dle tvé tabulky v kódu.
obrr2

Bude to možné ? ... Jak jsem psal výše .. bere mi to jen jeden štítek. Moje představa byla, že by se dalo rozšířit na více štítku kanálu v této časti kódu.
 
Kód:
# Přihlašovací údaje
    USER_TVH = ''
    PASSWORD_TVH = ''
    # Název sítě, používá se jako channelTag a group title kanálů v playlistu
    NETWORK_TVH = 'iVysilani'
    NETWORK_TVH_PLUS = 'iVysilani+'
    # Tabulka mapování služeb ke kanálům (obsahuje relace <služba: kanál>
    MAPPING_SERVICES_PLUS = {
    "CH_25": "CT iVysilani+ 1",
    "CH_26": "CT iVysilani+ 2",
    "CH_27": "CT iVysilani+ 3",
    "CH_28": "CT iVysilani+ 4",
    "CH_29": "CT iVysilani+ 5",
    "CH_30": "CT iVysilani+ 6",
    "CH_31": "CT iVysilani+ 7",
    "CH_32": "CT iVysilani+ 8",
    "CH_MOB_01": "CT iVysilani+ 9",
    "CH_MP_01": "CT iVysilani+ 10",
    "CH_MP_02": "CT iVysilani+ 11",
    "CH_MP_03": "CT iVysilani+ 12",
    "CH_MP_04": "CT iVysilani+ 13",
    "CH_MP_05": "CT iVysilani+ 14",
    "CH_MP_06": "CT iVysilani+ 15",
    "CH_MP_07": "CT iVysilani+ 16",
    "CH_MP_08": "CT iVysilani+ 17"
    }

Díky za feedback.
 
Citovat
#52
Ahoj všem, chtěl jsem se zeptat, jestli vám v playlistu jede
CH_MOB_01
CH_MP_08
U mě tyhle kanály nejedou a chci si jen ověřit, jestli je chyba jen u mě. Děkuji za případné reakce.
 
Citovat
#53
@100karel: Teď jsem to kontroloval a ano, opravdu nejedou.

Ale ono se tohle občas stává. Pokud se tam zrovna nevysílá pořad (tedy kromě videosmyčky přestávky), tak se to většinou nezjistí a vlastně to ani nevadí.
 
Citovat
#54
Ahoj
Nebylo by možné toto naprogramovat i pro multidimezne u one play? 

Používám tvh scripty. ty umějí stáhnout epg. tudíž by zdroj dat byl.

Ještě jednou díky za práci pro fórum.

Díky Martin
 
Citovat
#55
@martinchromy1985: Možné by to bylo, a dokonce to už naprogramovane i je. Ale jen u mého Tvheadend, kde používám vlastní scripty a Epg beru z Webgrab++. Tedy kromě OnePlay Sport. Ty řeším právě tím mým skriptem.

Zveřejním to rád, ale teď jsem na dlouho mimo domov. Mám jen mobil, a s tím toho moc neudělám.
 
Citovat
#56
(27.6.2025, 13:03)JiRo Napsal(a): @martinchromy1985: Možné by to bylo, a dokonce to už naprogramovane i je. Ale jen u mého Tvheadend, kde používám vlastní scripty a Epg beru z Webgrab++. Tedy kromě OnePlay Sport. Ty řeším právě tím mým skriptem.

Zveřejním to rád, ale teď jsem na dlouho mimo domov. Mám jen mobil, a s tím toho moc neudělám.
Ahoj 
Tak už si dorazil.. bylo by možné mi scrit zzasdílet?
 
Citovat
#57
@martinchromy1985: Psal jsem to jen pro sebe, protože Tvheadend scripty s EPG napsal už @waladir v rámci Oneplay Server a já tedy nepředpokládal, že o to mé řešení EPG bude zájem. Takže je to pojaté poněkud účelově, odpovídající mému prostředí a je tedy třeba, před zveřejněním, provést ještě nějaké úpravy a zobecnění a hlavně, odladit to na datech. Teď ale nic v multiidimenzi dlouho nebylo, a další bude až příští týden, takže uvidím, jestli se k tomu dostanu. Pokud ne, tak další možnost bude asi až někdy ve 2. polovině srpna, to už poběží liga a bude k dispozici více variantních dat.
 
Citovat
#58
Ahoj 
Mam dotázek ohledně EPG? jde Vám?

V logu mi to píše že nevylbo uploadovan xml file nebo byl prázdný.
 
Citovat
#59
@martinchromy1985: Já jsem teď na moři, takže se tomu budu věnovat až se vrátím.

Mrknul jsem se na můj TVServer, kde iVysílání+ provozuji, ale generuji pouze na den dopředu a na dnes a zítra tam žádný pořad nevidím. Pokud bude čas, podívám se na to někdy v dalších dnech. Ale všiml jsem si nějakých změn na web-u iVysílání, je tedy možné, že se i ve zdrojových datech něco změnilo a bude třeba to upravit. Ale na to čas asi mít teď nebudu.
 
Citovat
#60
Tak zatím jsem toho moc nezjistil, počítač jsem si tentokrát nevzal a s mobilem toho moc nenadělám. Fakt je, že to nefunguje ani u nás doma. Zdrojový server z adresy https://hbbtv.ceskatelevize.cz/online/se...nline.json vrací prázdná data. Až budu doma, můžu se zkusit vrátit k původnímu řešení a data získávat z api iVysílání. Já ale bohužel původní verzi, která data získávala z api iVysílání, v domácím archivu nemohu nalézt, takže to budu muset napsat znova a případně upravit s ohledem na možnou neakceptovatelnou zátež často se opakujícími requesty.

Pokud by někdo věděl, např. @pbk:, který mě na zdroj hbbtv.ceskatelevize.cz před časem upozorníl, jak se změnila struktura tohoto webu, případně zda vůbec a kde je možné původní json data získat, budu za radu vděčný.

EDIT Tak zatím, co vidím vzdáleně na serveru, se generace EPG pro iVysílání zase rozjela a obsah xmltv odpovídá tomu, co vidím i na webu iVysílání. Takže to vypadá, že teď už vše funguje dobře.
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)