• 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:
  • 2 Hlas(ů) - 5 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Playlist 4NET (DigiTV, Poda, ...)
#1
Další z playlistů použitelný především v Tvheadend, který ale může být inspirací i pro jiná použití. Tradiční koncept sady souborů sh scriptů, včetně výkonného scriptu (streamer-u). Řešení je určené pro ty, kteří mají alespoň základní povědomost nejen s Tvheadend, ale také s Linuxem, či alespoň s jeho základním scriptovacím jazykem sh. Před použitím je třeba ve scriptech upravit pár údajů, respektující parametry vašeho prostředí, a také samozřejmě parametry a přihlašovací údaje služby.

Dále uvedené řešení, které původně vzniklo pro DigiTV, je možné použít i v dalších službách, které jsou postavené na základě řešení nabízené společností 4NET (4net.tv). OTT platformu této společnosti využívá řada poskytovatelů služeb, například DigiTVPoda a další. Dále uvedený postup byl původně napsán pro službu DigiTV, ale platí samozřejmě pro všechny další služby vycházející ze 4NET OTT a na službu vašeho poskytovatele si ho můžete celkem bez problémů adaptovat sami. Protože jsou si služby využívající řešení 4NET podobné jako vejce vejci, upravil jsem scripty původně vytvořené pro konkrétní služby (DigiTV Poda) do obecné podoby tak, aby je bylo možné po pouhým zadáním parametrů použít i v dalších službách. 

Výchozí podmínky:
  • instalovaný Tvheadend server
  • přístup do adresáře, kam je možné umístit soubory skriptů, kde také budou vytvořeny soubory playlistu. Do tohoto adresáře musí vidět i Tvheadend
  • instalovanou aplikaci jq pro práci s json daty.  Pokud ve vašem systému chybí, je třeba ji nainstalovat. V případě máte-li LibreELEC, je aplikace jq součástí addon System Tools, ze sekce Doplňky programů repozitáře LibreELEC Add-ons.
  • zaplacenou službu s alespoň jedním volným zařízením
  • instalovanou aplikace ffmpeg. Ta je buď součástí systému, nebo si ji musíte nainstalovat. V případě máte-li LibreELEC verze 9.x, tak je třeba pro instalaci ffmpeg nainstalovat addon FFmpeg Tools, ze sekce Doplňky programů repozitáře LibreELEC Add-ons.
Scripty získáte stažením zip souboru, který je umístěn na konci postu. Rozbalíte je do vybraného adresáře splňujícího výše uvedené podmínky.

