Hlavní navigace

DVB-T/DVB-T2 televize v Linuxu od A do Z s USB tunerem

Pavel Chalupa

Televize vás nutí být v přesný čas u obrazovky a má to i spoustu dalších nevýhod. Při sledování DVB-T přes USB tuner v počítači můžete také v druhé půlce obrazovky něco dělat.

Než bude DVB-T2 dostupné většině populace, bude to ještě chvilku trvat. Většina DVB-T jede stále v SD a relativně čerstvá novinka na Černé hoře v Krkonoších je HD vysílání České televize. DVB-T také ještě pár let poběží souběžně s nasazováním DVB-T2. Článek popisuje na příkladech použití DVB-T SD/HD tuneru, ale pokud si již dnes pořídíte DVB-T2 USB tuner, budou postupy stejné.

Ohledně výběru konkrétního DVB-T tuneru do USB nebylo před rokem moc na výběr a existovala pro Linux prakticky jediná funkční možnost – Evolveo ve dvou variantách – s jedním nebo dvěma tunery. Cenově je to zhruba 400 resp. 600 korun za dvoutunerovou verzi. Tento USB tuner umožňuje přijímat DVB-T v SD i HD režimu H.264/MPEG-4 AVC. Mám ho už víc než rok a zatím stačí. Co se týká výběru USB tuneru, doporučuji vybírat na LinuxTV, kde je přehled použitelných zařízení pro DVB-T i DVB-T2 včetně toho, jaký firmware použít: DVB-T, DVB-T2.

Oficiální stránky HD tuneru, který používám: Evolveo VenusK tuneru Evolveo stačí stáhnout firmware. Ten je v souboru  dvb-usb-it9135-02.fw, který nakopírujte do adresáře /lib/firmware, samozřejmě s právy roota.

Po připojení tuneru do USB byste na příkaz lsusb měli vidět nové zařízení:

Bus
001 Device 013: ID 048d:9006 Integrated Technology Express, Inc.
IT9135 BDA Afatech DVB-T HDTV Dongle

Nezaznamenal jsem při instalaci žádné problémy. Pokud přesto nastanou, pusťte si v terminálu příkaz dmesg a podívejte se, kde je problém. Po zasunutí do USB by ve výpisu mělo být:

 usb 1-3: Product: DVB-T TV Stick
 usb 1-3: Manufacturer: ITE Technologies, Inc.
 usb 1-3: firmware: direct-loading firmware dvb-usb-it9135-02.fw
 usb 1-3: dvb_usb_v2: downloading firmware from file 'dvb-usb-it9135-02.fw'
 usb 1-3: dvb_usb_af9035: firmware version=3.40.1.0
 usb 1-3: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in warm state
 usb 1-3: dvb_usb_af9035: [0] overriding tuner from 51 to 60
 usb 1-3: dvb_usb_af9035: [1] overriding tuner from 51 to 60
 DVB: registering new adapter (ITE 9135(9006) Generic)
 usb 1-3: DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))...
 DVB: registering new adapter (ITE 9135(9006) Generic)
 usb 1-3: DVB: registering adapter 1 frontend 0 (Afatech AF9033 (DVB-T))...

Mezi zařízeními byste měli mít jeden nebo dva adaptéry a příkaz: ls -l /dev/dvb/ by měl vypsat:

drwxr-xr-x 2 root root 120 pro  3 18:48 adapter0
drwxr-xr-x 2 root root 120 pro  3 18:48 adapter1

…a zbytek už vyžaduje jen běžně nainstalovaný linuxový systém (na distribuci téměř nezáleží) a mělo by vše fungovat automaticky. Pokud chcete o DVB-T v Linuxu vědět víc nebo se v tom více „vrtat“, dobrým zdrojem je Arch Wiki nebo LinuxTV.

Pro odzkoušení doporučuji aplikaci Me TV

Při prvním spuštění si můžete automaticky naladit kanály. Stačí vybrat Českou republiku. Pokud chcete vidět více pod povrch, můžete si naladit kanály tímto příkazem: (nutno nainstalovat balíček  w-scan)

$ w_scan -ft -c CZ -M > ~/channels.conf

Vyhledávání trvá asi čtyři minuty. Na dotaz ladění pak předejte aplikaci Me TV tento vytvořený soubor.

Pokud se cokoliv pokazí nebo chcete v Me TV přeladit kanály, stačí vymazat nebo přejmenovat SQLite souborme-tv.db v domovském adresáři ~/.local/share/me-tv .

Ať už použijete jakoukoliv ze dvou předchozích možností, dostanete se k seznamu kanálů a můžete je myší přeházet, případně některé odstranit. To lze udělat i později z nabídky Zobrazit → Channels.

Nastavení preferencí Me TV

Velikost stránky EPG dejte třeba 100, protože pokud máte kanálů více než je toto číslo, tak na ně nemůžete přepnout. Video ovladač xv je velice důležitý, jinak vám v Me TV nepůjde HD vysílání, přehrávání je výpočetně náročné. SD vysílání funguje a je použitelné též na ovladači opengl, ale není tak efektivní a zatěžuje procesor. Výchozí ovladač xshm má nekvalitní obraz.

