Raspberry Pi TV HAT: kompletní průvodce
V tomto článku se zaměříme na Raspberry Pi TV HAT, vysvětlíme k čemu je dobrý, a jak se používá. Provedeme Vás jeho sestavením a instalací, popíšeme základní funkce a odpovíme na častý dotaz, zda TV HAT poslouží jako domácí DVB-T2 set-top box.
Co to je?
Raspberry Pi TV HAT 🛒 je televizní tuner pro počítače Raspberry Pi 🛒, který podporuje současný vysílací standard DVB-T2. Ve spojení s počítačem Raspberry Pi a softwarem Tvheadend umožňuje přehrávání, nahrávání a streamování digitální televize a rádia (včetně HD kanálů).
Poznámka: České DVB-T/T2 vysílání v HD kvalitě zvládne nahrávat a streamovat i malé Raspberry Pi Zero WH 🛒, ale přehrát HD kanály dokáže pouze Raspberry Pi s podporou kodeku HEVC/H.265, tzn. Raspberry Pi 4 model B 🛒 a novější.
Jak TV HAT sestavit?
Raspberry Pi TV HAT 🛒 se skládá z několika částí:
- HAT (zelená deska),
- GPIO nástavec pro spojení HATu s Raspberry Pi,
- 3x distanční sloupek s párem šroubků pro připevnění HATu k Raspberry Pi,
- a koaxiální konektor pro připojení kabelu od antény k HATu.
Tip: Zonepi krabička pro TV HAT a Pi4 🛒 obsahuje navíc vyšší GPIO nástavec a distanční sloupky, které zvětšují prostor mezi HATem a Raspberry Pi, což umožňuje nasazení vyššího chladiče 🛒.
Postup
- Nasuňte GPIO nástavec na GPIO header Raspberry Pi.
- Přišroubujte k HATu distanční sloupky.
- HAT s distančními sloupky nasuňte na GPIO nástavec a přišroubujte k Raspbery Pi.
- (Volitelné) Vložte Raspberry Pi s TV HATem do krabičky.
- Zasuňte koaxiální konektor
Nastavení v OS Raspbian
Raspbian je výchozí operační systém pro všechny modely Raspberry Pi. Je založený na Linuxu, konkrétně na Debianu, a je srovnatelný s Ubuntu, Windows a macOS.
Aktuální Raspbian stahujte z oficiálních stránek raspberrypi.org. K jeho instalaci na microSD kartu doporučujeme aplikaci Etcher.
Tip: Pokud si nechcete Raspbian instalovat sami, můžete si zakoupit oficiální 32GB kartu s NOOBS a OS Raspbian 🛒.
Výchozí heslo uživatele pi
je raspberry
a výchozí rozložení klávesnice je UK
, takže znaky ‚Y‘ a ‚Z‘ jsou prohozené.
Po spuštění systému doporučujeme změnu hesla a aktualizaci systému. Otevřete okno s příkazovým řádkem (terminál) a zadejte následující příkazy.
$ passwd
$ sudo apt update
$ sudo apt upgrade
$ sudo reboot
Poznámka: Při zadávání hesla se cíleně nezobrazují žádné znaky ani hvězdičky.
Instalace televizního serveru
Po aktualizaci a restartu systému si nainstalujte program tvheadend
.
Tip: Instalace softwaru je rychlejší a spolehlivější na Raspberry Pi s alespoň 1GB RAM.
$ sudo apt install tvheadend
V průběhu instalace narazíte na tři konfigurační dialogy.
V prvním zadejte nové uživatelské jméno administrátora, v našem případě admin
, přesuňte se pomocí šipek na tlačítko Ok a potvrďte stiskem klávesy Enter.
Stejným způsobem zadejte v druhém dialogu nové heslo administrátora, v našem případě znovu admin
.
Poslední dialog ukazuje „webovou“ adresu instalovaného televizního serveru. Server poběží na portu 9981
. Pokud se nezměnil výchozí název Raspberry Pi (raspberrypi
), bude adresa televizního serveru: http://raspberrypi.local:9981. Připojit se dá i přes IP adresu, např.: http://192.168.0.111:9981.
Úvodní nastavení televizního serveru
Po skončení instalace se můžete k televiznímu serveru připojit z jakéhokoliv počítače ve stejné síti. Stačí otevřít webový prohlížeč a zadat adresu serveru.
Televizní server bude vyžadovat uživatelské jméno a heslo. V našem případě je to admin
a admin
.
Po přihlášení Vás uvítá průvodce nastavením programu Tvheadend. Nelekejte se, je jednodušší než vypadá.
První dialog určuje jazyk webového rozhraní a EPG (Elektronický průvodce programy – „televizní program“).
Jsme v Česku, takže zvolíme češtinu: Czech (CZ). Po potvrzení změny se může znovu objevit stejný dialog (změnil se jazyk webového rozhraní) – jednoduše znovu klikněte na tlačítko Uložit a další.
V dalším kroku definujeme sítě, ze kterých bude televizní server přístupný, a přihlašovací údaje administrátora a uživatele.
Pokud nevyplníme žádnou konkrétní síť, budou povoleny všechny sítě.
Podobně můžeme zadáním znaku *
kompletně vyřadit potřebu přihlašování.
Třetí dialog řeší nastavení tuneru.
Políčko pod IPTV (Network 1) nechte prázdné. Pod Network 2 už by měl být automaticky zvolen tuner Sony CDX2880 #0: DVB-T #0. Doplňte typ sítě (Network type), zadejte DVB-T Network.
Ve čtvrtém kroku zvolte muxy pro Česko: Czech Republic: cz-All.
- Mux je zkratka pro Mutliplex. To je technologie, která umožňuje vysílat skupinu kanálů ve stejném vysílacím pásmu, jaké dříve vyžadoval jediný analogový kanál.
- Služba (service) je např. jeden TV kanál. Na jednom muxu může být vysíláno současně více služeb.
- Mux si můžete představit jako vagón vlaku a služby jako jeho pasažéry.
Další krok zahájí skenování. Tvserver hledá muxy a v nich obsažené služby. Po dosažení 100 % se zobrazí, kolik muxů a služeb bylo nalezeno.
Tip: Může se stát, že nenajdete žádné služby, nebo některé chybí. Někdy pomůže restart serveru, ale také můžete být jednoduše mimo dosah pozemního vysílání. Pokud používáte interiérovou anténu, zkuste ji přesunout na jinou pozici a skenování opakovat. Při hledání lepší pozice sledujte záložku Stav, která ukazuje sílu signálu. Pomoci Vám může i interaktivní mapa vysílačů.
Po objevení služeb je na řadě jejich mapování, což je prakticky převod služeb na kanály.
Zaškrtněte všechny 3 volby a klikněte na tlačítko Uložit a další.
Nakonec se zobrazí dialog potvrzující úspěšné nastavení. Klikněte na tlačítko Dokončit.
Po dokončení úvodního nastavení je rozumné Raspberry Pi restartovat. Otevřete příkazovou řádku (terminál) a zadejte následující příkaz.
$ sudo reboot
Pokročilé nastavení televizního serveru
Vraťte na do webového rozhraní serveru. Do prohlížeče zadejte stejnou adresu jako minule, v našem případě: http://raspberrypi.local:9981. Pokud jste místo jména a hesla zadali *
, neměl by server tentokrát vyžadovat žádné ověření.
Po úvodním nastavení a restartu je dobré spustit nové skenování, mapování a aktualizaci EPG.
Skenování
Ve webovém rozhraní serveru se překlikněte do panelu Konfigurace > DVB Vstupy > Sítě.
Vyberte svou síť (DVB-T síť) a klikněte na tlačítko Vynutit scan. Zpravidla najdete vyšší počet muxů a služeb než v úvodním průvodci.
Mapování
Po nalezení nových služeb je potřeba všechny služby znovu namapovat.
Ve webovém rozhraní serveru se překlikněte do panelu Konfigurace > DVB Vstupy > Služby a zvolte Mapuj služby > Mapovat všechny služby.
V otevřeném dialogu nic neměňte (pokud nechcete skrýt šifrované služby, tj. placené kanály) a klikněte na tlačítko Namapuj služby.
Po skončení mapování se zobrazí souhrn namapovaných, ignorovaných a nezdařených služeb.
Aktualizace EPG
EPG je digitální televizní program. O jeho naplnění se stará EPG graber. Po namapování nových služeb potřebuje EPG graber aktualizaci.
Ve webovém rozhraní serveru se překlikněte do panelu Konfigurace > Program / EPG > EPG graber a zvolte Znovu spustit interní EPG zachytávače.
Televizní program
Ve webovém rozhraní serveru se překlikněte do panelu Elektronický průvodce programem.
Tip: EPG se někdy načítá pomalu. Zkuste se překliknout na jiný panel a zpátky do EPG.
Kliknutím na ikonu s ‚i‘ si otevřete dialog s detaily o vysílání a dalšími volbami.
Přehrávání
Kliknutím na tlačítko Přehrát program si stáhnete malý soubor, který po otevření v přehrávači spustí živé vysílání vybraného kanálu. Doporučujeme svobodný multiplatformní multimediální přehrávač VLC.
Poznámka: HD kanály dokáže přehrát pouze Raspberry Pi s podporou kodeku HEVC/H.265, tzn. Raspberry Pi 4 model B 🛒 a novější, a nebo běžný osobní počítač.
Nahrávání
Raspberry Pi dokáže televizní programy i nahrávat! Tvheadend uloží vybraný pořad jako soubor s příponou .ts
. Takový soubor si pak přehrajete přímo ve webovém rozhraní serveru nebo v přehrávači VLC. Můžete si ho samozřejmě převést i na jiný, běžnější formát video souboru.
Pro nahrávání klikněte u vybraného programu na ikonu s ‚i‘ a v dialogu s detaily o vysílání na volbu Zaznamenej vysílání.
Pro zobrazení budoucích a současných záznamů se ve webovém rozhraní serveru překlikněte do panelu Digitální video rekordér > Budoucí / současné záznamy.
Pro zobrazení dokončených záznamů se ve webovém rozhraní serveru překlikněte do panelu Digitální video rekordér > Ukončené záznamy.
Nastavení v OS LibreELEC
LibreELEC je operační systém úzce spjatý s multimediálním centrem KODI. Je založený na Linuxu, a nedá se srovnat s Ubuntu, Windows ani macOS. Místo klasického desktopu totiž obsahuje pouze multimediální centrum KODI a řadu volitelných dopňků.
Aktuální LibreELEC stahujte z oficiálních stránek libreelec.tv. K jeho instalaci na microSD kartu doporučujeme aplikaci Etcher.
Poznámka: LibreELEC pro Pi4 ještě oficiálně nevyšel, ale už se na něm pilně pracuje. Námi použitá testovací verze 9.1.501 (Alfa 2) je relativně spolehlivá a pro přehrávání HD televize bez problémů použitelná.
Instalace televizního serveru
Poznámka: Pokud už máte televizní server Tvheadend nainstalovaný a spuštěný na jiném Raspberry Pi, tuto kapitolu přeskoče a pokračujte až kapitolou Instalace televizního klienta.
Jedním z volitelných doplňků systému LibreELEC je i televizní server Tvheadend.
Pro nainstalování dopňku Tvheadend Server zamiřte do Doplňky > Instalovat z repozitáře > LibreELEC Add-ons > Služby > Tvheadend Server.
Najeďte na doplněk TVheadend Server, stiskněte klávesu Enter a zvolte Instalovat.
Pokud se otevře dialog s nabídkou různých verzí doplňku, zvolte jednoduše tu nejvyšší verzi.
„Webová“ adresa televizního serveru bežícího na OS LibreELEC bude ve výchozím nastavení: http://libreelec.local:9981.
Připojit se můžete i přes IP adresu, kterou zjistíte v Nastavení > Systémové informace > Souhrn. Adresa serveru pak může vypadat třeba takto: http://192.168.0.103:9981.
Nastavení televizního serveru
Postupujte podle návodu pro OS Raspbian. Nastavení televizního serveru pod OS LibreELEC se liší pouze v jednom bodě: server po instalaci nevyžaduje jméno ani heslo.
Instalace televizního klienta
Televizní klient je protějšek televizního serveru. Je to další doplněk systému LibreELEC. Zpřístupňuje televizní program a umožňuje přehrávání a nahrávání živého vysílání.
Pro nainstalování dopňku Tvheadend Client zamiřte do Doplňky > Instalovat z repozitáře > LibreELEC Add-ons > Klienti PVR > Tvheadend HTSP Client.
Najeďte na doplněk TVheadend Client, stiskněte klávesu Enter a zvolte Instalovat.
Pokud se otevře dialog s nabídkou různých verzí doplňku, zvolte jednoduše tu nejvyšší verzi.
Po instalaci přejděte do nastavení doplňku, klikněte na Konfigurovat.
V nastavení televizního klienta zadejte adresu televizního serveru (bez http://
a bez :9981
) a přihlašovací jméno s heslem (pokud je server vyžaduje). Další změny nejsou potřeba. Potvrďte nastavení kliknutím na tlačítko OK a restartujte systém.
Použití
Televizního klienta spustíte přímo z domácí obrazovky KODI, jednoduše najeďte v postranní navigaci na Televize.
V režimu Televize funguje KODI prakticky stejně jako skutečná televize, dostanete se i do teletextu.
V KODI si můžete navíc kdykoli spustit nebo naplánovat nahrávání vybraného programu.
Tip: Ve volbách přehrávače si můžete přepnout zvukovou stopu vysílaného pořadu do originálního znění a k tomu si povolit české titulky.
Televizní kanály
V seznamu kanálů můžete vidět právě probíhající pořady, a jak daleko jsou od začátku / konce (postup).
Přehrávání
Vybraný kanál spustíte jednoduše klávesou Enter (nebo tlačítkem OK).
Televizní program
Televizní program zobrazuje každý kanál jako časovou osu vyplněnou pořady.
Podrobnosti o pořadu & nahrávání
Kliknutím na pořad v televizním programu si otevřete jeho podrobnosti s volbou Přepnout na vybraný pořad a nebo ho začít Nahrávat.
Poslouží Raspberry Pi s TV HATem jako DVB-T2 set-top box?
Set-top box postavený na Raspberry Pi poslouží lépe než jen obyčejný „překladač“ jednoho televizního signálu na druhý. Kombinace TV HATu, televizního serveru Tvheadend a multimediálního centra KODI činí z Raspberry Pi kompletní all-in-one přehrávač.
- Televizní server Tvheadend zpřístupní televizní vysílání všem počítačům v síti a umožní nahrávání oblíbených pořadů.
- Multimediální centrum KODI je nabité dalšími cennými funkcemi. Vedle televizního vysílání zpřístupní i další online a offline zdroje.
Co k tomu potřebujete?
Ideální je kombinace levného a úsporného Raspberry Pi Zero WH 🛒 s Raspberry Pi TV HAT 🛒 a OS Raspbian jako server připojený k televizní anténě a Raspberry Pi 4 model B 🛒 s OS LibreELEC jako klient připojený k televizi.
Velkou výhodou použití dvou Raspberry Pi namísto jednoho je možnost připojení přídavné zvukové karty, aktivního chlazení, nebo jiného modulu na straně klienta.
V repoziáři LibreElecu je starý soubor s cz muxy, kde jsou jen SDTV stanice. V repo, ze kterého stahuje Raspbian je aktuálnější.
Umístění v Raspbianu je /usr/share/tvheadend/data/dvb-scan/dvb-t/cz-All
Umístění v Librelelecu je /storage/.kodi/addons/service.tvheadend42/dvb-scan/dvb-t/cz-All
Stačí překopírovat a restartovat.
V poslední vezi LibreELEC už je tento problém vyřešen a při vyhledání kanálu už najde i HD programy 🙂
postupoval jsem presne podle návodu, mám rasp pi4 s TV hat, vidím kanály, ale když se pokusím přehrát jakýkoliv kanál v integrovaném prehravaci tvheadend nebo se pokusim prehrat video ve VLC, tak to vytuhne a nic se neprehraje. Proc?
Já mám stejný problém. Zatím jsem se ale řešením vůbec nezabýval, protože výše popsané řešení má mnohem vážnější problémy – nefunguje mi správně EPG a ani po několika dnech pokusů a pročítání diskusních skupin (nastavení časových zón, změna zdroje EPG informací atd.) nejsem blíže k vyřešení. Ve výchozím nastavení (jak jej uvádí návod výše) jsou některé programy v EPG posunuty o hodinu, některé ne a jako třetí rovina se do toho míchá zobrazovaná informace o právě běžícím pořadu, která je nezávislá na informacích a časech v EPG. Prostě totální chaos. Ten návod by potřeboval dost „poladit“. Nebo se jedná o chyby v KODI doplňcích a někdo by je měl celkem rychle opravit, protože v této chvíli bych Raspberry jako náhradu set top boxu rozhodně nedoporučil ani kutilům.
Jaký datový tok se přenáší mezi serverem a klientem? Pouze vlastního programu nebo celého multiplexu. A provoz mimo lokální síť, jaké jsou překážky.
Dobrý den,mám RPI 4 +desku TV HAT na Libreelec. Bohužel nevím jak to zprovoznit. Nainstaloval jsem klienta i server z doplňků, ale nikde není možnost jak ladit kanály DVB-T2. Budu velmi rád za každou pomoc.
Tvheadend (server) se nastavuje a ladí skrz webové rozhraní. Otevřete v jiném počítači na stejné síti internetový prohlížeč a zadejte adresu TV serveru, např. http://libreelec.local:9981.
Zdravím, mám Rpi4 na tom Libreelec přes který i pouštím televizi a zejména u HD programů bývá pozadu zvuk (jde manuláně posunout, ale při přepnutí programu se to zase vyresetuje), obraz je často také nepříliš plynulý.
Nemáte/neměl jste někdo podobný problém?
díky
Prosím-Ubuntu už vydal instalační obraz pro Raspberry a já jako jeho fanda bych jej na Raspberry rád vyzkoušel. Zároveň bych ale chtěl prostřednictvím Raspberry s Ubuntu a s TV Hatem sledovat televizi-bylo by to možné? Raspberry OS je na Ubuntu založen, tak by to snad jít mělo ano? Díky za odpověď!
Zdravím, mám RPi4 a OSMC USB tuner. Při použití sw LibreElec jse mi nepodařilo zprovoznit tento USB tuner ( jiný tuner pujčený – PCTV 292e funguje, veškeré TV stanice našel které se podařilo najít i na Televizi ) , tak jsem použil sw OSMC, tam už OSMC USB tuner začal fungovat akorát nenaskenuje MUXy v tyv. lll. tv pásmu ( 184,5 Mhz MUX 8 polský) a to jak při automat.ladění tak i manuálním ladění.
Ještě mám jeden problém a to ten že se mi v seznamu stanic objevují i stanice které jsem nehledal ( při ručním skenu podle freqvence) tak i automat.skenovaní a posléze smazaný ( české stanice z DVB-T ).
Děkuji
Zdravím
kolik Pi TV HAT lze najednou (současně) zapojit do RPi4 ?
A s tím také souvisí otázka – kolik jich opravdu v reálu dokáže bez problémů obsloužit (stream do sítě nebo ukládání na USB disk) ?
Zvládnul by 2 – 3 kousky současně?
Má někdo zkušenost … dík za odpověď
Na RPi4 připojíte pouze jeden Pi TV HAT! Víc ne. Pro další Pi TV HAT musíte mít další Raspberry Pi.
RPi4 zvládne osloužit více DVB-T2 karet, ale Pi TV HAT jde připojit jen jeden, další TV karty jdou připojit přes USB. Otázkou pak je, jestli nepoužít jen USB karty.
Zdravim,
to neni pravda. Pravda je ze HATy nektere haty nejdou stackovat. TV HAT je jednim z nich. Protoze defaultne se pouziva SPI0 a chip select ma problem se stejnym chip ID. Ale co muzes udelat je misto stackovani je pripojit zvlast. Prvni hat pripojis na RPI SPI0 a druhy hat pripojis na SPI1. A taky musis poresit chip select. Pokud top jsou dva ruzne haty tak to neni problem. Ale kvuli tomu ze TV HATy maji stejny chip ID tak musis upravit default driver/overlay.
TV HAT používám s RPi3 jen pro příjem streamu a přenos do sítě. Dekódování je na PC (VLC nebo KODI).
DVB-T jelo OK, DVB-T2 naskenuje MUXy, EPG funguje, ale video/audio stream je trhaný (i samotné radio bez videa nejede).
Ve statusu streamu vidím SNR 30dB, signál -30dB a stále se zvyšující čítač chyba kontinuity …
Setopbox na stejné anténě funguje OK, takže signálem to nebude.
Nevíte co by mohlo způsobovat výpadky?
Ladění kanálů nenajde kanály z MUX 4: Nova Action, Nova Gold, Nova 2, PRIMA COMEDY CENTRAL, JOJ Family.
Normálně na TV je, ale naladím.
Existuje někde přehled,které piny z GPIO tuner využívá?
Zdravim,
DOC SPI: https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all
TV hat normalne pouziva SPI0:
19 [GPIO 10] SPI0 MOSI
21 [GPIO 9] SPI0 MISO
23 [GPIO 11] SPI0 SCLK
24 [GPIO 8] SPI0 CE0
26 [GPIO 7] SPI0 CE1
A nesmis zapomenout power
5V
GND
Dobrý den, podobné problémy jako výše. Celkem mi to funguje, ale jakmile zobrazím jiný zdroj a pak opět TV, tak mi to vytuhne. Pomůže jen restart. Ani restart Kodi/tvheadend nestačí.
Ahoj lidi,
budu instalovat TV HAT v libreelec. Snad bude v poslední verzi KODI vidět MAC maliny v4. V předchozí starší verzi to prostě v menu nešlo doklikat (na routeru fixně přiděluji přístup k wifi jen zadaným MAC adresa + pochopitelně heslo k wifi síti).
Jinak, že EPG nebude mít žádný problém s jazyčnym kodováním apod.
Jinak jak velikou doporučujete mít microSD kartu kvůli nahrávkám? Zatím to instaluji na 32GB, ale po správném vytunění a požadované konfiguraci to pak nainstaluju na větší.
Jinak piště další keksy a špatnosti co jste zjistili a jak je řešíte prosím.
Ahoj, děkuji za skvělý návod!
Potýkal jsem se jen s problémem, že jsem nemohl namapovat 40 kanálů – byly ignorované. Pomohl mě komentář odsud https://www.xbmc-kodi.cz/prispevek-tvheadend-schovava-sluzby
„Při instalaci verze 4.3 jsem narazil na stejný problém, který se mi nakonec podařilo vyřešit.
U problémových muxů (např. Česká televize) stačí v seznamu muxů editovat problémový a v expert settings povolit „Accept zero value for TSID“ – po přeskenování se kanály správně zobrazují a lze je namapovat.“
Píši to sem, kdyby měl někdo podobný problém.
Další co mě nefunguje je spuštění streamu na PC pomocí VLC. To jsem zatím ještě nerozlouskl.
Zdravím. Zajímalo by mě, jestli lze řešit i dekódování (descrambling) kanálů kabelovky. Máme nějaké placené kanály. Na TV toto funguje skrze CI/CA modul s kartou od kabelovky.
Co jsem pochopil, tak CA modul není nic extera chytrého a karta na sobě nese „pouze“ nějaký descramblovací klíč. Nějaká informace se posílá spolu s vysílaným programem (údajně „číslo“ karty). Bohužel neumím najít nic bližšího a ani moje google-fu nestačí na to najít použitelné řešení pro „dešifrování“ zaplacených kanálů na PC/RPi.
Nejde mi o nějaké hacknutí a příjem nezaplacených kanálů, pouze o ty, které máme zaplacené a k nimž máme v TV kartu. Tedy, jestli lze z karty čtečkou získat klíč a na RPi skrtze připojený TV-hat/DVB-USB zpracovat a dešifrovat stream pro použití v domácí síti.
Děkuji za případné rady.
ne nejde, je to legálně komplikované a vyžadovalo by to licence které jsou poměrně drahé.
Ja som skusal TV kartu TBS5580, ktora ma integrovany CI slot a je kompatibilna aj s linuxom a softverom tvheadend. Nasledne bolo mozno prijimat cez tvheadend aj kanaly, ktore vyzaduju CI kartu, ktoru staci mat v tom CI slote
Dobry navod, ale bojujem s tym, ze chcem multituner na tom HATe a RPi4-8GB rozpozna iba jeden tuner, viac nie, a to je problem.. Ide to nejak spojazdnit, alebo RPi4 na zbernici GPIO pozna iba jeden ten tuner?
Tvhatend je schopný přijímat více muxu ale jen z jednoho tuneru. Tedy ne, jediný řešení je více RPI.