XBMC-Kodi.cz
TV v Kodi - 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)
+--- Téma: TV v Kodi (/prispevek-tv-v-kodi)



TV v Kodi - JiRo - 13.5.2018

Už delší dobu se potkávám s různými názory a požadavky, co a jak by kdo chtěl v Kodi v oblasti zobrazování a zpracování lineárního televizního vysílání implementovat. A velmi často je z toho cítit nepochopení samotných principů Kodi v této oblasti. Proto nahodím jen pár zásadních hesel, aby bylo zřejmé, o co v Kodi v této oblasti jde. Částečně možná dubluji infromace v Tvheadend rozcestník od @marhycz a v dalších příspěvcích, které jsou ale už dost specifické a speciální, ale podle mne je občas asi dobře, vrátit se ke kořenům. Zejména pro nováčky, kterým je tento post věnován především

Live TV

Live TV je interní funkce Kodi.

Směrem k uživateli nabízí základní funkce:
  • sledování TV vysílání - přehrávání jeho streamů prostřednictví přehrávače Kodi,
  • timeshift,
  • přehrávání nahrávek - dtto jako u streamů,
  • zobrazení loga kanálu,
  • správu nahrávek (mazání, správu příznaků typu sledováno, aktuální pozice přerušeného sledování nahrávek),
  • správu časovačů nahrávání,
  • zpracování a zobrazení EPG,
  • správu kanálů a skupin kanálů.
Kodi ale vlastní funkce, které za výše uvedenými uživatelskými funkcemi stojí, nevykonává. To přenechává tzv. PVR klientům, pro které (či pro jejich autory a tvůrce) definuje a vytváří interní rozhraní, přes které jsou všechny výše uvedené funkce dostupné.

PVR Klienti

Jsou to tzv. addons, tedy nemusí být nutně (ale mohou a některé i jsou) vytvářeny týmem Kodi. Na rozdíl od ostatních addons jsou ale specifické, a to v tom, že pro ně nexistuje podpora (rozhraní, funkce a knihovny) v Python), jako pro ostatní doplňky. Tyto addons musí být napsány v nějakém vyšším jazyce (nejlépe v C, či právě v C, pro který Kodi poskytuje příslušné knihovny a funkce obsahující příslušná rozhraní k Live TV). A co je hlavní, tyto addons musí být s Kodi (jeho knihovnami) přeloženy. Znamená to, kromě mnoha dalších věcí, že každá verze instalace pro každý cílový systém (Windows, a to zvlášť pro 16 i 32, Linux, LibreELEC, ...) každého addon PVR klienta, je nepřenositelná na  jinou verzi ani na jiný systém.

PVR Servery

Nejsou součástí Kodi a pokud s ním nějak "interagují", tak jen prostřednictvím PVR klientů, kterým poskytují svá data (live streamy, EPG, obrázky s logy kanálů, atp.) a funkce, které PVR klienti přes standardní rozhraní  "propojují" s Live TV funkcí Kodi. PVR klient a PVR Srever vytváří klasickou vazbu klient - server. Někdy je ta vazba zřejmá, jindy méně. Obsah vazby (ne vždy musí vazba obsahovat všechny nabízené možnosti) zároveň určuje, jaké funkce s ohledem na vlastní TV vysílání budou v Live TV k dispozici.

Jak mohou takové typické dvojice klient - server vypadat ukážu na třech případech:

