Hlavní navigace

Digitální televize v Linuxu

9. 2. 2006
Doba čtení: 7 minut

Sdílet

Dnes Radiokomunikace spouštějí další část terestrické digitální televizní sítě. Digitální vysílání multiplexu A je od 9. února dostupné třetině populace ČR. Podívejme se na možnosti jeho využití v Linuxu.

Co je to digitální televize

Pokud sledujete server DigiZone.cz, pravděpodobně víte, jak to s digitálním vysíláním chodí. Pokud ne, pokusím se v rychlosti vše vysvětlit.

DVB-T neboli Digital Video Broadcasting – Terrestrial je evropská norma pro šíření digitálního televizního signálu pozemní cestou, tedy šíření volným prostorem podél povrchu Země. K přijmu těchto signálů je kromě antény potřeba specializované zařízení, pro který se vžil anglický termín set-top-box.

My se nebudeme zabývat klasickými STB, které se připojují k televizi. Sice na nich také může běžet Linux, ale o nich možná až příště. Nás bude zajímat příjem a zpracování digitálního signálu přimo v počítači s Linuxem.

Proč bych to měl chtít?

Důvodů je samozřejmě víc, takže postupně:

Více kanálů

Díky kompresi (používá se klasický MPEG-2) je možno do jednoho datového toku, který zabírá šířku jednoho kanálů a nazýváme jej multiplex, kódovat několik nezávislých kanálů. Představte si digitální signál jako bezdrátový spoj, kterým k vám teče stabilně 23 Mbitů za sekundu. Do tohoto toku se běžně umisťují čtyři televizní kanály, několik rozhlasových stanic a doplňkové služby.

Během Zimních olympijských her v Turíně bude 15 hodin denně vysílat nový sportovní kanál České televize, program ČT 4 Sport.

Kvalitnější příjem

Digitální tok je pochopitelně méně náchylný k rušení a nemohou se v něm objevovat nepříjemné artefakty známé z analogového příjmu. Je tedy konec šumu, duchů, proužků v obraze a dalších rušivých elementů. Na druhé straně se ovšem mohou objevit jiné nepříjemné chyby, které známe z MPEG komprese – čtverečkovaný obraz a „chlupaté” hrany. V souvislosti s tímto problémem se často hovoří o tom, zda by místo MPEG-2 neměl být spíše nasazen MPEG-4. Pro více informací se podívejte na článek MPEG-2 versus MPEG-4: co říkají multiplexeři.

Příjem MPEG-2

Jelikož se vysílá přímo v MPEG-2, váš přijímač zachytí tok, vybere jeden video proud a ten vám podá. Dostáváte tedy obraz kódovaný přímo v MPEG-2. Žádný převod, žádné enkódování. Rovnou můžete přehrávat nebo ukládat. Jen doplním, že se běžně tok tohoto videa pohybuje okolo 4 Mbit/s.

Nemáte na vybranou

I kdyby se vám předchozí argumenty nehodily do krámu, stejně máte smůlu. Zatím není jisté, kdy se tak stane, ale analogové vysílání bude docela brzy vypnuto. Deadline je rok 2012, ale je možné, že „velký cvak” proběhne dříve. ČTÚ si přeje, aby byl analog vypnut v roce 2009 nebo 2010. Bez nového přijímače tedy po tomto termínu nekoukáte.

Co budu potřebovat

Kromě antény pochopitelně set-top-box. Svou starou televizní kartu můžete zahodit. Je tu sice možnost připojit k ní klasický televizní STB a konvertovat si signál na analog ještě před počítačem, ale to není příliš systémové řešení. Především si zhoršíte signál a přijdete o výhodu MPEG-2.

Velmi podstatná je také otázka pokrytí. V současné době je pokryta Praha, Brno a Ostrava. To ovšem neznamená, že když bydlíte jinde, signál mít nebudete. Velmi často pokrytá oblast zasahuje 50 i více kilometrů od vysílače.

Přesné mapy s ohledem na terénní podmínky najdete na DigiZone.cz.

Řekli jsme si, že se tedy budeme zabývat zařízeními k PC. Těch existuje celá řada a navíc v různých podobách. Komplexní informace o STB, které u nás můžete pořídit, najdete v Porovnání set-top-boxů na DigiZone.cz.

PCI karty

Klasika, v podstatě totéž, co můžete mít v PC už teď. Zapojuje se do PCI slotu počítače. Výhodou tohoto řešení je přímá integrace „do bedny”, při níž se vyhnete nepříjemné kabeláži, kterou máte už beztak všude. Nevýhodou je, že je nemůžete jednoduše přenášet a je možno je použít jen v klasických desktopech. Cena: 2 až 3 tisíce Kč.

PCMCIA karty

Těch je na trhu poměrně málo, a to pravděpodobně kvůli nižší poptávce. I přesto si ale můžete vybrat. Pokud používáte pro práci často notebook a rádi byste se občas podívali na televizi, může se jednat o velmi příjemné řešení. Nevýhodou je pochopitelně problematické použití jinde než v notebooku. Cena: 4 tisíce Kč.

USB krabičky

V současné době nejrozšířenější přijímače pro PC. Jejich výhodou je snadná instalace, mobilita a také možnost připojení jak ke stolnímu počítači, tak k notebooku. Existují ve dvou variantách. Seženete klasické krabičky s USB kabelem, ale nově se začínají objevovat i velmi atraktivní dekodéry v podobě malého USB dongle. Představte si „flash disk”, ke kterému jen připojíte anténu. Malé a sympatické řešení. Cena USB krabiček: 2 až 3 tisíce Kč.

Jak na to v Linuxu

Budete-li hledat nějaké informace o provozu přijímačů v Linuxu, doporučuji nejprve zamířit problížeč na server LinuxTV.org, který se zabývá touto problematikou a zároveň sdružuje vývojáře jednotlivých projektů, které se okolo DVB točí.

Výběr zařízení nechám na vás, záleží na vašich požadavcích a potřebách. Kompatibilitu konzultujte se seznamem podporovaných zařízení na Linux TV, případně s databází set-top-boxů.

Předpokládám, že jste si vybrali příslušné zařízení a připojili jej k počítači. Neočekávám, že by v téhle „hardwarové” fázi nastal nějaký problém. Prostě to zasunete do správného konektoru a je to.

Pro vyzkoušení můžete sáhnout po některé ze specializovaných multimediálních distribucí jako GeeXboX nebo MythTV. Velmi dobrou podporu DVB má především druhá jmenovaná.

Ovladače

K samotnému uvedení hardware do chodu ve vaší oblíbené distribuci budete potřebovat pár věcí z už zmíněného serveru LinuxTV, konkrétně z archivu na adrese www.linuxtv.or­g/download/dvb/. Balíčky jsou ovšem často součástí běžných distribucí. V Debianu například jejich obsah najdete. Jedná se o balíky linuxtv-dvb a dvb-utils. První z nich obsahuje ovladače pro hardware a v tom druhém jsou utilitky k ovládání nastavení STB.

Ovladače jsou kompatibilní s Linuxem řady 2.6.x a v řadě 2.4.x s verzí 19 a vyššími. V novějších jádrech jsou již ovladače integrovány a není je proto třeba stahovat. Projekt LinuxTV se totiž podíli na vývoji V4L, a tak je vše příjemně sloučeno.

Konkrétní moduly, které je potřeba zavádět, jsou uvedeny v seznamu podporovaných karet. Jen upřesním, že je nutno nahrát jak samotný ovladač, tak i frontend.

Utilitky pro ovládání

V balíčku dvb-utils, který jsem už zmínil, se nachází několik podstatných utilitek. Nás budou zajímat zejména soubory scan a tzap. První z nich slouží k proladění pásma a nalezení jednotlivých kanálů. Druhá utilita pak provádí samotné ladění.

Některé programy samozřejmě umí samy ladit. I přesto se vám ovšem tento lowlevel postup může hodit. Předvedu za chvíli.

Prvním krokem je ladění samotné. K němu slouží utilita scan využívající popisy pásem, které jsou součástí balíků. Najdete je v podadresáři scan/dvb-t. Nalezené kanály je dobré někam uložit. Standardně jsou pak hledány v domovském adresáři v podadresáři .tzap, takže je tam uložíme. V adresáři s popisy pásem proto spustíme

scan dvb-t/cz-Praha > ~/.tzap/channel.conf 

Po chvíli najdete v souboru channel.conf něco takového:

CT1. A:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:513:641:1
CT2. A:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:514:642:2
CT24. A:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:515:643:3
Nova. A:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:516:644:4
CRo 2 - Praha. A:506000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:0:658:18 

A tak dále. Samozřejmě záleží na tom, co všechno je k dispozici. Jak vidíte, jsou automaticky doplněny i názvy kanálů. Podle nich se pak můžete orientovat v programech pro přehrávání televize.

Ještě se zmíním o utilitě tzap. Ta umožňuje mimo jiné přelaďovat STB na požadované kanály. Příslušný soubor v /dev  pak bude přímo obsahovat aktuální stream. Například

$ tzap -r "CT1. A"
$ cat /dev/dvb/adapter0/dvr0 > film.mpeg 

Případně místo druhého řádku můžete napsat

$ mplayer /dev/dvb/adapter0/dvr0 

Přehrávače

Takove použití ovšem není moc pohodlné. Budete samozřejmě potřebovat také nějaký ten software, který vám ukáže obraz a dovolí nastavit všechny potřebné parametry. Některé programy navíc umožňují procházet programového průvodce a mají spoustu dalších funkcí pro zvýšení vašeho pohodlí. Můžete je třeba rozchodit s podporou dálkového ovládání.

Kaffeine

Dříve byl pro KDE vyvíjen projekt KaxTV, který vycházel z Kaffeine, jeho funkce byly ale časem integrovány zpět do Kaffeine a projekt přestal být podporován.

Kaffeine

Xine

Ano, i Xine už docela dlouho podporuje příjem DVB. Dokonce má podporu digitálního příjmu velmi dobře řešenou a řekl bych, že zatím nejlepší, jakou můžete na Linuxu vidět.

CS24_early

Xine

Klear

Velmi kvalitním software pro příjem DVB je program Klear. Podle názvu je patrné, že je stejně jako Kaffeine určen pro prostředí KDE, ale samozřejmě jej můžete používat i jinde. Kromě samotného přehrávání umí také timeshifting, EPG, časované nahrávání a další funkce.

Klear

MPlayer

Abychom to měli kompletní, i MPlayer si poradí s DVB. Základní řádková syntaxe je mplayer dvb://, musí ji následovat další parametry s číslem STB a názvem stanice. Výhodou MPlayeru je, že můžete použít všechny známé filtry a parametry. Řadu z nich najdete v seriálu MPlayer a MEncoder. Pomocí MEncoderu můžete přímo ukládat MPEG-2 stream na disk.

Přijímáte už digitální signál?

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.