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 🙂

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

4 komentáře

Přeskočit k formuláři pro komentář

    • Filip on 20.05.2021 at 14:36
    • Reakce

    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
    • Reakce

    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ář: Filip Zrušit odpověď na komentář

Váš email nebude zvežejněn.