Odstranění prokládání nastavuji na tvtime a kódování textu na iso6937. Pokud se zdá, že čeština i po přepnutí nefunguje, je to tím, že se musí vše znovu načíst. Tak jak se posunuje v čase program s popisky zprava doleva, spraví se i čeština.

Nahrávání je velice jednoduché. Stačí stisknout červené tlačítko v levém dolním rohu. Do přednastaveného adresáře v preferencích se nahrává soubor mpeg – tedy kopie streamu. Název souboru se tvoří automaticky z EPG:

(název pořadu + stanice + čas).mpeg

Lze nastavit i automatický časový plán nahrávání podle EPG i z více kanálů. Pokud nahráváte, můžete celé Me TV zminimalizovat do tray ikony. Pak se stream přestane zobrazovat (vypne se i zvuk) a nebude zatěžován procesor.

Nahrávaný stream lze kdykoliv spustit hned po začátku vysílání, aniž by pořad skončil. Pokud si záznam spustíte s určitým zpožděním, můžete v klidu přetáčet reklamní bloky nebo dávat kdykoliv pauzu.

Kvalita obrazu

Na základní srovnání kvality obrazu tu mám dva podobné snímky z SD a HD:

DVB-T SD obraz 720×576 MPEG2 (dříve na DVD) na displeji 1366×768. Plynulé hrany, žádné výrazné artefakty ztrátové komprese, lehce neostrý obraz při pohledu zblízka.

DVB-T HD obraz 1920×1080 MPEG4 (H.264) na displeji 1366×768. Výrazně ostřejší čisté hrany, ostrý obraz i při pohledu zblízka. Zmenšení na 71 % původní velikosti pomáhá při odstranění artefaktů ztrátové komprese. Dokonce má tento obraz lepší kvalitu, než původní originál ve velikosti 1:1 při detailním pohledu zblízka.

Náročnost na hardware

Nejméně náročný je SD stream v MPEG2. Testy jsem prováděl na mobilním Intel Celeron (2×2,5 GHz).

HD stream v MPEG4/H.264 už je trochu náročnější, nicméně stále to zvládne z hlediska HW i ten nejobyčejnější low-end.

DVB-T běžící v přehrávači VLC

V Me TV nelze s výsledným obrazem prakticky nic dělat, VLC je v tomhle lepší. Nejprve si musíte vytvořit XML playlist příkazem:

$ w_scan -ft -c CZ -L > ~/dvb.xspf

Příkaz spustí vyhledávání kanálů, které trvá opět 4 minuty. V domovském adresáři se poté vytvoří soubor dvb.xspf, který je ve výchozí instalaci asociován s VLC, takže stačí dvojklikem otevřít. Je to textový XML soubor se seznamem kanálů. Tag <vlc:id>4</vlc:id> určuje pořadí v playlistu. Odstraněním celé sekce <track> ... </track> odstraníte jednu stanici. Přepínání programů se provádí v playlistu v nabídce Zobrazit → Seznam skladeb.

V preferencích mám nastaven OpenGL GLX video výstup a zapnuté odstranění prokládání, nic víc není potřeba oproti výchozí instalaci. V systému je minimální požadavek ohledně grafické karty jen zprovozněný direct rendering. Pokud s tím je nějaký problém ohledně ovladače, nejjednodušší je použít MESA (balíčky: libgl1-mesa-glx, libgl1-mesa-dri, mesa-utils). Příkaz glxinfo pak ve třetím řádku vypíše:

direct rendering: Yes

Tento způsob zobrazování ve VLC přes OpenGL byl v době prvních pokusů s Debian 8.x nutností. VLC totiž ve výchozí instalaci zobrazovalo ve fullscreenu v horní části obrazu zelenou linku, která působila rušivě.

Zajímavá vlastnost, kterou často ve VLC využijete, je ovládání hlasitosti kolečkem myši. Na notebooku se kolečko myši dá simulovat na multidotykovém touchpadu pohybem dvou prstů po touchpadu současně. Má to tu výhodu, že nemusíte utíkat z fullscreenu a hledat na liště ovládání hlasitosti a zase se vracet. Navíc jde zesílení nastavit až na 200 %.

Ve VLC je také vidět časový průběh pořadu a kde se v čase nacházíme, podobně jako při sledování uloženého filmu.

VLC umí i titulky – DVB i teletextové

Titulky jsou u některých pořadů k dispozici v DVB nebo na teletextu na straně 888. Do systému je nutno doinstalovat balíček vlc-plugin-zvbi, aby šel ve VLC teletext. Teletextové titulky mohou být i s černým pozadím pro lepší čitelnost. Titulky se dají využít i v případě, že chcete sledovat nějaký pořad a nechcete zvukem nikoho rušit. Někdy je vysílán i duální zvuk a můžete si pustit originál s českými titulky.

