FK~

Moje odkazy

Ostatní odkazy

EFF: svoboda blogování
Close Windows
Nenajdete mě na Facebooku ani Twitteru
Rozpad EU
Jsem členem FSF
Jsem členem EFF
There Is No Cloud …just other people's computers.

Příjem DVB-T2 televize pomocí Raspberry Pi

vydáno: 24. 11. 2019 23:58, aktualizováno: 25. 11. 2019 22:58

Už za pár dní (v Praze 27. listopadu 2019) nás čeká vypínání DVB-T televizního vysílání a přechod na DVB-T2. Nová technologie přinese více televizních kanálů a kvalitnější obraz, ale na druhou stranu vyžaduje i nové vybavení. Dnes si ukážeme, jak si postavit vlastní zařízení pro příjem, a nemuset tak kupovat nový televizor nebo tzv. set-top box.

Raspberry Pi 4 + DVB-T2 HAT + chladič

Něco podobného jsme zažili při přechodu z analogového vysílání na digitální DVB-T. Obecně lze současnou situaci řešit několika různými způsoby:

  • koupit si nový televizor s podporou DVB-T2
  • koupit si běžný spotřební set-top box a připojit ho ke stávajícímu televizoru
  • přijímat televizní signál přes satelit (DVB-S2)
  • sledovat televizi přes internet (IPTV)
  • přestat sledovat televizi

Satelitní příjem je dobrá věc, ale většinou vyžaduje placení paušálních poplatků, takže pokud nás nezajímají nadstandardní kanály, nemá to smysl.

IPTV sice může posloužit dobře, ale být odkázaný jen na jeden komunikační kanál (internetové nebo mobilní připojení) není zrovna dvakrát moudré. Ať už máme názor na kvalitu televizní produkce jakýkoli, tak televize není jen zábava, ale je to i naše spojení se světem (byť jednosměrné) a tady je redundance (více komunikačních kanálů) jednoznačně dobrá věc. Ze stejného důvodu je rozumné mít doma vysílačku či SDR, nebo kromě GSM/LTE/5G a WiFi sítí stavět i vlastní LoRaWAN IoT sítě. Ano, je to lehce paranoidní přístup, ale jak se říká: kdo je připraven, není překvapen.

Kupovat nový televizor, když 98 % součástek toho starého je plně funkčních a stále použitelných? To přijde líto i mně. Řešením by byly modulární přístroje, kde by šlo vyměnit tuner, přeinstalovat systém atd.

Běžně prodávané set-top boxy jsou jednoúčelová uzavřená zařízení – to doma nechci, když mám lepší možnost – navíc za pár let budou na vyhození (vzpomeňme na staré ADSL modemy). Takže, jak se píše v Bibli:

Vcházejte těsnou branou. Prostorná brána a široká cesta vede do záhuby a kdekdo tudy kráčí. Těsná brána a úzká cesta však vede k životu a málokdo ji nachází.

Matouš, 7, 13-14. Ale zase tak náročné to nebude – poskládat následující zařízení zvládne prakticky kdokoli.

Hardware

Jako základ nám poslouží jednodeskový počítač Raspberry Pi (RPi). Tyto počítače jsou původně určené pro výukové účely, ale letos uvedená čtvrtá verze je už dostatečně výkonná a dá se používat místo normálního desktopu – a nám teď dobře poslouží pro příjem televize a přehrávání filmů.

K těmto počítačům se vyrábí řada příslušenství, přídavných desek zvaných HAT. Jednou z nich je Raspberry Pi TV HAT pro příjem DVB-T2. Ten byl uveden vloni, v době kdy na trhu bylo Raspberry Pi verze 3. Tehdy šlo přijímat TV signál a posílat ho po síti dál, ale na současné přehrávání videa tehdejší RPi nestačilo – proto potřebujeme právě výkonnější verzi 4.

Raspberry Pi 4 + DVB-T2 HAT + chladič

Raspberry Pi lze sice provozovat i bez chladiče nebo jen s pasivním chladičem, ale pro dekódování videa je pořádný chladič nutnost. Když jsem pustil TV bez něj, Raspberry Pi se po cvhíli vypnulo kvůli přehřátí. Chladiče pro RPi 4 se prodávají různé, já jsem vybral Armor Fan (XL-RB-AluP4+07FAN). Jak je vidět na obrázcích, jde o pořádný kus hliníku a na něm dva větráčky.

