RasPi – IPTV server

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 🙂

IPTV neboli televize přes internetový protokol je systém, kde jsou služby digitální televize šířeny prostřednictvím IP protokolu.

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.

povolení SSH serveru pro vzdálený přístup

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ů.

oba tunery k dispozici a funkční

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/fstabNAS_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.

nastavení cesty pro nahrávaní programů

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 🙂

Přímý odkaz na tento článek: https://www.elvisek.cz/2020/10/raspi-iptv-server/

Napsat komentář

Váš email nebude zvežejněn.