• 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:
  • 1 Hlas(ů) - 5 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Přehled skriptů pro OTT IPTV v TVHeadend
#3
T-Mobile TV
Vytvoření 2019-11-17

Popis pro připojení OTT služby T-Mobile TV do Tvheadend, navazuje na obecný popis a charakteristiku v https://www.xbmc-kodi.cz/prispevek-pripojeni-cz-sk-poskytovatelu-ott-iptv-k-tvheadendu?pid=67378#pid67378.

Typ řešení je typu onthefly.

De facto jde o řešení pro O2TV, upravené v těch částech, ve kterých se implementace Nangu-TV pro tohoto operátora liší. Například se nepoužívá cache adres streamů, protože jejich trvanlivost je pouze 1 hodina, navíc způsob řešení této části je zásadně odlišný od O2TV, takže i rychlost přepínání bez cachce je výrazně rychlejší a není tolik závislá na celkovém zatížení serverů služby.

Řešení obsahuje dále uvedené funkce a scripty.

Přihlášení a registrace zařízení

Provádí script login.sh. Při registraci se zadává, kromě jiného, device_name. Jméno zařízení se ale bohužel v této verzi na webu služby neobjeví. 10 Snad bude v některé v další verzi opraveno. 

Autentizační údaje jsou uloženy do vytvořeného textového souboru access.id, ze kterého je čtou ostatní scripty v řešení.

Vytvoření playlistu

Provádí script playlist.sh. Vytváří se soubor playlist.general.m3u8. Obsahem souboru jsou všechny kanály zaplaceného tarifu. Pokud uživatel chce playlist dále upravovat, doporučuje se, aby si vygenerovaný soubor zkopíroval a přejmenoval (např. playlist.m3u8). Protože při dalším spuštění scriptu dojde k jeho přepsání.

Ve vytvářeném playlistu, který odpovídá standardnímu formátu, je na místě adresy streamu uloženo volání scriptu streamer.sh (včetně úvodního pipe:// a absolutní cesty k souboru scriptu) a předávané parametry. V tomto řešení se předávají dva, volitelně tři, parametry:
  • identifikace kanálu ve formátu odpovídající formátu specifikace api serveru služby,
  • identifikace služby, která bude prostřednictvím parametru ffmpeg předána do Tvheadend,
  • parametry ffmpeg, kterými budou doplněny parametry volaného ffmpeg - předpokládá se jejich použití především pro dodatečnou definici mapování audio streamů daného kanálu
Od verze 0.3 je přidána možnost volitelného použití loga kanálů z T-Mobile TV.

Kromě playlistu script vytváří ještě soubory channels.lst a channels_by_name.lst, které pomáhají zlepšit přehled a orientaci v nabídce kanálů a také nastavuje souboru scriptu streamer.sh příznak spustitelného souboru.

Streamer

Script streamer.sh provádí sestavení requestu a parsování odpovědi serveru služby. Vzhledem k tomu, že služba T-Mobile TV vrací odpověď ve formátu json s nabídkou více adres (na různých serverech služby) manifestů (jde o HLS případně DASH, server tedy nevrací adresu streamu, ale adresu manifestu), je s ohledem na rozložení zátěže serverů vybrán náhodným výběrem jedna z adres. Znamená to, že opakované spuštění stejného kanálu může vrátit jinou adresu serveru. Není to tedy chyba, ale úmysl. Snažím se tímto řešení rovnoměrněji rozložit zátěž na servery služby.

Postup instalace:
  1. rozbalení zip souboru
  2. editace parametrů ve scriptech
  3. nakopírování do cílového adresáře
  4. *spuštění login.sh
  5. *spuštění playlist.sh, editace vygenerovaného playlist.general.m3u8 a zkopírování do cílového souboru (např. playlist.m3u8) kde může být dále editován a upravován
  6. *nastavení a související kroky v Tvheadend
Body označené * samozřejmě není třeba při opakované instalaci provádět vždy. Záleží na tom, jaký druh změn ve scriptech nové verze chcete využít.

Známé chyby, problémy a omezení:
  • Po přihlášení a registraci zařízení se do databáze služby nepřenes zadané device_name. V položce jméně zařízení na webu se objeví IP. Doporučuji si tedy jméno zařízení na webu zeditovat. 
  • Omezené možnosti scriptů obecně i to, že scripty jsou často používány na "omezených" linux derivátech (*ELEC), mě vedlo k tomu, že problematiku dekódování znaků názvů kanálu řeším pomocí překódovacích tabulek (encode1.sed a encode2.sed). Může se stát, že v tabulkách budou některé znaky chybět a názvy pak nebudou odpovídat očekávání. Dojde-li k tomu, upozorněte mě na to a já tabulky doplním.

To-Do:
  • Zadání parametrů - přemýšlím o tom, jak obejít nutnost editace sh scriptů pro zadání uživatelských parametrů. Vzhledem k tomu, že nepoužívám klasickou instalaci ve smyslu Linux ani pro scripty nepředepisuji umístění vždy k konkrétním adresáři, vždy tam potřeba nějaké editace nebo omezení bude. Ale chtěl bych to minimalizovat a proto v některé další verzi plánuji doplnit soubor s parametry. Bude to nejspíše json, který se dobře edituje i parsuje. Toto řešení první odladím na O2TV variantě scriptu, pokud se osvědčí, bude doplněno i pro T-Mobile TV.
  • epg.sh - zatím není k dispozici.

Aktuální verze ke stažení:
[attachment=5866]

Changelog verze 0.3:
  • generace playlistu přizpůsobena dalším typům služeb a jejich kombinací - pokus odstranit problémy u některých tarifů a kombinací zařízení,
  • přidána možnost volitelného použití loga kanálů z T-Mobile TV.
 
Citovat
  


Příspěvků v tématu
RE: Připojení CZ/SK poskytovatelů OTT IPTV k TVHeadendu - od Client - 30.10.2019, 1:25

Přejít na fórum:


Prochází: