Nuo Plausible statistikos kaupimo, šis tekstas buvo skaitytas 909 kartą/us.
Šio teksto atnaujinimo ar rašymo laikas jau yra senesnis, kaip vieneri metai, tad per šį laiką galėjo mano nuomonė pasikeisti bei aptartos konfigūracijos.
Tekstas buvo atnaujintas: 2020-05-01.
Kelios dienos, kaip tenka susidurti su programų gido generavimu, tad galvoju sudėliosiu viską į vieną tekstą.
Šie gidai reikalingi norint rodyti programų gidą, žiūrint IPTV.
Aprašysiu, kaip vyksta EPG generavimas bei, kaip įkelti gidą į Tvheadend.
EPG Tvheadend’e:
Webgrab+Plus įrašymas
Asmeniškai naudoju docker konteinerį:
docker create \ --name=webgrabplus \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/Vilnius \ -v /kelias_iki_config_failų/:/config \ -v /kelias_iki_epg_failo_/nėra_būtina/:/data \ --restart unless-stopped \ linuxserver/webgrabplus
Naudojant konteinerį nekils bėdų dėl mono versijos.
Instrukcija, kaip įrašyti į sistemą nenaudojant docker.
Reikia turėti omeny jog mono versija gali būti senesnė sistemoje nei reikia, jeigu senesnė versija, gali nepaimti EPG iš puslapių.
Kaip atsinaujinti mono galima rasti jų puslapyje.
Konfigūravimas
Įrašius į sistemą standartiškai, jog Wg++ startuotų reikia leisti terminale:
sudo ~/.wg++/run.sh
Startuojant, nepamirštame Sudo.
Vietoje ~ galima nurodyti pilną kelią iki .sh failo.
Norint jog startuotų naudojant docker:
docker exec -it webgrabplus /bin/bash
s6-setuidgid abc /bin/bash /defaults/update.sh
Prieš paleidimą reiktų pakoreguoti WebGrab++.config.xml
failą.
Tame faile reikia nurodyti iš kokio puslapio bus paimtas EPG.
Atsidarius failą pas mane atrodo taip:
<?xml version="1.0"?>
<settings>
<filename>/data/guide.xml</filename>
<mode></mode>
<postprocess grab="y" run="n">mdb</postprocess>
<user-agent>Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0</user-agent>
<logging>on</logging>
<retry time-out="5">4</retry>
<timespan>1</timespan>
<update>i</update>
<channel update="i" site="tv24.lt" site_id="tv3-2" xmltv_id="TV3">TV3</channel>
</settings>
Mėginsim paimti EPG iš tv24.lt – TV3 kanalo gidą.
Norint pridėti daugiau kanalų reikia atsidaryti tv24.lt xml failą kuris randasi:
Site.ini > Lithuania > tv24.lt.channels.xml
Ten yra surašyti kokius kanalus galima paimti.
Kaip pvz LNK:
<channel update="i" site="tv24.lt" site_id="lnk" xmltv_id="LNK">LNK</channel>
Tai šią eilutę perkeliame į pagrindinį failą prie TV3.
Kanalus dėti ten kur yra jiems skirta vieta, nemėtyti bet kur, nes dėl sintaksės vėliau nesupras ko prašoma.
Startuojant Wg++ bus prabėgama ir patikrinta ar visi reikiami ini failai yra aplankale, bei bus pradėta generuoti xmltv failas.
Kurio vietą nurodome:
<filename>/data/guide.xml</filename>
Leidžiant Wg++, terminale turime matyti, kažką panašaus, jeigu mėtomos klaidos tai dėl mono versijos arba blogos sintaksės pagrindiniame faile.
WebGrab+Plus/w MDB & REX Postprocess -- version V2.1.9
Jan van Straaten
Francis De Paemeleere
thanks to Paul Weterings and all the contributing users
--------------------------------------------------------------------------------
Job started at 05/03/2020 16:33:20
found: /config/siteini.pack/Lithuania/tv24.lt.ini -- Revision 07
processing /data/temp-guide.xml ...
Found existing channel (xmltv_id=TV3) in the config file
.................................................................................................................................................
i=index .=same c=change g=gab r=replace n=new
( 1/1 ) TV24.LT -- chan. (xmltv_id=TV3) -- mode Incremental
ii..........................................................................
Summary for update of TV3
no changes, no update necessary !
unchanged shows inspected 74
total after update 74
Baigus Wg++ darbą bus sugeneruotas guide.xml failas kurį galima naudoti Tvheadend’e.
Tvheadend nustatymai norint paimti xml failą
Wg++ puslapyje yra instrukcija.
Bet trumpai sakant, reikia patalpinti vieną skriptą ir pakoreaguoti.
Talpinam failą /usr/bin kataloge:
sudo wget -O /usr/bin/tv_grab_wg++ http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt
Parsiuntus failą reikia pakoreguoti iš kur bus paimtas EPG failas.
sudo nano /usr/bin/tv_grab_wg++
Atsidarius failą galime rasti tokią eilutę: xmltv_file_location=~/.wg++/guide.xml
Reiktų pilnai nurodyti vietą kur guli guide.xml failas.
sudo chmod +x /usr/bin/tv_grab_wg++
Tikriname ar failas tinkamoje vietoje ir startuoja:
/usr/bin/tv_grab_wg++
Turime gauti tekstą apie paimtą failą.
Toliau reikia perkrauti Tvheadend.
sudo systemctl restart tvheadend
Startavus Tvheadend reikia atsidaryti:
Svarbiausiai uždėti enable
varrną.
Spaudžiame Trigger
jog paimtų naujus failus:
Turėtų paimti gidą ir visus duomenis permesti į:
Toliau reikia priskirti EPG prie tam tikro kanalo, daug būdų, kaip tai padaryti bet lengviausiai ir paprasčiausiai atsidaryti Channels
.
Galima ir nurodyti pagal TV ID, kuris aprašomas Wg++ faile, taip automatiškai Tvheadend žinos kam priskirti tam tikrą programų gidą.
EPG generavimo papildomi nustatymai
Pagrindiniame Wg++ faile yra papildomi nustatymai kuriuos galima keisti.
Visos sintaksės aprašytos jų dokumentacijoje.
Tik neseniai sužinojau dėl REX, kuris dar sutvarko turimą guide.xml failą.
Jog REX suveiktų, reikia nustatyti taip:
<postprocess grab="yes">rex</postprocess>
Bei nurodyti kur bus pirminis guide.xml
<filename>/data/temp-guide.xml</filename>
Tada pagrindiniame Wg++ aplankale turi būti rex
aplankalas o jame rex.config.xml
.
Kurį radau github’e.
O kam tas rex?
TV gidas tada sugebės rodyti serialų sezonus ir epizodus:
Rex faile apačioje reikia sutvarkyti sintaksę:
<title>'title'{ ('episode')}{ 'subtitle'}</title>
<desc>{Žanras: 'category(, )'.\n}{Metai: 'productiondate'\n}'description'{\nRežisierius: 'director(, )'}{\nVaidina: 'actor(, )'}</desc>
<sub-title></sub-title>
<credits></credits>
<episode-num></episode-num>
<date></date>
<category></category>
<review></review>
<rating></rating>
Bei nurodyti galutinį guide.xml failą kuris bus naudojamas.
<filename>/data/guide.xml</filename>
Sintaksė veikia su tv24.lt.
Už rex sintaksę ačiū Discord IPTV bendruomenės nariui @slaptasBotas.
Norint jog Kodi matytų atnaujintą EPG kanalui, reikia spausti tuos trigger, tada automatiškai perduodamas gidas į Kodi.
Jeigu generuoja EPG su blogu laiku, dažniausiai +-2val, tai dėl blogo ini failo.
Atsidarius ini failą susirandame:
site {url=tv24.lt|timezone=Europe/Vilnius|maxdays=8|cultureinfo=lt-LT|charset=utf-8|titlematchfactor=90|episodesystem=onscreen|ratingsystem=IMDb}
Jeigu timezone nurodytas lygiai toks pats, tai reikia pakeisti į:
timezone=UTC
Tada generuojame vėl EPG, jog būtų sutvarkytas laikas.
Automatinis generavimas galimas naudojant crontab.
sudo crontab -e
Atsidarius failui, reikia apačioje pridėti tokią eilutę:
15 3 * * * /kelias-iki-failo/.wg++/run.sh
Išsaugome ir turėtų startuoti naktį 3val. 15min. Geriau kankinkime serverius naktį
Naudojant docker, crontab laiką koreguojame wg-cron
faile.
Jeigu reikiamo kanalo nėra xml faile, tai darome taip.
Tvarkome, kai kanalas keičia pavadinimą.
<channel update="i" site="tv24.lt" site_id="viasat-sport-baltic" xmltv_id="Viasat Sport Baltic">Viasat Sport Baltic</channel>
Atsidarome tv24.lt ir susirandame kanalą kurio reikia.
Turime tada nuorodą:
https://www.tv24.lt/kanalas/tv3-sport-2
Keičiame viską taip:
<channel update="i" site="tv24.lt" site_id="tv3-sport-2" xmltv_id="TV3 Sport">TV3 Sport</channel>
Comments are closed.