Pokud chcete používat oba tunery, např. jeden pořad nahrávat v Me TV a druhý sledovat ve VLC, musíte zachovat pořadí spuštění aplikací. VLC spusťte jako první a Me TV jako druhé, protože VLC neumí najít druhý tuner.

Při nekvalitním DVB-T signálu se občas stane, že ve VLC vypadne zvuk. V tom případě je potřeba znovu spustit stream s daným programem. Pokud s tím máte stále problémy, je lepší televizi pouštět v aplikaci Me TV nebo vylepšit kvalitu DVB-T signálu.

Záznam pořadů ve VLC je trochu složitější, proto pro záznam preferuji Me TV, kde to jde jedním kliknutím. Ostatně záznam následně přehrávám ve VLC.

VLC umožňuje oproti Me TV dát pauzu na běžící pořad a pokračovat ve sledování se zpožděním. Není to však úplně dokonalé. Pauza se dá dát jen jednou a pak už zpožděný stream nejde znovu zastavit. Dá se sledovat až s půlhodinovým zpožděním (víc jsem nezkoušel), ale pokud vypadne zvuk, musíte se vrátit do reálného DVB-T streamu.

Hrátky s obrazem

SD obraz 16:9

Odstranění rušivých okrajů je možné udělat v nabídce Nástroje → Efekty a filtry → Efekty videa → Ořez nahoře 26 px a vlevo 32 px a synchronizovat.

SD obraz 4:3

Pro lepší zobrazení SD obrazu vysílaného s poměrem stran 4:3 je dobrá volba nastavit ve video preferencích vynucení poměru stran 16:11. Tato volba se pak stane součástí nabídky Video → Poměr stran → 16:11. Ořez dejte 16:10 a při běžném notebookovém displeji ve fullscreenu (nejčastěji 16:9) je obraz lépe koukatelný.

HD obraz 16:9

U HD obrazu je dobré provést ořez v efektech videa: nahoře 50 px a vlevo 90 px a synchronizovat. Získáte 79 % HD rozlišení na běžném displeji s šířkou 1366 px.

HD obraz 4:3 „zabalený“ do 16:9

Vynutit poměr stran 16:8 ve video preferencích, dát ořez 16:9 a v efektech videa shora 50 px a zleva 220 px se synchronizací.

Ořez lze ve VLC cyklicky přepínat, zkuste ve fullscreenu opakovaný stisk klávesy C. Poměr stran se mění klávesou A.

Pokud se nechcete nějak výrazněji zabývat úzkým obrazem 4:3, úplně nejjednodušší a nejrychlejší pro SD obraz 4:3, je jen ořez 16:10 a dát fullscreen (klávesa F – funguje i v Me TV) na displeji 16:9.

Technické detaily streamu

Rozlišení obrazu, kvalitu zvuku i informace o datovém přenosu zjistíte ve VLC z nabídky Nástroje → Informace o kodeku.

MPEG2 SD stream:

MPEG4 HD stream:

Někdy mi však přijde, že je lepší si pustit živý stream z internetu, pokud to majitelé práv k danému pořadu umožní a daná televize živý stream nabízí.

Ještě bych zmínil, že pokud používáte tuner a máte ho v notebooku na stole a poblíž mobil, tak při zazvonění i během hovoru jde DVB-T do kytek, i když máte signál přivedený kabelem do domácnosti.

Kudy dál?

Pokud chcete nějaké detaily ohledně vašeho DVB-T tuneru, můžete ještě spustit v terminálu příkaz  dvb-fe-tool :

Device Afatech AF9033 (DVB-T) (/dev/dvb/adapter0/frontend0) capabilities:
CAN_FEC_1_2
CAN_FEC_2_3
CAN_FEC_3_4
CAN_FEC_5_6
CAN_FEC_7_8
CAN_FEC_AUTO
CAN_GUARD_INTERVAL_AUTO
CAN_HIERARCHY_AUTO
CAN_INVERSION_AUTO
CAN_MUTE_TS
CAN_QAM_16
CAN_QAM_64
CAN_QAM_AUTO
CAN_QPSK
CAN_RECOVER
CAN_TRANSMISSION_MODE_AUTO
DVB API Version 5.10, Current v5 delivery system: DVBT
Supported delivery system:
[DVBT]

Pro bližší detaily ohledně DVB-T/DVB-T2 a televizního vysílání ve vašem regionu bych doporučil sesterský server DigiZone.cz nebo technické detaily na Wikipedii.

Přiznám se, že jsem televizi už pár let skoro nesledoval/nepouštěl, ale tahle „hračka – USB tuner“ mě přesvědčila, že se v té televizi dá občas i na něco koukat… třeba současně s psaním tohoto článku.

Našli jste v článku chybu?
20. 12. 2016 10:00

V dnešní době bych spíše ocenil článek, kde se řeší přehrávání DVB-T2 a přechod na HEVC.

20. 12. 2016 5:07

Několik let jsem provozoval tvheadend + xbmc, ale posledních pár let v TV skutečně nic není a tunery leží v šuplíku..