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í.
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:
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:
Známé chyby, problémy a omezení:
To-Do:
Aktuální verze ke stažení:
[attachment=5866]
Changelog verze 0.3:
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í.
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
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:
- rozbalení zip souboru
- editace parametrů ve scriptech
- nakopírování do cílového adresáře
- *spuštění login.sh
- *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
- *nastavení a související kroky v Tvheadend
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.