Aby se chladič vešel mezi RPi a DVB-T2, potřebujeme nástavec na GPIO. Ventilátory se normálně napájejí kabelem s konektorem, který se zapíchne do GPIO pinů. Tam ale budeme mít připojenou DVB-T2 desku, takže jsem konektor dal pryč a dráty připájel rovnou na GPIO nástavec.

Raspberry Pi 4 + DVB-T2 HAT + chladič

Chladič kryje RPi z obou stran, takže nahrazuje i krabičku. Trochu to kazí nekrytý DVB-T2 modul, ale zatím to nechávám takhle. I při dlouhodobém sledování televize je teplota stabilní a přístroj se nepřehřívá (KODI ukazovalo v nastavení 47° C).

Software

Na RPi budeme provozovat samozřejmě svobodný software – operační systém GNU/Linux a KODI (dříve zvané XBMC), které nahrazuje běžná desktopová prostředí (KDE, GNOME, Xfce atd.) a je optimalizované pro velké obrazovky, ovládání dálkovým ovladačem (klávesnici ani myš nepotřebujeme, i když je připojit lze) a slouží k přehrávání filmů, televize, rádia a hudby. Mohli bychom použít nějakou obecnou distribuci GNU/Linuxu jako např. Debian a do ní KODI nainstalovat, ale jednodušší bude použít specializovanou distribuci jako LibreELEC, která je pro naše použití přímo určená.

Obraz LibreELEC si stáhneme a pomocí příkazu dd případně jiného nástroje nakopírujeme na SD kartu. Tu vložíme do RPi, připojíme zdroj a televizor (přes Micro HDMI konektor blíž zdroji) a postupujeme podle pokynů na obrazovce. Systém ovládáme pomocí dálkového ovladače našeho televizoru (ten přeposílá stisky kláves přes HDMI kabel do RPi – tato technologie se jmenuje HDMI-CEC, Consumer Electronics Control).

Potřebné doplňky

KODI lze používat v různých konfiguracích, někdo má např. počítač s TV tunerem na půdě blízko antény, obraz a zvuk pak putují po ethernetu a přehrávají se na druhém počítači s KODI připojeném k televizoru. V našem případě budeme mít vše v jednom počítači u televizoru. Do KODI tedy doinstalujeme jak doplňek TVheadend server, který se postará o ladění kanálů pomocí DVB-T2 tuneru, tak doplňek TVheadend HTSP client, který s tímto serverem komunikuje (kdybychom měli tuner na půdě, tak by server běžel tam, a u televizoru by nám stačil klientský doplněk).

Instalujeme z nabídky „Doplňky“ – „Instalovat z repozitáře“ – „Všechna úložiště“. Server je v kategorii „Služby“ a klient v „Klienti PVR“.

Ladění kanálů

Teď je nezbytné nastavit tuner a naladit kanály – to uděláme přes webové rozhraní Tvheadend (běží na portu 9981 a IP adrese, kterou zjistíme v nastavení KODI – typicky je automaticky přidělená přes DHCPI). To uděláme z jiného počítače ve webovém prohlížeči:

  • přidáme síť a zvolíme „cz-All“ v „Předdefinované muxy“,
  • na záložce „Muxy“ vybereme všechny patřící do této sítě a v editaci jim (hromadně) nastavíme „Systém doručení“ na DVB-T2,
  • na záložce „TV adaptéry“ přiřadíme adaptéru i novou síť (jinak je tam jen ta původní a ta nová nezačne ani ladit),
  • na záložce „Sítě“ dáme „Vynutit scan“,
  • na záložce „Služby“ namapujeme nově nalezené služby,
  • případně pak vyházíme kanály, které nechceme, jsou duplicitní nebo nespolehlivé.

Vrátíme se zpět ke KODI. Ovládání je celkem intuitivní a brzy se v něm zorientujeme. Pokud text mírně přetéká a nevejde se na obrazovku, upravíme v nastavení rozhraní „Přiblížení“ (já jsem musel dát -4 %).

