![]() |
|
Informační obrazovka v Tvheadend - Verze k tisku +- XBMC-Kodi.cz (https://www.xbmc-kodi.cz) +-- Fórum: KODI - Doplňky (https://www.xbmc-kodi.cz/forum-kodi-doplnky) +--- Fórum: Live TV & PVR (https://www.xbmc-kodi.cz/forum-live-tv-pvr) +---- Fórum: Tvheadend (https://www.xbmc-kodi.cz/forum-tvheadend) +---- Téma: Informační obrazovka v Tvheadend (/prispevek-informacni-obrazovka-v-tvheadend) |
Informační obrazovka v Tvheadend - JiRo - 30.8.2026 Podělím se o zkušenosti s tím, jak v Tvheadend, pokud člověk používá příjem prostřednictvím metody pipe s remuxem zdrojového streamu pomocí ffmpeg, dostat na obrazovku TV nějakou informaci získanou v procesu neúspěšného získání zdrojového streamu. Já to používám u mého komplexního řešení streamer-server, které je založeno na databázi streamů, získaných různými metodami, z nich si vlastní script vybere ten nejrychleji dostupný a ten pošle do Tvheadend. Pokud ale pro daný kanál takový stream neexistuje, není v databázi nebo není momentálně žádný z databáze dostupný, pošle do Tvheadend lokálně generované statické video s odpovídající informací. Postup je celkem jednoduchý. Pokud v rámci získání/zpracování adresy streamu daného kanálu doje k nějaké chybě, která znemožní spuštění přehrávání streamu s obsahem vysílání daného kanálu, místo klasického volání ffmpeg se sadou odpovídajícíh parametrů, zavolá script ffmpeg s parametry, které zobrazí statický obrázek, do kterém lze dynamicky vložit potřebný text, který odpovídá dané mu kontextu. O tom jsou dva výše uvedené screenshoty. První ukazuje volbu kanálu GP 1 TV a druhý informaci, že TVheadend nemá momentálně pro daný kanál k dispozici žádnou službu. Příklad toho, jak pak taková volání ffmpeg, resp. jeho parametry vypadají najdete níže. Uvádím ho v aktuální podobě mého řešení, ve formě procedury noservice_pipe, která se zavolá, pokud výkonná část scriptu zjistí, že žádná služba pro zvolený kanál nenabízí funkční stream. Z pohledu tématu je podstatné to, co se ukládá do proměnné args a pak dva parametry volání procedury, path a text. Ostatní části kódu jsou už poplatné tomu, kde a jak proceduru používám a nejsou pro toto téma podstatné:
Kód: def noservice_pipe(service, provider, text, path, loglevel="error"):V podstatě jde o variantu řešení, které používá @waladir ve svých skvělých řešeních doplňků a scriptů pro různé OTT služby, hlavně OnePlay, který pro tyhle účely využívá stream OTT služby Sledovanitv.sk:: |