Tvheadend
  • klientem je PVR addon Tvheadend HTSP Client, serverem Tvheadend Server
  • server může být umístěn kdekoliv v síti, do které vidí Kodi, tedy i na stejném stroji, na kterém běží Kodi, ale i v tom případě s ním komunikuje pouze prostřednictvím síťových služeb
  • server poskytuje klientovi prakticky všechny funkce, které umí využívat Live TV
  • server dokáže přijímat vysílání DVB-T, T2, C, S a také IPTV/OTA, v co počítám i internetová rádia
  • pokud jste se setkali s LibreELEC/OpenELEC mohli jste zjistit, že existuje addon Tvheadend Server. Nenechte se mýlit. O addon Kodi se v tomto případě nejedná. Jeho autoři pouze využili infrastrukturu Kodi k tomu, aby sobě (a hlavně nám) zajistili jednoduchou správu instalace Tvheadend serveru. Ten je pochopitelně přeložený s LibreELEC/OpenELEC, takže je na něm závislý. Nikoliv tedy na Kodi), na kterém pracuje zcela nezávisle.
  • důležitá poznámka. Tvheadend server dokáže v oblasti příjmu a zpracování IPTV/OTA streamů minimálně to, co IPTV Simple Client, přidává k tomu ale možnost dalších funkcí - timeshift, nahrávání a také neméně podstatnou funkci jakéhosi "hubu", který uspokojuje požadavky místních klientů (a nejen Kodi) na streamy tak, že pokud se objeví požadavek na současné přehrávání stejného streamu z více klientů, směrem od jeho zdroje (IPTV/OTA serveru) se stream přijímá pouze jeden. Jakou to má výhodu na zatížení internetového připojení nebo v těch případech, kdy provider IPTV/OTA omezuje počet aktuálně připojených zařízení, ani není třeba připomínat. Například v případě O2TV se Tvheadend server jeví jako jedno připojené zařízení, přitom může streamy poskytovat libovolnému počtu dalších klientů (samozřejmě, jen co mu výkon a komunikační infrastruktura povolí).
Zapni.tv
  • klientem je PVR addon Zapni.tv, serverem veřejný server provozující tuto OTA službu
  • klient využívá ty funkce serveru, které jsou obecně k dispozici (neznám přesně současný seznam, které v současné době klient nabízí, addon nepoužívám ho) a převádí je do funkcí Live TV
  • dá se zjednodušeně napsat, že serverovými službami jsou ty služby, které má k dispozici (a zaplacené) aktuálně přihlášený uživatel
IPTV Simple klient
  • klientem je PVR addon, serverem jednotliví poskytovatelé  streamů, tedy jejich servery
  • adresy streamů, které chce (může) uživatel sledovat, se do klienta dostávají prostřednictvím tzv. playlistu, ten obsahuje, kromě identifikace a adresy streamu, také řadu doplňujících informací, např. logo streamu (kanálu) nebo identifikaci streamu (kanálu) pro EPG
  • klient umí zpracovávat EPG ve formátu xmltv a dokáže je přes identifikaci v playlistu spárovat s daným streamem (kanálem) a předat je ve správném tvaru Live TV
  • vzhledem k omezeným funkční možnostem na straně směrem k serveru (serverům) - pouze spuštění a zastavení přehrávání vybraného streamu a vložené funkci načítání EPG, jsou možnosti v LiveTv zásadně omezeny. Chybí nahrávání, timeshift a vše co s nimi souvisí.
Video addon

Existuje celá řada video doplňků, které umí přijímat lineární vysílání z IPTV/OTA zdrojů.  Takovým příkladem je O2TVGO nebo iVysílání. Stěžejní funkcí takových doplňků je transformovat datovou strukturu serverů do jednoduchých seznamů Kodi, vkládat do nich adresy streamů, a také (velmi často) řešit někde požadovanou autentizaci. Některé z nich mají i další funkce, umí například zobrazovat a vybírat data z archivu, atd. Na rozdíl od  PVR addon však data (vč. streamů) neposkytují dál Live TV, ale používají a přehrávají je přímo. V podstatě vytváří s "mateřským" serverem také dvojici klient - server, ale s tím, že prezentační vrstvu, kterou je u předchozích PVR addon funkce Live TV Kodi, zajišťují sami, pouze s využitím přehrávače Kodi. Výhodou takovýchto addon je to, že jsou psané v Python, což umožňuje značnou přenositelnost (jsou -li napsané správně, tak absolutní) mezi jednotlivými instalacemi, a do značné míry, i verzemi Kodi.

Video

Asi by v tomto přehledu měla padnout i tato možnost. Kodi ji umí nativně a tak je vhodné ji uvést taky. Kodi umí přehrávat streamy, pokud jsou ve vhodných formátech (v kontejnerech a kódování). Stačí pro to jediné. Stream, tedy jeho adresu uložit do souboru s příponou strm. Pak stačí složky s takovými soubory přidat jako soubor a od té doby si můžete obsah živých TV streamů přehrávat jako každé jiné video. Komfort a další funkce jdou samozřejmě stranou. Jedinou výhodu toto řešení přeci jen má. Rychlost spuštění přehrávání streamu je absolutně bezkonkurenční ze všech výše uvedených metod.