Zabezpečení

Nejbezpečnější je provozovat systém offline. Ke sledování televize internet ani místní síť nepotřebujeme. Tím ale přijdeme o některé funkce jako třeba počasí nebo internetové rádio.

Na tomto počítači sice asi nebudeme mít žádná důvěrná data a nejde o žádný kritický systém, přesto bychom ale na bezpečnost neměli úplně kašlat. Opravdu není dobré mít zapnutý SSH server s výchozím heslem. A v TVheadend serveru je dobré omezit IP adresy, které se na něj mohou připojovat případně nastavit heslo. Pokud jsme na záložce „Uživatelé“ nastavovali povolené sítě, je potřeba tam mít i 127.0.0.0/8, jinak se dostaneme na webové rozhraní z jiného počítače, ale KODI z localhostu se nepřipojí a TV nebude fungovat. Klientem mohou být i jiné počítače, takže si televizi můžeme pustit po síti i jinde.

Rozpočet

Přibližné maloobchodní ceny v Kč včetně DPH v listopadu 2019:

součástka cena
Raspberry Pi 4 B se 4 GB RAM 1 540
DVB-T2 HAT 580
Aktivní chladič 390
Oficiální napájecí zdroj, 3 A, USB-C 250
MicroSD karta 32 GB 250
Micro HDMI kabel s podporou CEC 220
Nástavec pro GPIO 70
celkem 3 300

Je to poměrně drahé, ale cílem nebylo najít nejlevnější řešení. Také jde o horní odhad ceny. Některé věci (MicroSD karta, kabel či zdroj) možná najdeme doma a nemusíme kupovat. Nástavec pro GPIO je standardní součátka (dutinková lišta 2×20, rozteč 2,54 mm), kterou taky buď máme doma nebo můžeme sehnat levněji v obchodech s elektronikou jako GME, GES, TME, Farnell atd. (viz také Nakupujeme v zahraničí po internetu). Čtyři GB RAM jsou pro sledování televize až až, takže by stačila levnější 2 GB nebo asi i 1 GB verze. DVB-T2 HAT by šlo nahradit nějakým USB tunerem. A základem by ani nemuselo být Raspberry Pi, ale jiná podobná deska, kterých se vyrábí spousty. Je to prostě na nás, z čeho si přijímač poskládáme.

Závěr

Kromě toho, že jsme vyřešili základní problém a televize nám bude fungovat i po přechodu na DVB-T2, máme univerzální zařízení, které si můžeme dále upravovat a rozšiřovat. Můžeme nahrávat pořady, pouštět si filmy nebo si prohlížet fotky z USB disku. Na rozdíl od spotřebních „chytrých“ TV nás toto zařízení nebude odposlouchávat, nemusíme podepisovat smlouvu s jeho výrobcem (souhlasit s „podmínkami užití“ a číst kilometry právnických textů) a nahrané pořady a filmy nebudou zmrzačené DRM (některé televizory sice umožňují nahrávat na externí USB disk, ale nahrávky jsou šifrované – jinde si je nepřehrajeme – takže když televizor odejde, máme smůlu). Také můžeme sledovat televizi i z jiných počítačů (na RPi běží Tvheadend server). A když nás to přestane bavit, tak můžeme tento HW použít jako celkem normální počítač nebo z něj postavit něco jiného a neprodukujeme zbytečný elektroodpad.

Témata: [GNU/Linux] [hardware]

Komentáře čtenářů


Jiří Zelinka, 25. 11. 2019 22:12, Kalibrace videa v Kodi [odpovědět]

Díky za návod, sám sice používám VDR, ale TVheadend je patrně hodně rozšířený a z diskusí vím, že rozjet s ním DVB-T2 není úplně jednoduché.

Mám jen drobnou poznámku k úpravě přetékajícího obrazu pomocí „Přiblížení“, o kterém se zmiňujete. Osobně používám radši funkci "Kalibrace videa", na kterou se dá dostat v Nastavení v položce Systém -> Zobrazení, jen je potřeba mít zapnutou úroveň nastavení Expert. Je zde možné nastavit každý roh zvlášť a taky polohu titulků.