Význam a funkce jednotlivých scriptů:
  • login.sh - autentizace a registrace zařízení. Před prvním použitím je třeba zadat vaše přihlašovací údaje ke službě a název vašeho zařízení. Script zaregistruje zařízení k vašemu účtu a vytvoří tzv. token, který uloží do souboru token. z něj si ho budou ostatní scripty brát, bude-li pro jejich činnost potřeba. Před prvním použití scriptu je třeba do něj doplnit:
    • username - vaše přihlašovací jméno (mailová adresa) do služby DigiTV
    • password - vaše heslo pro přihlášení do služby DigiTV
    • device - jméno vašeho zařízení/systému, pod kterým bude viditelné ve službe DigiTV. Doporučuji něco neutrálního, nepoužívejte texty Kodi nebo Tvheadend, abychom zbytečně nedráždili.
    • provider - název služby/providera, např. DigiTVPoda, ...
    • address - část webové adresy služby, např. mobile-tv.itself.cz pro službu DigiTV nebo live.poda.tv pro službu Poda
    • data - plnou cestu k adresáři, do kterého jste scripty umístili (např. tedy /storage/.kodi/playlist/digitv/ nebo /storage/.kodi/playlist/poda/). V tomto adresáři budou tedy umístěny nejen vlastní scripty, ale budou se do něj vytvářet i všechny příslušné soubory
  • playlist.sh - soubor, po jehož spuštění se vytvoří generický playlist. Tento soubor už můžete přímo použít v parametrech sítě Tvheadend, ale doporučuji si ho spíše zkopírovat, přejmenovat a upravit obsah podle vlastních potřeb. Před prvním použití scriptu je třeba do něj doplnit:
    • address - viz výše
    • data - viz výše
  • streamer.sh - výkonný soubor, který spouští Tvheadned (metoda pipe://) při scanování nebo po přepnutí na daný kanál. Obsahuje volání ffmpeg, který zajistí přeposílání obsahu streamu do Tvheadend. V tomto scriptu se také pouští další script check.sh, který zajišťuje periodickou obnovu session přehrávaného kanálu. Před prvním použití scriptu je třeba do něj doplnit:
    • provider - viz výše
    • address - viz výše
    • data - viz výše
    • prog - plnou cestu k ffmpeg. V případě LibreELEC verze 9.x a instalace výše uvedeného addon, je plná cesta /storage/.kodi/addons/tools.ffmpeg-tools/bin/, (tedy prog=/storage/.kodi/addons/tools.ffmpeg-tools/bin/) ve verzi 8.x pak stačí, když obsahem prog bude prázdný řetězec (tedy ponecháte pouze prog=)
  • check.sh - script umístěný v tomto tohoto souboru provádí periodickou obnovu session. Před prvním použití scriptu je třeba do něj doplnit:
    • address - viz výše
Vytvářené soubory:
  • token - je do něj scriptem login.sh uložen aktuální token platný pro váš účet a zařízení
  • playlist.generic.m3u8 - generický playlist, vytvářený scriptem playlist.sh. Generický proto, že je chápán jako východisko, ze kterého si každý uživatel může vytvořit vlastní playlist. Jinak seřadit kanály, některé vypustit, doplnit dalšími informacemi, atp. Pokud to chcete provádět, je to vhodné dělat na jiném souboru (kopii toho generického), protože při každém dalším spuštění scriptu playlist.sh se obsah toho generického playlistu přepíše!
Postup při zprovoznění:
  1. Základní podmínkou je existence funkčního Tvheadend a jeho klientů v Kodi
  2. Pokud není, tak nainstalovat aplikaci jq
  3. Pokud není, tak instalovat ffmpeg
  4. Vytvořit adresář, ve které budou umístěny všechny výše uvedené soubory a vytvořeny soubory další
  5. Do vytvořeného adresáře rozbalit obsah zip se soubory
  6. Upravit login.shplaylist.shstreamer.sh a check.sh
  7. Spustit postupně login.sh a playlist.sh
  8. Podle svých potřeb zkopírovat a upravit playlist
  9. Parametrovat Tvheadend - Automatick network, případně Buquet používáte-li ho, potom samozřejmě scanEPG...
  10. Restartovat Kodi a užívat si...
Omezení, problémy, doporučení:
  • služba nedovolí z jednoho zařízení spustit více jak 1 stream (tedy přesněji řečeno, ona to dovolí, ale streamy pak jedou bůhví jak, plno chyb, výpadky, zamrzávání, ztráta kontinuity chunků, atp.). Znamená to v parametrech sítě nastavit hodnotu Maximální počet vstupních streamů: na 1 a smířit se s tím, že více streamů na jednom zařízení spustit nebude možné.
  • zatím se nepodařilo ze služby stáhnout EPG, proto doporučuji použít Webgrab++, zdroje lze nalézt zejména na sms.cz
  • sada scriptů uložená níže v souboru playlist.4net je určena k použití pro libovolnou službu vycházející z řešeni 4NET. V dané chvíli ale nejsem schopen 100% zaručit, že to bude skutečně fungovat na všech službách, protože to nemohu vyzkoušet. Proto prosím o případnou reakci a informace o použití v dalších službách.
Chtěl bych tímto také poděkovat uživatelům fóra @koperfield@Danco86 a @ericek74, kteří mě svými radami a názory pomohli. A @koperfield ještě jednou a zvlášť za to, že jako první adaptoval scripty na další službu, tedy Poda.

Soubory ke stažení:

Aktuální verze: 0.2
[attachment=5102]

Ověřeno pro:
  • DigiTV - parametr address=mobile-tv.itself.cz
  • Poda - parametr address=live.poda.tv
 
Citovat
#2
Mohu se zeptat jaké z toho leze rozlišení a fps a datový rok?
edit.: sorry částečná odpověď vedle v threadu....
::: 3x Beelink Mini MXIII-II - CE 9.2 v NAND (1x private TVH server) ::: 1x Mi Box S - Android TV :::
 
Citovat
#3
@otava5 Je to HLS, takže se to může v průběhu času měnit. V drtivé většině 1920x1080, fps 50, datový tok je bohužel docela obrovský, 5-6 Mbps. Oni to totiž kódují stále v h264. Taky na to při uzavírání smlouvu upozorňují. 10

Udělal jsem to, protože jsem to někomu slíbil, ale vzhledem k tomu omezení na 1 stream to nepokládám za moc ideální. Koupil jsme si pouze Sport pack na 1 měsíc, abych to mohl odladit, ale je pravda, že ta skladba programů je skvělá. To mi bude chybět. 10

K těm parametrům obrazu. Teď jsme porovnával Golf Channel na Kuki a Digi. Kuki mi teď jede 1920x1080 a 25 fps, Digi 720x576 a 50 fps. Nerozumím tomu, proč to dělají, když ostatní (snad kromě Arena Sport 2) jede ve FHD. Ale jak jsem napsal, je možné, že se to časem může změnit. Nejsem si jistý, ale mám pocit, že včera mi Golf Channel v Digi jel taky ve FHD... Obsah manifestu ukazuje, že skutečně dneska Golf Channel ve FHD Digi opravdu nenabízí. Bůh suď, jaké mají licenční podmínky:
Kód:
#EXTM3U
#EXT-X-ALLOW-CACHE:NO
#EXT-X-STREAM-INF:PROGRAM-ID=424,BANDWIDTH=3600000,RESOLUTION=720x576
/sesgrp/ses/pllive_424_profile3.m3u8?sidn=30795543
#EXT-X-STREAM-INF:PROGRAM-ID=424,BANDWIDTH=2000000,RESOLUTION=712x576
/sesgrp/ses/pllive_424_profile2.m3u8?sidn=30795543
 
Citovat
#4
parada,vyzkouseno-funguje
konecne muzu z boxu vyhodit android a dat tam coreelec
dik
Rpi3-Libreelec 9.2.0-skin:aeonnox5-silvo  ,  Kiii pro-Coreelec 9.2.1  ,  Ugoos X3 Pro dualboot ATV/CoreElec
 
Citovat
#5
@ericek74 Nechci chladit tvé nadšení, ale vyvaruj se nevratných kroků. Že to bude fungovat navždy ti samozřejmě nikdo nezaručí. 6
 
Citovat
#6
Spouštění více streamů na jednom zařízení, jak jsem uvedl výše, není možné. A nebude (patrně) možné to ani nijak obejít, protože si to služba hlídá, respektive proti tomu nasazuje patřičné restrikce v omezení funkčnosti streamů.

Jistá možnost tu ale přeci jen je. Chcete-li mít možnost ve svém Tvheadend pouštět více streamů najednou, musíte Tvheadend "věnovat" více než jen jedno zařízení.

Znamená to registrovat si více zařízení a jako více zařízení je definovat v Tvheadend a pro každé z nich si naskenovat zvláštní sadu služeb a pak si služby shodných kanálů přiřadit k jednomu programu. Kolik zařízení si takto v Tvheadend přiřadíte, tolik kanálů současně budete moci sledovat/nahrávat v Tvheadend. Maximum jsou samozřejmě 4, více zařízení vám služba DigiTV nedovolí zřídit.

Je zřejmé, že je to na úkor toho, abyste DigiTV mohli používat současně někde jinde. Je to tedy vaše volba, čemu dáte přednost. Nemusí to samozřejmě být plný počet 4 v Tvhedand. Už mi psal kamarád, že si do Tvheadend plánuje registrovat dvě zařízení, další dvě, že si nechá na mobilní zařízení a že potřebuje naučit, jak to udělat... 10

Realizovat takové řešení se dá vytvořit minimálně dvěma způsoby:
  • nejjednodušší je vytvořit si na straně Tvheadend příslušný počet sítí a pro každou z nich založit zvláštní adresář a do něj nakopírovat příslušné scripty, provést registraci (pokaždé z jiným jménem zařízení) a vygenerovat playlist. Pak je samozřejmě nutné to patřičně obsloužit na straně Tvheadend. Definovat priority služeb, programy jedné sítě zablokovat a jejich služby přiřadit k programům druhé sítě, ... 
  • druhým způsobem by mohlo být vytvoření nové sady scriptů, které by vše vyřešily najednou v jednom playlistu a v jedné síti. Tam by práce na straně Tvheadend mohla být (více či méně) zcela automatická
 
Citovat
#7
Díky práci na scriptu pro příjem DigiTV jsem si čuchl k programům této služby. Jinak s ní moc zkušeností zatím nemám a tak se chci zeptat někoho zkušenějšího, jak je to s programy Digi Sport. V nabídce, kterou stahuji ze serveru, mi chybí Digi Sport 5 a programy  Digi Sport 6 - 9  jsou trvale bez obsahu. Zejména u těch 6 - 9 mě zajímám zda se v nich nějaký obsah vůbec kdy objevuje? Nerad bych je měl trvale v nabídce, na druhou stranu bych zase o něco nechtěl přijít...
 
Citovat
#8
@Client Díky moc za skripty! DigiSport 5 je dostupný pouze ve slovenské DigiTV (tuším, že tam jde tenis, který má u nás O2 Sport). Na DigiSportech 6-9 vysílají fotbal (s anglickým komentářem), pokud se hraje více souběžných zápasů v jednom čase (primárně bych řekl z Bundesligy a italské ligy), pokud se nehraje, tak nevysílá nic.
Nvidia Shield
 
Citovat
#9
Presne jak píše marri. Na 5 je jen tenis ženy wta(u nás o2) zbytek jen o víkendu souběžne zapasy Německo, Itálie, Španělsko. Je to stejný, jako má o2 až 8sportu(multidimenze)
Rpi3-Libreelec 9.2.0-skin:aeonnox5-silvo  ,  Kiii pro-Coreelec 9.2.1  ,  Ugoos X3 Pro dualboot ATV/CoreElec
 
Citovat
#10
@marri + @ericek74 Díky za vysvětlení. Že jsem si to nemyslel. 1
 
Citovat
#11
@Client ked si spravil digitv tak to by si urcite zmakol aj magiogo. Nechce sa ti na to pozriet? poslal by som ti meno a heslo
 
Citovat
#12
@pan_klobouk Už tu mám žádosti na více služeb. Jsi v pořadí. Tento týden jsem celý mimo republiku, začnu se tomu věnovat až příští týden. Pak uvidím.
 
Citovat
#13
@Client Ok, dik pockam.
 
Citovat
#14
Udělal jsem nějaké změny v reakci na práci @koperfield, který playlist pro DigiTV upravil i pro službu Poda. Protože se zdá, že by to mohlo být využitelné i pro jiné služby, které jsou postavené na řešení 4NET, tak jsem scripty zobecnil a přejmenoval celé téma. Vše najdete v 1. příspěvku tématu: Playlist 4NET (DigiTV, Poda, ...).

Nyní je tedy možné pomocí těchto scriptů přijímat tv ze služeb DigiTV a Poda. Doufám, že se brzy ověří, že to funguje i na dalších.
 
Citovat
#15
(03.4.2019, 14:59)pan_klobouk Napsal(a): @Client ked si spravil digitv tak to by si urcite zmakol aj magiogo. Nechce sa ti na to pozriet? poslal by som ti meno a heslo

Skorej by som sa prihovaral, keby ze sa do toho @Client dal, aby script usil na slovensku Digi Go, pretoze ak by niekto chcel iba Digi sporty 1 az 5,co si myslim ze je takych vacsina, tak by usetril. Co som pozeral na ponuku magiogo, tak tieto sportove kanaly su az v premiovej ponuke za 5.99, zatial co u Digi za 3,33 € mesacne. Ostatne kanaly ktore ponukaju nie su az tak atraktivne a su lahsie dostupne aj inymi cestami. Ale samozrejme je to iba moj nazor, nikomu ho nevnucujem.
A navyse sa zda, ze obidvaja provideri spolupracuju a ide to z tych istych serverov. Takze scripty by s mensimi upravami mohli fungovat pre obidvoch. Meno a heslo by som samozrejme poskytol aj ja.
 
Citovat
#16
@Client Tohle je skvělá práce pánové! Strašně moc oceňuji čas a ochotu sdílet svoji práci ve volném čase s komunitou!
Přidám to do rozcestníku s Tvheadendem jestli to nevadí :)
SZ nepoužívejte na dotazy, které se hodí pro všechny. Pouze pokud chcete abych něco někde doplnil, opravil.
_____
i3 Haswell + Arch Linux + Docker (Tvheadend + WG + Home-Assistant + Deconz + LetsEncrypt ) + Samba Share
Apple TV (Infuse, TvhClient), Apollo Lake Mini PC (Kodi 18.4)
 
