• 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:
  • 13 Hlas(ů) - 2.38 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
WebGrab+Plus
#61
@otava5 To mám u těch kanálů, od kterých vytvářím kopie. Popravdě, když jsme to poprvé zadal, domníval jsme se, že u té kopie musí být ten offset zadaný, tak jsem ho tam dal s hodnotou 0. Jestli tam ale skutečně být musí, to nevím. Můžeš o vyzkoušet a z řádku s kopií ho odstranit.
 
Citovat
#62
@JiRo Já jsem totiž neměl celý týden čas k tomu sednout a protože zatím testuju, není to v ostrém provozu, tak grabuju dle situace, navíc HTPC neběží pořád, tudíž ani cron by mi občas nepomohl. Ale samozřejmě pak to změním a nastavím. Teď už běží webgrab stránky, tak mohu i instalovat na Ubuntu grabber a zas pokračovat v testech.
 
Citovat
#63
Upravený Jirův config webgrab++ pro O2TV - prostřední balíček O2TV - L
chybí Epic drama, CH1 Russia, CT1 sever, CT1 jih, Africké nebe a multidimenze O2 sport.. Pokud by někdo věděl jak to doplnit, byl bych rád 5


Přiložené soubory
.xml   WebGrab++.config.xml (Velikost: 14,23 KB / Stažení: 272)
 
Citovat
#64
JiRo: Používám, přes merge-xmltv.ini. ale bylo to tuším na nějaké úpravy v něm, úplně out-of-the-box mi to snad nefungovalo, někdy to sem třeba dám...
 
Citovat
#65
V několika minulých příspěvcích jsme diskutovali o nárůstu času grabování při zvyšujícím se počtu kanálů a @mobilemanic doporučil použít metodu xmltv2xmltv, tedy načítání již existujícího zdroje xmltv přes WG++. Já jsem se na to chystal už delší dobu, zmínka o tom je zde (Solved) Merge xmltv with EPG URL, ale teprve pěkně rozběhlá diskuse v tomto vlákně mě přesvědčila se tomu věnovat. Po přečtení návodu, který je uložen v přiloženém zip, jsem zjistil, že to řešení zas tak složité, jak jsem si po zběžném přečtení původně myslel, není.
[attachment=3936]

Má to smysl?

Tu otázku jsem si položil několikrát. Pokud existuje služba zdroje xmltv, má vůbec smysl pužívat WG++? Odpověď je jasná. Ano. Za posledních několik let jsem byl svědkem vzniku a zase zániku několika takových služeb. Mít vlastní zdroj se tedy rozhodně vyplatí. Vyplatí se také proto, že ne vždy u takové služby najdete to, co potřebujete. A v neposlední řadě, velmi často je třeba se potýkat s tím, že ne vždy identifikace kanálů v xmltv odpovídá té, která by se hodila vám.

Jak to funguje

Na první pohled složitý popis v podstatě směřuje ke dvěma cílům.
  1. Získání  kompletního přehledu kanálů, který daný zdroj poskytuje.
  2. Vytvoření standardního ini souboru pro daný zdroj, který umožní kanály tohoto zdroje zadávat do standardního konfiguračního souboru jako jakékoliv jiné.
V přiloženém zipu (viz výše) je, kromě popisu postupu (v en), i soubor merge-xmltv.ini, což je vzor a základ pro budoucí ini soubor pro váš zdroj. Pro další popis postupu budu předpodkládat, že jako zdroj použijeme xmltv z 22century.cz.

Postup:

1. Přejmenujte merge-xmltv.ini, např. na 22century.cz.ini. Takto vypadá soubor 22century.cz.ini před zahájením editace:
Kód:
**------------------------------------------------------------------------------------------------
* @header_start
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
* @Site: merge-xmltv
* @MinSWversion: 1.1.1/56.02
* @Revision 3 - [21/01/2016] Francis De Paemeleere
*   - add show icon
* @Revision 2 - [21/10/2015] Francis De Paemeleere
*   - speedup for large files
* @Revision 1 - [17/10/2015] Jan van Straaten
*   -  allows multiple xmltv input file to merge
* @Revision 0 - [09/05/2014] Jan van Straaten
*   - creation
* @Remarks:
* @header_end
**------------------------------------------------------------------------------------------------
*** edit - timezone=UTC+00:00 - to the timezone for which the xmltv data is created
*** edit (optional) - cultureinfo=en-GB - to the cultureinfo of the country for which the xmltv data is created
site {url=merge-xmltv|timezone=UTC+00:00|maxdays=31.1|cultureinfo=en-GB|charset=UTF-8|titlematchfactor=90|keepindexpage}
*
*** eventually enable and adapt ratingsystem and episodesystem to your requiements
*site {ratingsystem=GB|episodesystem=onscreen}
*
*** edit - path_of_the_xmltv_file2merge.xml - to your requirements
*** more than one file2merge or just one:
*subpage.format {list|path_of_the_1st_xmltv_file2merge.xml|path_of_the_2nd_xmltv_file2merge.xml|etc}
*** example
*subpage.format {list|D:\guide-1.xml|D:\guide-2.xml}
url_index{url|file://|subpage|}

scope.range {(datelogo)|end}
index_variable_element.modify {addstart|'config_site_id'}
end_scope
index_showsplit.scrub {regex||<programme [^>]*channel=\"'index_variable_element'\"[^>]*>.*?</programme>||}

index_start.scrub {single|start="||"|>}
index_stop.scrub {single|stop="||"|>}
index_title.scrub {single|<title|>|</title>|</title>}
index_subtitle.scrub {single|<sub-title|>|</sub-title>|</sub-title>}
index_description.scrub {single|<desc|>|</desc>|</desc>}
index_actor.scrub {multi|<actor>||</actor>|</actor>}
index_director.scrub {multi|<director>||</director>|</director>}
index_writer.scrub {multi|<writer>||</writer>|</writer>}
index_producer.scrub {multi|<producer>||</producer>|</producer>}
index_presenter.scrub {multi|<presenter>||</presenter>|</presenter>}
index_productiondate.scrub {single|<year>||</year>|</year>}
index_category.scrub {multi|<category|>|</category>|</category>}
index_starrating.scrub {single|<star-rating>|<value>|</value></star-rating>}
index_episode.scrub {single|<episode-num>||</episode-num>|</episode-num>}
index_showicon.scrub {regex||<icon src=\"([^\"]*)||}

scope.range {(indexshowdetails)|end}
* extraxt times
*start="20120922004200" stop="20120922021200"
index_start.modify {substring(type=char)|8 4}
index_temp_1.modify {substring(type=char)|'index_start' 0 2} * the hours
index_start.modify {substring(type=char)|2 2} * the minutes
index_start.modify {addstart|'index_temp_1':}
index_stop.modify {substring(type=char)|8 4}
index_temp_1.modify {substring(type=char)|'index_stop' 0 2} * the hours
index_stop.modify {substring(type=char)|2 2} * the minutes
index_stop.modify {addstart|'index_temp_1':}

index_description.modify {cleanup}
end_scope

**  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _
**      #####  CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
** @auto_xml_channel_start
*index_site_id.scrub {regex||<channel [^>]*id="[^\"]*"[^>]*>.*?</channel>||}
*scope.range {(channellist)|end}
*index_site_channel.modify {addstart|'index_site_id'}
*index_site_id.modify {substring(type=regex)|<channel [^>]*id="([^\"]*)"[^>]*>}
*index_site_channel.modify {substring(type=regex)|<display-name [^>]*>(.*?)</display-name>}
*index_site_id.modify {cleanup(removeduplicates=equal link="index_site_channel")}
*end_scope
** @auto_xml_channel_end

2. Otevřete vhodným editorem a postupně zeditujte následující řádky:

řádek: site {url=merge-xmltv|timezone=UTC+00:00|maxdays=31.1|cultureinfo=en-GB|charset=UTF-8|titlematchfactor=90|keepindexpage}
na: site {url=22century.cz|timezone=UTC+01:00|maxdays=31.1|cultureinfo=cs-CZ|charset=UTF-8|titlematchfactor=90|keepindexpage}

řádek: *subpage.format {list|D:\guide-1.xml|D:\guide-2.xml}
na (nezapomeňte odstranit *): subpage.format {list|http://22century.cz/program.xml}

řádek: url_index{url|file://|subpage|}
na: url_index{url||subpage|}

3. Odstraňte hvězdičku u všech řádků mezi řádky ** @auto_xml_channel_start** @auto_xml_channel_end - tento postup způsobí, že se vypíší všechny kanály, které má daný zdroj (v našem případě tedy 22century.cz) k dispozici.

4. Soubor uložte do umístění, kde máte i ostatní ini soubory. Já zásadně používám podadresář seitini.user, ve kterém mám i další ini soubory, které při grabování používám a nějak je upravuji. Takto vypadá soubor 22century.cz.ini po skončení editace:
Kód:
**------------------------------------------------------------------------------------------------
* @header_start
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
* @Site: 22century.cz
* @MinSWversion: 1.1.1/56.02
* @Revision 3 - [21/01/2016] Francis De Paemeleere
*   - add show icon
* @Revision 2 - [21/10/2015] Francis De Paemeleere
*   - speedup for large files
* @Revision 1 - [17/10/2015] Jan van Straaten
*   -  allows multiple xmltv input file to merge
* @Revision 0 - [09/05/2014] Jan van Straaten
*   - creation
* @Remarks:
* @header_end
**------------------------------------------------------------------------------------------------
*** edit - timezone=UTC+00:00 - to the timezone for which the xmltv data is created
*** edit (optional) - cultureinfo=en-GB - to the cultureinfo of the country for which the xmltv data is created
site {url=22century.cz|timezone=UTC+01:00|maxdays=31.1|cultureinfo=cs-CZ|charset=UTF-8|titlematchfactor=90|keepindexpage}
*
*** eventually enable and adapt ratingsystem and episodesystem to your requiements
*site {ratingsystem=GB|episodesystem=onscreen}
*
*** edit - path_of_the_xmltv_file2merge.xml - to your requirements
*** more than one file2merge or just one:
*subpage.format {list|path_of_the_1st_xmltv_file2merge.xml|path_of_the_2nd_xmltv_file2merge.xml|etc}
*** example
subpage.format {list|http://22century.cz/program.xml}
url_index{url||subpage|}

scope.range {(datelogo)|end}
index_variable_element.modify {addstart|'config_site_id'}
end_scope
index_showsplit.scrub {regex||<programme [^>]*channel=\"'index_variable_element'\"[^>]*>.*?</programme>||}

index_start.scrub {single|start="||"|>}
index_stop.scrub {single|stop="||"|>}
index_title.scrub {single|<title|>|</title>|</title>}
index_subtitle.scrub {single|<sub-title|>|</sub-title>|</sub-title>}
index_description.scrub {single|<desc|>|</desc>|</desc>}
index_actor.scrub {multi|<actor>||</actor>|</actor>}
index_director.scrub {multi|<director>||</director>|</director>}
index_writer.scrub {multi|<writer>||</writer>|</writer>}
index_producer.scrub {multi|<producer>||</producer>|</producer>}
index_presenter.scrub {multi|<presenter>||</presenter>|</presenter>}
index_productiondate.scrub {single|<year>||</year>|</year>}
index_category.scrub {multi|<category|>|</category>|</category>}
index_starrating.scrub {single|<star-rating>|<value>|</value></star-rating>}
index_episode.scrub {single|<episode-num>||</episode-num>|</episode-num>}
index_showicon.scrub {regex||<icon src=\"([^\"]*)||}

scope.range {(indexshowdetails)|end}
* extraxt times
*start="20120922004200" stop="20120922021200"
index_start.modify {substring(type=char)|8 4}
index_temp_1.modify {substring(type=char)|'index_start' 0 2} * the hours
index_start.modify {substring(type=char)|2 2} * the minutes
index_start.modify {addstart|'index_temp_1':}
index_stop.modify {substring(type=char)|8 4}
index_temp_1.modify {substring(type=char)|'index_stop' 0 2} * the hours
index_stop.modify {substring(type=char)|2 2} * the minutes
index_stop.modify {addstart|'index_temp_1':}

index_description.modify {cleanup}
end_scope

**  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _
**      #####  CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
** @auto_xml_channel_start
index_site_id.scrub {regex||<channel [^>]*id="[^\"]*"[^>]*>.*?</channel>||}
scope.range {(channellist)|end}
index_site_channel.modify {addstart|'index_site_id'}
index_site_id.modify {substring(type=regex)|<channel [^>]*id="([^\"]*)"[^>]*>}
index_site_channel.modify {substring(type=regex)|<display-name [^>]*>(.*?)</display-name>}
index_site_id.modify {cleanup(removeduplicates=equal link="index_site_channel")}
end_scope
** @auto_xml_channel_end

5. Nyní vložte do vašeho konfiguračního souboru WG++, tedy WebGrab++.config.xml, řádek:

<channel update="f" site="22century.cz" site_id="" xmltv_id="dummy">dummy</channel>

Doporučuji ostatní kanály zakomentovat nebo je dočasně ze souboru odstranit. Zbytečně byste čekali, až se nagrabují.

6. Spusťte WG++. Kromě standardního souboru výstupu, který teď ale není zajímavý a důležitý, se vytvoří soubor 22century.cz.channels.xml, který bude obsahovat seznam všech dostupných kanálů daného zdroje. 
[attachment=3937]

7. Vraťte se zpět k vaší původní verzi konfiguračního souboru, případně z něj odstraňte řádek <channel update="f" site="22century.cz" site_id="" xmltv_id="dummy">dummy</channel>, není už tam nutný (ale nevadí tam). Nyní můžete do konfiguračního souboru vkládat vybrané řádky kanálů z 22century.cz.channels.xml.

8. Na závěr doporučuji zpátky zakomentovat řádky v 22century.cz.ini (odkomentované v bodu 3). Pokud to neuděláte, nestane se nic hrozného, jen se při každém grabování bude znova vytvářet seznam dostupných kanálů zdroje.
[attachment=3943]


Závěr
  • Grabování ze zdroje xmltv je nesrovnateleně rychlejší než z webových stránek programů
  • Můžete s výhodou kombinovat data ze zdroje xmltv a zbytek si nagrabovat z webových stránek
  • Při definici jednotlivých kanálů můžete celkem jednoduše provést jejich přejmenování, to při přímém přístupu k datům zdroje xmltv možné není a také to přináší občas komplikace
  • Můžete celkem jednoduše a rychle přepínat mezi zdroji v případě, že dojde k nějakému výpadku. Stačí si své staré webové zdroje zakomentovat a v případě potřeby k nim rychle získat přístup
  • Pokud byste si chtěli přidat kanály i z jiného zdroje xmltv, můžete si shodným postupem vytvořit další ini soubor, případně vložit tento zdroj do existujícího ini souboru pro 22century.cz.ini. Pro druhý případ stačí pozorně si přečíst komentáře v ini souboru. Já ale preferuji první variantu. Člověk v tom pak má pořádek.
 
Citovat
#66
JiRo: klobouk dolů před množstvím tvého času.. :-)
 
Citovat
#67
@mobilemanic Mě to baví, do media center všeobecně a v posledních letech i do Kodi jsem už uložil hodně času, tak ať z toho mají užitek i ostatní. I od toho tu to fórum je, ne?
 
Citovat
#68
Tak po delší pauze a nějakém tom testování a laborování jsem stále nedošel uspokojivého výsledku, tak testuju dál. Ale to podstatné, už jsem to tu někde zahlédl, ale nenašel jsem to.. Grabuju od O2 (přispěl jsem na webgrab a zažádal si o soubory), což až na pár menších úprav ve stanicích vše v pořádku, ale problém je, že mi EPG ukazuje tak u dvou třetin programů jejich originální názvy místo přeložených českých. Třeba místo Teorie velkého třesku tam je Big Bang Theory, The. Popis je česky, ale název anglicky. Našel jsem v ini i v xml, že se grabuje obojí, ale je nějaká finta, jak docílit zobrazení českých popisů? Addon v Kodi je samozřejmě TVH.

Tak jsem na to asi přišel, já nenastavil TVH správně, ptá se při prvním spuštění na výchozí jazyk EPG. To bude asi ono, jdu to ověřit.
 
Citovat
#69
Ahoj, taky jsem si zacal delat vlastni EPG, ale mám ho o hodinu posunuty dopredu. Lze ho nejak nastavit ???? vim ze se to da v IPTV simple, ale to ja nechci, posilam si to na server TVHEadend a potom treba do TV...
 
Citovat
#70
Offset můžeš to posunout v tom definičním souboru pro webgrab++... otevři si na jejich stránkách dokumentaci...
 
Citovat
#71
@mobilemanic & @Konycz Není lepší nastavit správně time zone (timezone=Europe/Prague) zdroje než posouvat čas aby to sedělo? Nehledě na to, že v ini souborech by měly být time zone nastaveny správně, takže je zvláštní, že to nesedí. BTW U jakých zdrojů máš ten čas posunutý? Já používám více různých zdrojů z různých časových pásem, nikdy jsem nic neměnil ani neupravoval a vždycky mi to sedělo správně.
 
Citovat
#72
Mam tam nastaveno prahu, ale stejne je to posunuty....
kde by to melo byt nastaveno v tom ini ???
I cas na serveru mam spravne a data beru z sms.cz
 
Citovat
#73
@Konycz V ini se to (snad) nijak relaitvně posunou nedá a ani by se asi ani nemělo. Ta časová zóna v ini se zadává buď identifikací pásma (Europe/Prague) nebo offsetem vůči UTC a udává čas, jaký je přiřazen ve zdroji, v tomto případě tedy v sms.cz. Tady bys nic nikam posouvat neměl. Relativně posunout čas můžeš pro jednotlivé kanály v config.xml. Ale ani tady by se to nemělo dělat, měla by to být spíše výjimka pro případy, kdy použiješ jedno EPG ale pro více kanálů, z nichž každý je vysílaný v jiných časových pásmech.

Vždycky kontroluji toto:
  1. Správný datum a čas v xmltv (datum, čas a offset vůči UTC)
  2. Správné nastavení času (zóna) v systému serveru - zkontroluješ to pomocí DATE v systému (správný čas + CEST, je-li letní čas)
  3. EIT v nastavení sítě v TVH - mělo by tam být UTC
  4. Správný datum a čas v EPG TVH - GUI TVH záložka Elektronicky průvodce programu
  5. Správné nastavení času (zóna) systému klienta
  6. Správné nastavení času (zóna) na klientovi Kodi
Měl bys postupovat sekvenčně, abys našel místo, kde se ten čas "podělá". Začít u xml, pak na serveru a nakonec na klientovi. To ukáže, kde je třeba hledat nápravu.
 
Citovat
#74
Dá se někde sehnat EPG na Orange Sport a Digisport 6-10?
 
Citovat
#75
@otava5: Pokud vím, tak Orange Sporty mají na 22century. S ním ve W++ můžeš pracovat podle postupu, který zde @JiRo napsal výše.
Soukromý server - Ubuntu 18.04, TVHeadend 4.2.8-36
Dell Latitude E6420 - W10, TVHPlayer Beta, Kodi 18.5
Lenovo Vibe P1ma - Android 5.1, TVHClient + Yatse, Kodi 18.5
 
Citovat
#76
.....
Lame truper 1.2,
Jody 16.2 2
 
Citovat
#77
Tak jsem se ptal 22century si ini soubor pro Orange Sporty dělal sám.....Což ho chválím....Dal jsem na siteini request na fórum WebGrabPlus pro "satelitnatv.sk/tv-program", mají tam i ty digi sporty ... Ini soubor fakt sám nedám ....
 
Citovat
#78
Dnes jsem upravoval config a tak jsem sjel aktuální nabídku kanálů 22century. Zároveň jsem přihodil ini file. Najdete to v přiloženém zip-u. Snad se to někomu bude hodit. V ini souboru musíte před jeho použitím nahradit řetězce USER a CODE příslušnými údaji z vaší registrace na webu služby.

Jen bych ještě měl upozornit, že i když je grabování vlastního xmltv z již nějakého hotového xmltv rychlejší, než když xmltv grabujete z webových "program listů", žádný blesk to ale rozhodně není. A tak i tady se vyplatí si opravu vybrat jen to, co potřebujete. Včera večer jsem si pustil grabování komplet obsahu z 22century.cz a celkový čas běhu 5h 12m 25s. Pravda, běželo to na poměrně slabém stroji, ale přeci jen, více než 5 hodin, to už je docela síla.
 
Citovat
#79
JiRo: to je tím strojem, já když kopíruju z hotového xmltv, tak to trvá pár minut pro více než sto kanálů, dlouho ale pak trvá doplnění zbytku z sms.cz a ostatních zdrojů... ale když je dost CPU tak xmltv->xmltv by mělo být celkem rychlé
 
Citovat
#80
@mobilemanic Jo jo, máš pravdu. Na normální stroji to běží celkem svižně. Rozhodně svižněji než grabováním z web stránek.
 
Citovat
  


Přejít na fórum:


Prochází: 2 host(ů)