Franta, 25. 11. 2019 22:47 [odpovědět]

Díky vyzkouším taky. Mně tam tedy zlobily hlavně texty v nabídce – bylo to moc u kraje.


Max Devaine, 25. 11. 2019 22:39, Také mám, skoro [odpovědět]

Mám pasivní chladič :

https://rpishop.cz/pasivni/1901-chladici-sada-krabicka-pro-raspberry-pi-4b-cerna.html

a teplotu mám konstantně 54 stupňů. I když přehrávám h.264 / h.265 ripy z nfs.

Přemýšlím, že si seženu nějakou větší plechovou skříňku a dám tam velký větrák, připojím na 5V a nechám jen lehce proudit vzduch (cílem je dostat se pod 45 stupňů a zbavit se světel diod, které chci, aby svítily, ale nebyly vidět). Těm malým větrákům na tom chladiči, co máš ty, nevěřím, že přežijí dva roky (a navíc, že budou delší dobu nehlučné).

Jinak HDMI-CEC je parádní věc, ale starší televize mohou mít rozporuplnou kompatibilitu, takže to je asi trochu risk. Ale možná jen přeháním.

Zdar Max


Franta, 25. 11. 2019 22:53, Chlazení RPi [odpovědět]

Jestli máme stejnou pokojovou teplotu, tak i ty malé větráčky to uchladí o cca 7° C lépe. Ale úplně dobrý pocit z nich taky nemám, zrovna dneska začaly trochu hlučet – stačilo s tím zahýbat a srovnalo se to, asi se tam jen něco dotýkalo a přenášely se vibrace. Přinejhorším je vyměním za nějaké kvalitnější.


Max Devaine, 5. 12. 2019 12:30, Chlazení RPi [odpovědět]

Takže zjištění. Těch 54C to topí, když jedu výstup ve 4k. Pokud hodím výstup do FullHD, tak mám teploty 48-51C

A další zjištění, s výstupem na 4k nejede DVB-T2. Obraz je zpomalený, zvuk ok. CPU vytížený není, takže problém bude asi u GPU. Toto se mi děje bez tuneru (stream ze serveru, kde běží TVHeadend), takže RPi je jen jako klient a o to má menší režie.

Takže RPi4 s DVB-T2 a výstupem nastaveným na 4K nejede. Ve fullhd je všechno ok a osobně nemám žádné zdroje pro 4k, takže RPi jedu i na 4K TV v režimu fullhd a vše ok.

Víc mně ale trápí youtube, kdy v Kodi nejde nastavit ani fullhd kvalitu streamu, jde tam nastavit maximálně 720p. Ještě budu zjišovat proč. Zatím to vypadá, že s akcelerací u VP9 by nemusel být takový problém. Mno, až bude čas, budu řešit. Zdar Max PS: už aby tu byl LibreElec s kernelem 5.x


zigi, 26. 11. 2019 12:29, zapinanie [odpovědět]

neviem ako je to s RPi4, ale pre starsie je nutnost pouzit master/slave napajanie.

napr. https://prepetove-ochrany.heureka.cz/master-slave-pcw-ms-usb-5-zasuvek/#

alebo https://prepetove-ochrany.heureka.cz/master-slave-6-zasuvek-3m/#

inak RPi stale bezi a zbytocne sa zahrieva. Samozrejme, ak sa bude TV streamovat, je to ine, ale pri prevadzke 24/7 sa mi RPi zda dost nestabilne.


Franta, 27. 11. 2019 20:52, Zapínání RPi společně s televizí [odpovědět]

Zatím to zapínáme ručně, ale chci tam dodělat vlastní automatický spínač, aby se RPi zapínalo společně s televizí, ale zároveň aby mohlo běžet i při vypnuté televizi (pro nahrávání). Tzn. zapnutí RPi by mělo být automatické a vypnutí ruční – z nabídky KODI. Ten USB port televize tedy poslouží jen jako signál pro zapnutí.

Přidat komentář

reagujete na jiný komentář (zrušit)
jméno nebo přezdívka
název příspěvku
webová stránka, blog
e-mailová adresa
nápověda: možnosti formátování
ochrana proti spamu a trollům

Náhled komentáře