Nadešel čas spojit všechny maliny s TVheadendy a postavit jeden hlavní server, co bude vládnout všem 🙂 Základem tedy bude Raspberry Pi, 2ks TV tunnery a TVheadend server 🙂
Začneme instalací Raspberry Pi OS (původně nazvaný Raspbian a vychází z distribuce Debian) což je jednoduchá záležitost – stáhneme image stránek a nahrajeme na SD kartu. Při prvotním bootování RasPI OS se rozšíří filesystem přes celou SD kartu a následně se již spustí vlastní systém. Abychom nemuseli mít neustále k RasPi připojený monitor a klávesnici, povolíme si přes raspi-config službu SSH pro vzdálený přístup. Už si jen zjistit jakou RasPi dostala IP adresu a můžeme pokračovat.
Dále se podíváme, jestli systém správně detekoval TV tunery. V mém případě se jedná o dva tunery – TV HAT (připojený přes GPIO) a DVBSky T330 DVB-T2/T/C USB Stick (připojen klasicky přes USB). Nejprve dmesg a případně vylistujeme připojené USB zařízení – lsusb.
Ve výpisu dmesg je vidět, že TV HAT je bez problému detekován a připojen. U DVBSky je drobná chybka:
si2168 11-0064: Direct firmware load for dvb-demod-si2168-b40-01.fw failed with error -2
si2168 11-0064: Direct firmware load for dvb-demod-si2168-02.fw failed with error -2
si2168 11-0064: firmware file 'dvb-demod-si2168-02.fw' not found
Po instalaci v systému není odpovídající firmware na použitý DVB-T2 USB stick a je jej potřeba tedy dodat. Naštěstí instalace je jen o nakopírování souborů do odpovídajícího adresáře systému.
Chybějící soubory firmware (zde konkrétně – dvb-demod-si2168-b40-01.fw a dvb-demod-si2168-02.fw) si stáhneme z GitHubu. Oba následně nahrajeme do adresáře /lib/firmware.
Po restartu je již všechno v pořádku, oba tunery se úspěšně detekovali a připojili.
Pokud je vše v pořádku, můžeme se vrhnout na poslední část, instalace vlastního TVheadened serveru. Přes balíčkovací systém je to v debianu hračka : apt install -y tvheadend
Jak instalace doběhne, můžeme se přihlásit na webovou stránku tvheadend serveru (http://IP_ADRESA_RASPI:9981) a pustit se do nastavení a naladění programů.
Abychom využili tohoto řešení naplno, můžeme k RasPi připojit sdílený adresáře např. z NASky pro ukládání nahrávaných pořadů. Zde například připojíme vzdálenou NFS složku. Přidáme řádek do /etc/fstab – NAS_IP_ADRRESS:/volume1/TV-recording /mnt/server/ nfs rw,async,noexec 0 0
. A v nastavení TVheadend serveru tuto složku /mnt/server použijeme.
Ještě nesmíme zapomenou nastavit oprávnění na adresář /mnt/server : chmod 777 /mnt/server. Jinak by nahrávání končilo chybou permission denied 🙂
Poslední věc, když už máme všechno rozběhané, je klientská aplikace, přes kterou se na IPTV server připojíme. Naštěstí TVheadend nabízí streamování jak přes HTTP protokol, tak i přes HTSP. A pár dalších protokolů, které ale nevyužijeme.
U HTTP běží playlist stanic na adrese : http://IP_ADRESA_RASPI:9981/playlist/channels, který můžeme použít např. ve VLC playeru nebo MPlayeru.
HTSP protokol použijeme přímo v KODI, nebo Movian.
Existuje i mobilní klient TvhClient pro Apple a Android.
Celé řešení je zabaleno do úhledné krabičky a provozováno jako black-box 🙂
4 comments
Skip to comment form
Zdravím, právě jsem začal s projektem kdy bych chtěl zapojit RasPi 3+ k televizi. Bohužel se mi nějak nedaří dostat normálně vysílané kanály (novy, prima, ct1 atd) přes Kodi. Vy vypadáte že víte poměrně hodně o tom, jak to vlastně všechno funguje, já jsem v televizích naprostý nováček, takže když chci něco googlit, tak vlastně ani pořádně nevím co. Tak jestli by jste mi nemohl poskytnout nějaké cenné zkušenosti. 🙂 Komentář klidně poté smažte, nějak jsem tu nenašel kontakt, ale možná jsem jen líný hledat.. 🙂
(filipopl@seznam.cz)
Díky za odpověď
Filip
Author
zdravím, najde vám to alespoň nějaké kanály, nebo vůbec žádné. anténu máte v pořádku, na normální tv jsou kanály správně zobrazeny? šel bych postupně, od antény až po tvheadenf.
Dobrý den,
Docela mne zaujalo tohle řešení. Rád bych se dozvěděl více. Mohlo by to fungovat i ve větším měřítku? Můžete mne prosím kontaktovat na email.
Author
zdravím, nevím co je větší měřítko, ale pro větší streamy bych doporučil něco výkonnějšího, hlavně na síťovou kartu, kde ten síťový trafic bude znát.