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

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 🙂

Permanent link to this article: https://www.elvisek.cz/2020/10/raspi-iptv-server/

4 comments

Skip to comment form

    • Filip on 20.05.2021 at 14:36
    • Reply

    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

      • ElvisEK on 25.10.2021 at 17:03
        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.

    • Max on 28.08.2021 at 16:20
    • Reply

    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.

      • ElvisEK on 25.10.2021 at 17:05
        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.

Napsat komentář

Your email address will not be published.