Citovat
#17
@marhycz Jasně, že to nevadí.

Jen by bylo dobré, kdyby se i ostatní začali svěřovat se svými řešeními. Chápu, potenciální zisk je lákadlem, ale tady na tom nikdo stejně nezbohatne a tak je mi divné, proč si značná část fanoušků svá řešení úzkostlivě tají. Důležité je, aby se zapojili ti, kteří uvedené služby využívají dlouhodobě. Já si vždycky musím uvedenou službu zaplatit, pak se tomu nějaký čas věnovat, zbytek zaplaceného času ji i používám, ale jakmile mi předplatné doběhne, už je pro mne komplikované se k tomu vracet.
 
Citovat
#18
(28.4.2019, 10:17)Client Napsal(a):  je mi divné, proč si značná část fanoušků svá řešení úzkostlivě tají

Protože česká komunita je zvláštní, někdo něco chce a poměrně malé procento lidí je důveryhodné.

mimochodem, kontaktuj mne přes sz nebo si na pár hodin zapni možnost napsat ti zprávu..
 
Citovat
#19
Náměty / poznámky:

provider=channel --> provider=<Jmeno_providera>

${prog}ffmpeg -fflags +genpts -v fatal -i ${stream} -vcodec copy -acodec copy -f mpegts -mpegts_service_type digital_tv -metadata service_provider=${provider} -metadata service_name=${service} pipe:1


-->

${prog}ffmpeg -fflags +genpts -v fatal -i ${stream} -vcodec copy -acodec copy -f mpegts -mpegts_service_type digital_tv -metadata service_provider=${provider} -metadata service_name=${channel} pipe:1

Token, registrace, pipe, playlist zdá se fungují, refresh tokenu / stabilitu / plynulost a rychlost musím ještě vyzkoušet, ale vypadá to velice dobře. Ale byla by to paráda, kdyby to šlapalo (Mám PODu).. Palec nahoru a velké díky!

Konečně mám příjem Mňau TV 1
 
Citovat
#20
Škoda, že je to tak složité. Člověk bez patřičných zkušeností toto snad ani nemůže zprovoznit. Mám Podu a chtěl bych ji sledovat na boxu s Libreelec ,ale toto fakt nedám. Kdyby to šlo nainstalovat jednodušeji, bylo by to fajn.
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)