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/

NAS – Synology – upgrade RAM

U nového Synology DS918+ jsem se rozhodl pro další upgrade – navýšení operační paměti. Standardní (základní) velikost RAMky je v tomto systému 4GB. Což je pro většinu operací více než dostačující. Maximum, co ale tento typ zvládne, je 16GB.

Jelikož NASku používám ve spojení s Dockerem, ve kterém jsou spuštěné další a další aplikace (kontejnery) je více operační paměti potřeba.

Instalace nové paměti je opět jednoduché, podobné jako u instalace SSD cache. Po vypnutí NASky je potřeba vysunout všechny disky z přední strany, poté se objeví v útrobách místo po pravé straně, kde jsou sloty RAM.

Typ pamětí je DDR3L, v provedení SO-DIMM, zde konkrétně jsem zvolil Kingston Value 8GB DDR3L 1600 CL11 SO-DIMM.

Po instalaci pamětí a vrácení disků zpět ve správném pořadí, jak byli původně, můžeme NASku zapnout a počkat si na výsledek 🙂

Přímý odkaz na tento článek: https://www.elvisek.cz/2020/10/nas-synology-upgrade-ram/

NAS – Synology – Docker

Pracant Docker. Je to otevřená platforma, která slouží k vytváření, odesílání a spouštění aplikací v samostaných kontejnerech. Aplikace je virtualizována a lze tedy spouštět v systému DSM. Repozitář obsahuje tisíce již vytvořených zásobníků od vývojářů z celého světa.

Pro instalaci je v DMS Synology k dispozici přímo balíček Docker od vývojářů Docker Inc.

Po dokončení instalace dockeru můžeme zrovna začít s instalací vybraného kontejneru. Přes menu Registr máme k dispozici kontejnerové obrazy z repozitáře Docker Hubu.

Kontejner stáhneme na lokálního image uložiště, z něhož následně vytváříme spustitelný kontejner. V konfiguraci následně můžeme zmenit vlastnosti kontejneru – automatický start, omezení zdrojů, nastavení portů (aby se na beřízí kontejner dalo vůbez ze sítě dostat, je potřeba přemapovat porty), přidat další proměnné pro kontener.

Po spuštění zkontrolujeme přemapované porty, můžeme nahlédnout do protokolů kontejneru a případně otevřít terminal konterjneru (pokud to podporuje) a doladit konfiguraci.

Ještě drobná zmínka k sítím. V dockeru lze samozřejmě přidat další sítě, které budou distribuovány pro spuštěné kontejnery. Přidání další sítě je jednoduché, jen je pak potřeba nezapoměnou na routování i clientů nebo přímo jako statická routa na routeru.

Přímý odkaz na tento článek: https://www.elvisek.cz/2020/10/nas-synology-docker/

Powershell na MacOS

Jj, peklo zamrzlo a je tam docela i pěkně. Přes Brew si nainstalujeme Powershell 🙂

Pokud teda ještě homebrew nemáme, tak si jej nainstalujeme. Domovská stránka tohoto projektu je https://brew.sh, a vlastní instalace je jednoduchá: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Instalace nějakou dobu trvá, stahují se potřebné soubory pro kompilaci, mimo jiné se instalují Xcode Command Line tooly, přes které se všechno zkompiluje.

Po instalaci můžeme skočit na instalaci vlastního powershellu a to již pomocí : brew cask install powershell.

a to je vše … no vážně 🙂 spuštění powershellu pomoci pwsh

Do tohoto powershellu si můžeme již instalovat další moduly, podle potřeby.

Microsoft Azure :

Install-Module -Name AzureAD -AllowClobber

Microsoft Exchange Online:

$Creds = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Creds -Authentication Basic -AllowRedirection

Import-PSSession $Session -DisableNameChecking

PS: Bohužel po čase narazíme na výjimky, které zde nepracují tak, jak očekáváme z Windows. zde nezbývá než počkat na update nebo opravu … ale i tak je to mocný nástroj, který stojí za to 🙂

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