09.4.2018, 18:01
09.4.2018, 18:01
09.4.2018, 19:01
-je to takové řešení napůl, vše z toho už tady bylo napsáno :)
09.4.2018, 21:48
dik borci.
napadlo ma ->
php skript, ktorym nebudem autorizovat http request na playlist a vracat obsah, ale ktory bude parametrizovany podla nazvov stanic a budem vracat len redirect na konkretnu URL streamu
pseudo:
GET /station.php?id=CT1
php:
1. stiahnem cely zoznam pomocou mojich credentials
2. iterujem, hladam v m3u CT1
3. vratim redirect na skutocnu URL
takto by som nasekal staticke URL len 1x a refresh tokenu by prebehol on demand
je mozne ze rozmyslam blbo ale snad by to mohlo fungovat, co vy na to?
M
napadlo ma ->
php skript, ktorym nebudem autorizovat http request na playlist a vracat obsah, ale ktory bude parametrizovany podla nazvov stanic a budem vracat len redirect na konkretnu URL streamu
pseudo:
GET /station.php?id=CT1
php:
1. stiahnem cely zoznam pomocou mojich credentials
2. iterujem, hladam v m3u CT1
3. vratim redirect na skutocnu URL
takto by som nasekal staticke URL len 1x a refresh tokenu by prebehol on demand
je mozne ze rozmyslam blbo ale snad by to mohlo fungovat, co vy na to?
M
09.4.2018, 22:21
mmmm: dle mého názoru není potřeba do toho tahat PHP, používám pipe:// na shell skript, který dělá to samé... wget a sed, znouze tail či awk :-)
10.4.2018, 9:06
10.4.2018, 9:35
(09.4.2018, 21:48)mmmm Napsal(a): [ -> ]dik borci.přesně takto to funguje :) pouzivam u TV kde se meni token. Muzes nastavit bud pres cron na pravidelny interval aby se ti aktualizoval link a nebo klidne primo do kanalu takze vzdy kdyz naladis kanal tak probehne vygenerovani linku.
napadlo ma ->
php skript, ktorym nebudem autorizovat http request na playlist a vracat obsah, ale ktory bude parametrizovany podla nazvov stanic a budem vracat len redirect na konkretnu URL streamu
pseudo:
GET /station.php?id=CT1
php:
1. stiahnem cely zoznam pomocou mojich credentials
2. iterujem, hladam v m3u CT1
3. vratim redirect na skutocnu URL
takto by som nasekal staticke URL len 1x a refresh tokenu by prebehol on demand
je mozne ze rozmyslam blbo ale snad by to mohlo fungovat, co vy na to?
M
10.4.2018, 10:29
10.4.2018, 11:00
presne tak. příklad mas u sebe soubor http://loclalhost/nova_cinema.php a vse se meni v tomto souboru takze pri aktualizaci zustava parametr muxu stejny tudiz "neni" zadna zmena. Az bys editoval nova_cinema.php tak tady bys videl ze pokazde je tam jina url. Neresis vypadek EPG.
10.4.2018, 11:16
JiRo: no, mě se URL MUXů nemění a problém s EPG nemám.
Já mám MUXy třeba takto:
viz http://www.xbmc-kodi.cz/prispevek-tvhead...4#pid38224
Pro každého poskytovatele je pak jeden SH skript...
Tzn. adresa MUXu se nikdy nezmění, ten SH skript mi na STDOUT rovnou posílá TS stream, který jsem mu řekl v parametru (tady =1), tzn. tokeny a tohle vše se řeší uvnitř skriptu. Když se MUX nikdy nemění, problém s EPG nemám.
Je tam ale velké ALE: jak jsem psal, zadávám ty MUXy ručně, takže ještě nad tohle by se musel udělat jeden skript pro "Network" (něco jako máš ty teď), který by načítal seznam kanálů a z nich ten playlist sestavoval, tedy např. v případě toho iVysílání by to byl SH skript, který by musel automatizovaně sestavovat něco jako toto:
Pak by to ale bylo úplně dokonalé, díky tomu by to fungovalo už plně automaticky, Network si SH skriptem načte ze zdroje kanály a sestaví odkazy na SH skripty jednotlivých kanálů. Kanál pak bude mít stálý SH skript s parametry určující co přesně od providera pustit. A to důležité, když přibude nový kanál, nebo se změní něco důležité (číslo/kód kanálu, bitrate, a podobně) bude to hrát dál, nové kanály samy přibudou, zrušené kanály zmizí.
Takový vzdálený sen :-) Pak by se do toho jako pluginy daly přidávat skripty pro další a další OTT IPTV providery.
Offtopic: Úplně stejným způsobem by se to dalo udělat i jako doplněk pro KODI, který by dělal to samé. Jen to je asi trochu pracnější, protože na doplňky je "dobré" umět Python :)
Já mám MUXy třeba takto:
Kód:
pipe:///home/hts/ivysilani.sh 1
Pro každého poskytovatele je pak jeden SH skript...
Tzn. adresa MUXu se nikdy nezmění, ten SH skript mi na STDOUT rovnou posílá TS stream, který jsem mu řekl v parametru (tady =1), tzn. tokeny a tohle vše se řeší uvnitř skriptu. Když se MUX nikdy nemění, problém s EPG nemám.
Je tam ale velké ALE: jak jsem psal, zadávám ty MUXy ručně, takže ještě nad tohle by se musel udělat jeden skript pro "Network" (něco jako máš ty teď), který by načítal seznam kanálů a z nich ten playlist sestavoval, tedy např. v případě toho iVysílání by to byl SH skript, který by musel automatizovaně sestavovat něco jako toto:
Kód:
#EXTM3U
#EXTINF:-1,CT1
pipe:///home/hts/ivysilani.sh 1
#EXTINF:-1,CT2
pipe:///home/hts/ivysilani.sh 2
#EXTINF:-1,CT24
pipe:///home/hts/ivysilani.sh 3
#EXTINF:-1,CT Sport
pipe:///home/hts/ivysilani.sh 4
#EXTINF:-1,CT Decko
pipe:///home/hts/ivysilani.sh 5
#EXTINF:-1,CT Art
pipe:///home/hts/ivysilani.sh 6
Pak by to ale bylo úplně dokonalé, díky tomu by to fungovalo už plně automaticky, Network si SH skriptem načte ze zdroje kanály a sestaví odkazy na SH skripty jednotlivých kanálů. Kanál pak bude mít stálý SH skript s parametry určující co přesně od providera pustit. A to důležité, když přibude nový kanál, nebo se změní něco důležité (číslo/kód kanálu, bitrate, a podobně) bude to hrát dál, nové kanály samy přibudou, zrušené kanály zmizí.
Takový vzdálený sen :-) Pak by se do toho jako pluginy daly přidávat skripty pro další a další OTT IPTV providery.
Offtopic: Úplně stejným způsobem by se to dalo udělat i jako doplněk pro KODI, který by dělal to samé. Jen to je asi trochu pracnější, protože na doplňky je "dobré" umět Python :)
10.4.2018, 11:23
10.4.2018, 11:35
OT, chlapi obdivuji Vaši šikovnost a hlavně píli s jakou se do těchto věcí pouštíte (hoďte mi tip kde na to berete čas?). Nemít doma EPG v KODI TV řešeno přes spící STB boxy (automaticky si programovou nabídku pro všechny kanály natahují každé ráno pomocí pluginu EPG Refresh) asi by měla manželka definitivně po přehledu co v té "bedně" dávají či dávat budou . Opravdu jsem občas rád, že tu ty mašiny mám a že se mi o TV "export" via KODI dobře starají, lehce se nechá zapomenout, že vůbec existují ... A to mívám občas kacířské myšlenky se jich zbavit
10.4.2018, 11:49
francis: generování v těchto php je potřeba mít webserver?Mohl bys pro nás "natvrdlé" dát návod???
10.4.2018, 12:04
A ano, udělat to dvoustupňové, to by šlo. To mě napadlo hned také. Nějak mě ta představa, že by si uživatel musel vyplňovat Muxy pro každý program, nenadchla. Takže playlist tak jako ho navrhuješ, to by bylo řešení určitě správné a vygenerovat to celé automaticky by zas takový problém být nemusel.
K pluginu. Můj plugin je v podstatě obálka pro takové řešení a asi by nebyl problém ho pro nové řešení upravit. Už dnes je koncipován s dílčími skripty pro každého providera, takže je na to vlastně téměř připravený. Pythonu bych se nebál. Ne proto, že ho umím, to ani náhodou. Z objektového programování mám osypky. Ale já jsem si z pár jiných addon vytáhl pythonovskou obálku, která mi umožnila vyrobit plugin, který po startu Kodi nasplánuje spuštění sh scriptu. A dokážu do něj, přes nastavení pluginu, dostat parametry (viz screenshoty). Znamená to sice, že plugin může běžet jen na Linuxu, ale my ho jinde spouštět nepotřebujeme a kvůli kompatibilitě s LibreELEC je napsaný v primitivním sh shellu.
[attachment=3697] [attachment=3698]
Pokud by měl někdo zájem, můžeme spojit síly a řešení dát dohromady společně. Já si teď vyzkouším upravit stávající plugin v duchu uvedených návrhů a pokud mi to bude fungovat, vyházím zbytečné smetí kolem EPG a restartů klientů a pak by bylo možné to zveřejnit.
10.4.2018, 12:14
otava5: nemusíš mít webserver, můžeš to psát i v PHP a spouštět to zase přes pipe:// (tj. pipe://php /var/www/html/skript.php). Webserver je jenom o tom, že to PHP spouští pokaždé, když v prohlížeči zadáš HTTP(s) požadavek (zjednodušeně řečeno). Nic ale nebrání to PHP pouštět přímo.
Já osobně to raději píšu v bashi, protože nerad přidávám komponenty navíc (v tomto případě PHP) :)
JiRo: kdyžtak pomůžu, můžu třeba založit GitHub účet :-D
Já osobně to raději píšu v bashi, protože nerad přidávám komponenty navíc (v tomto případě PHP) :)
JiRo: kdyžtak pomůžu, můžu třeba založit GitHub účet :-D
10.4.2018, 12:55
10.4.2018, 14:52
vše jde udělat autmaticky. Muj system je sice trosku složitější (stazeni playlistu>uprava playlistu>precteni playlistu podle paramateru>vytvoreni noveho nebo prepsani stavajiciho souboru.php) ale jde to aj jednodušeji pomoci REQUEST takze neni nutno sestavovat script pro kazdy kanal.
navod pro natvrdlé (stazeni playlistu>uprava playlistu>precteni playlistu podle paramateru>vytvoreni noveho nebo prepsani stavajiciho souboru.php) jak napsat ten script je uz jina. na to musis prijt sam
11.4.2018, 11:46
Začal jsme upravovat koncepci mého řešení. Po stažení playlistu od providera a jeho úpravě, která zůstala prakticky dle původního konceptu, se volitelně automaticky (viz dále ad.1) generuje druhý playlist, který místo odkazů na streamy a jejich případnou konverzi ffmpeg obsahuje volání jednoduchého parseru s parametrem jména programu, který z prvního playlistu podle zadaného jména programu ty konkrétní streamy pro vygenerované mux-y vytahuje. Tedy žádné zvláštní scripty pro každý kanál.
Předpodkládám zachovat mé dvě tradiční varianty generace, které si uživatel zvolí v parametrech addon pro daného providera:
Oproti mému původnímu návrhu to asi v dané chvíli na nějakou kooperaci nevidím - nestíhám totiž. Rád bych addon dokončil a zveřejnil tak, aby umožňoval využití pro providery, které mám vyřešené. Případně jsem připraven doplnit providery další, pokud mi někdo dodá nějaký playlist downloader daného providera schopný běžet na LE/OE.
Předpodkládám zachovat mé dvě tradiční varianty generace, které si uživatel zvolí v parametrech addon pro daného providera:
- převezme se celý playlist od providera - tzn. žádné dodatečné editace ani vyplňování nějakých parametrů, např. čísel programů, atd. Vše proběhne automaticky, programy budou číslovány sekvenčně tak, jak jsou řazeny v playlistu, počínaje číslem uvedených v parametrech sítě, atd.
- uživatel bude moci jednorázovou editací druhého playlistu doplnit do řádku $EXTINF parametry, viz http://www.xbmc-kodi.cz/prispevek-tvheadend-a-iptv?pid=31003#pid31003, které se pak přenesou do parametrů jednotlivých mux-ů.
Oproti mému původnímu návrhu to asi v dané chvíli na nějakou kooperaci nevidím - nestíhám totiž. Rád bych addon dokončil a zveřejnil tak, aby umožňoval využití pro providery, které mám vyřešené. Případně jsem připraven doplnit providery další, pokud mi někdo dodá nějaký playlist downloader daného providera schopný běžet na LE/OE.
11.4.2018, 13:04
JiRo: mohl by ses podělit o příklad toho sh shellu?
12.4.2018, 12:18
14.4.2018, 7:23
JiRo: to vyhledání by mě zajímalo stačilo by mi kdyby šlo vyhledat dle výrazu řádek ve zdrojovém a zkopírovat do čísla řádku v cílovém....
Zatím to mám udělané tak že zkopíruju číslo řádku ve zdrojovém do čísla řádku v cílovém playlistu přes "sed"....
Ale když se mění/přidávají stanice ve zdrojovém playlistu dokážeš si představit co mi to udělá
Zatím to mám udělané tak že zkopíruju číslo řádku ve zdrojovém do čísla řádku v cílovém playlistu přes "sed"....
Ale když se mění/přidávají stanice ve zdrojovém playlistu dokážeš si představit co mi to udělá