Streamování televize z DVB zdrojů pomocí Open source nástrojů David Seidl VŠB-TU Ostrava, FEI, FMMI 17.listopadu 15 Ostrava-Poruba +420 597 32 3237
ABSTRACT
[email protected] 2.1 Výběr vhodné DVB karty
Prostupnost datových linek poskytovatelů internetu již dnes dávno není omezena několika megabity, jak tomu bývalo ještě před pár lety, kdy hlavní technologie, díky které se přenášela data u menších poskytovatelů, byly bezdrátové spoje na frekvenci 2.4GHz. Dnes většina i menších poskytovatelů začínají svá data přenášet po optických vláknech. Což samozřejmě přináší zcela opačný problém, než tomu bylo za časů bezdrátových pojítek. Otázkou bývá jak využít velké přenosové kapacity, které dnes spoje běžně dosahují. Odpovědí je streaming televize. V následujících řádcích se dozvíte jak, i s minimálními náklady, provozovat velmi stabilní a spolehlivé řešení streamování televizního signálu do počítačové sítě, ať už je to vaše domácí síť s několika PC nebo metropolitní síť s tisíci uživateli.
Keywords
Streaming, DVB, dvblast, scan
1.
Těšíme se na tmu
Tma bývá něco, z čeho většina lidí moc radost nemá. Pokud se ale nejedná o tmu analogovou, která nastane v české republice 12.12.2012. Z čehož by měl Jára Cimrman zajisté radost. Analogová tma znamená, že na území české republiky bude možné přijímat pouze signál digitální televize DVB-T. Což by mohla být dobrá zpráva pro všechny majitelé malých i velkých počítačových sítí. Zprovoznění streamování je poté již pouze otázkou nákupu DVB-T karet, počítače a několika hodin či minut strávených nad konfigurací. V následujících řádcích se vám pokusím pomoci, aby ten čas strávený konfigurací se blížil více těm minutám než hodinám.
2.
Linux a DVB
Prvním a podstatným předpokladem pro to, abyste byli schopni streamovat digitální televizi do počítačové sítě je mít potřebný hardware. Nemáte-li hluboko do trezoru, můžete samozřejmě sáhnout po profesionálních řešeních, která vám nabídnou mnohé pokročilé funkce. Navíc nastavování takového streamu je většinou pouze otázkou proklikání se připraveným menu, které vás celým procesem provede. To vše zní samozřejmě krásně, pokud se nezačnete zabývat cenou takovýchto zařízení. Dalším krokem bývá to, že se porozhlédnete po open source, zdali již něco podobného neexistuje. V problematice DVB již dávno uplynula doba pionýrských pokusů a tak se v prostředí open source začalo objevovat mnoho projektů, které se touto tématikou zabývá. Klíčovým a podstatným je projekt LinuxTV[2], který zastřešuje vývoj ovladačů pro jednotlivé DVB karty a také vývoj API, které je poté přejato do Linuxového jádra.
Chcete-li si značně ulehčit práci, tak by vaše první kroky měly vést právě na stránky projektu LinuxTV, kde je možné zjistit, které DVB karty jsou podporovány přímo v aktuálním Linuxovém jádru, případně pro které karty je možné ovladače stáhnout a začlenit do vámi používaného jádra. Samozřejmě že, nejjednodušší cesta je vybrat si DVB kartu, která má již podporu v jádru. Vyhnete se tak spoustě problémů. Přesto že uvažuji především o tom, že jako zdroj streamů bude použito terestrické tedy DVB-T vysílání, je možné využít i vysílání satelitního DVB-S, nebo kabelového DVB-C. U posledně dvou jmenovaných ale nastává problém v tom, že většina programů vysílaných v kabelovém nebo satelitním digitálním vysílání je kódováno, což sebou přináší další nesnáze. Proto je dobré začít s DVB-T vysíláním, kde je většina programů nekódovaných.
2.2
Kolik karet bude potřeba
2.3
Volba distribuce OS Linux
2.4
Potřebné programy
Velká výhoda digitálního vysílání obecně je ta, že na jedné frekvenci, je možné vysílat hned několik televizních a rádiových stanic. V prostředí DVB-T se této jedné frekvenci říká multiplex. DVB-T karta dovede přijímat všechny tyto programy najednou. Z čehož vyplývá, že pro streamování všech programů z jednoho multiplexu potřebujete pouze jednu DVB-T kartu. Zde již záleží jen na tom, v jaké lokalitě se nacházíte, tedy kolik multiplexů můžete zachytit. Vřele doporučuji použít stránky [11], díky kterým velmi přesně zjistíte jak na tom s příjmem DVB-T signálu ve vaší lokalitě jste.
Zde již je rozhodnutí zcela na vás. Obecně lze říct, že správná distribuce je ta, ve které se cítíte doma. Pro některé to bude nějaká odnož RedHatu pro jiné zase nějaký derivát Debianu. Může se ale také jednat o distribuci značně menších rozměrů jako OpenWRT nebo TTYLinux. Volba je zde čistě na vás. Jediné na co je dobré si dát pozor je podpora použité DVB karty v distribučním jádru. Samozřejmě že není problém si přeložit jádro vlastní, ale můžete si tak ušetřit spoustu práce.
Po startu vaší oblíbené distribuce OS Linux na počítači s DVB-T kartou, by měly vaše první kroky vést do složky /dev/dvb/, zde by se měly nacházet DVB adaptéry. Každá karta bude mít svou složku nazvanou adapterX, kde X bude číslo karty. Ve složce každého adaptéru poté najdete další soubory, frontend0, demux0 a další. Tyto soubory jsou již rozhraní k DVB kartě a programy je využívají ke komunikaci s DVB kartou. První sada programů, nutná pro práci s DVB kartou se nachází v instalačním baličku dvb-apps pro distribuci Debian. Předpokládám, že odnože RedHatu budou mít taktéž k dispozici
instalační balíček. Pokud ale vaše distribuce tento balíček neobsahuje, nezoufejte, zdrojové kódy je možné stáhnout ze stránek projektu LinuxTV. Aplikacemi pro DVB se rozumí především programy scan, tzap, szap, czap, femon a další.
2.5
Ladíme programy v příkazové řádce
Pro ladění programů se používá program scan. Nápověda pro tento program je velmi obsáhlá, přesto doporučuji ji prostudovat. Podstatný parametr je -a, kterým se určuje na které DVB kartě se bude scanování provádět. Bez udání parametru -a se skenování provádí na první DVB kartě. Program scan očekává jako parametr soubor, ve kterém jsou definovány frekvence a další parametry skenovaných vysílačů. Parametry jsou v souboru uvedeny následovně: T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
V každém řádku jsou uvedeny jednotlivé parametry pro daný multiplex. Balíček dvb-apps již obsahuje mnoho vytvořených souborů, takže je možné že tam najdete i vysílač ze kterého chcete přijímat DVB-T signál. Pokud tomu tak není, budete si muset zjistit parametry vysílače a soubor vytvořit sami. Skenování pro první DVB-T kartu v počítači se spustí příkazem: scan a 0 soubor_s_parametry_vysilacu
Co ale dělat pokud o lokalitě ve které chcete přijímat DVB-T signál nevíte nic? I zde je řešení. Existuje program w_scan [8]. Ten na rozdíl od výše jmenovaného programu scan nepotřebuje vědět nic. Program w_scan dělá vlastně to co televizní přijímač když vyhledává dostupné stanice. Tedy prohledá všechny možné frekvence a hledá na nich DVB-T signál. Program w_scan se většinou nevyskytuje v repositářích a tak je ho nutné stáhnout a zkompilovat. Použití programu w_scan je obdobné jako u scan. Parametrem -a se určuje použitá DVB karta, parametrem -c kód země ve které se nacházíte a doporučuji použít parametr -X, který způsobí, že výstup z programu bude mít stejný formát jako u programu scan. Příkaz pro proskenování dostupných programů na první DVB kartě v počítači by vypadal následovně: w_scan a 0 c CZ X
Výstupy z programu w_scan i scan jsou schodné. Programy začnou po spuštění scanovat definované kanály a informace o průběhu vypisují na standardní chybový výstup. Výsledek své práce poté zapíší na standardní výstup. Tento standardní výstup je dobré přesměrovat do souboru, kde se uloží informace o naladěných transpondérech. Typické použití vypadá následovně: w_scan a 0 c CZ X > /root/.tzap/channels.conf
Tímto příkazem se proskenují všechny frekvence na první DVB kartě. Průběh ladění se bude vypisovat na obrazovku a výsledek se zapíše do souboru channels.conf.
2.6
Jak kvalitní je signál
Pokud chcete DVB-T signál streamovat je důležité, aby úroveň signálu na DVB kartě byla co nejlepší. Pro první kontrolu můžete použít program tzap. Tento program potřebuje pro svou funkci soubor channels.conf, který standardně hledá v adresáři /root/.tzap/ . Je samozřejmě možné definovat i vlastní cestu k souboru channels.conf. Jako parametr je očekáván název stanice, kterou chcete přijímat a to přesně v takovém formátu jako je uveden v souboru channels.conf. Opět je možné definovat číslo DVB karty na které se má skenovat pomocí parametru -a. Takže například pokud chcete zjistit, zda jste schopni přijímat stanici
ČT1 na první DVB kartě, může vypadat použití programu tzap následovně: tzap a 0 "CT 1(Ceska televize)"
Po spuštění programu se začnou vypisovat řádky, kde budou uvedeny aktuální informace o stavu signálu. Bohužel informace nejsou pro běžného člověka zcela srozumitelné. Podstatné ale je, aby se na konci řádku objevilo FE_HAS_LOCK. Což znamená, že signál je naladěn. Pokud tato informace bude stabilní, znamená to, že signál je v pořádku a vy se můžete směle vrhnout do streamování.
3.
Programy pro streaming z DVB zdrojů
Opět je možné konstatovat, že pionýrské doby jsou již ty tam a tak výběr programů je značný.
3.1
Vlc [3]
Jako první z řady programů je nutné zmínit VLC. Znalci zajisté zbystřili, protože VLC je gigant a výčet vlastností tohoto programu by se vešel na několik desítek stránek. Většina z lidí zná program VLC jako multiplatformní multimediální přehrávač. Streaming je jen jedna z dalších možností, které tento program má. Jsou ale dva důvody proč byste pro streaming neměli VLC použít. Jednak je to náročnost tohoto programu na paměť a procesor a také je to nestabilita, kterou občas vykazuje. Je také nutné podotknout, že konfigurace bývá vcelku obtížná. Přesto ale existují důvody proč program VLC pro streaming naopak použít. Jedním z důvodů je například možnost restreamingu přijímaného signálu. Tedy změny kodeku. V české republice se programy v multiplexech šíří v kodeku mpeg2. Datový tok pro programy, které nejsou vysílány v HD rozlišení, se pohybuje mezi 4 až 8Mbps. Pokud vaše síť tento datový tok nezvládne, tak je možné pomocí programu VLC změnit datový tok a tím snížit kvalitu, nebo změnit používaný kodek například na H264 a tím dosáhnout lepších výsledků v kompresi obrazu. To si sebou samozřejmě nese nároky na výkon počítače a v konečném důsledku i na spotřebu elektrické energie. Dalším důvodem může být to, že budete chtít používat nástavbu VLMa. Jedná se o program, který dovede spravovat více instancí programu VLC určených pro straeming. Konfiguraci jednotlivých instancí programu VLC je poté možné provádět pomocí webového rozhraní. Program VLC samozřejmě umožňuje streamovat prostřednictvím mnoha protokolů jako například http, rtp, udp a jiné. Nevyhýbá se ani možnosti streamování v sítích s IP protokolem verze 6.
3.2
MumuDVB [5]
MumuDVB je již značně jednoduší program v porovnání s VLC. Umožňuje streaming DVB-T a DVB-S zdrojů. Pro šíření v počítačové síti můžete použít protokoly http, rtp a udp. Ani protokol IPV6 není programu MumuDVB cizí.
3.3
Getstream [6]
Tento program byl jeden z prvních, který umožňoval streamovat DVB signál do počítačové sítě. Opět umožňuje streaming pomocí http, rtp a udp. Bohužel jeho vývoj se již zastavil, takže nelze očekávat, že by se objevila podpora IPV6, případně další funkce.
3.4
Getstream-poempel [7]
V roce 2006 se objevil projekt, který na program getstream navazuje. Jedná se o gestream-poempel. Část zdrojového kódu autor převzal z programu gestream. Konfigurace je ale o hodně jednodušší než u původního programu. Getstream-poempel umožňuje streaming pomocí http a udp. Taktéž umožňuje streaming v sítích s IP protokolem verze 6.
3.5
Dvblast [4]
Program dvblast je ze stejné dílny jako VLC. Tvůrci se chvástají tím, že program je určen pro provoz 24/7. Tedy je určený pro nasazení kde se očekává stabilita řešení. Nutno říci, že sebejistota tvůrců programu je zcela na místě. Program dvblast je opravdu velmi stabilní a nenáročný na výkon počítače. Jeho nevýhoda je že neumožňuje streaming prostřednictvím http. Nicméně všechny ostatní podstatné vlastnosti jsou již do tohoto programu zakomponovány. Konfigurace programu dvblast se dělí na dvě části. Jako parametry programu se uvedou parametry multiplexu, ze kterého se bude streamovat a číslo DVB karty která se na streaming použije. Druhá část konfigurace se nachází v souboru, kde jsou uvedeny parametry pro streaming. Pro vytvoření souboru i zjištění správných parametrů programu dvblast je vhodné použít soubor channels.conf, který byl vygenerován programem scan nebo w_scan. V tomto souboru jsou zapsány všechny informace, které jsou pro správné spuštění programu dvblast potřeba. Pro samotnou funkci program dvblast není tedy channels.conf nutný, ale pro zjištění potřebného nastavení je velmi vhodné ho mít. Spuštění programu dvblast pro streaming programů ČT1 a ČT2 v protokolu udp může vypadat následovně: dvblast c config_file a 0 f 714000000 b 8 t 100
V souboru config_file by byly následující řádky: #CT 1(Ceska televize) 239.255.10.100:1234/udp 1 257 #CT 2(Ceska televize) 239.255.10.101:1234/udp 1 258
Bližší informace o konfiguraci programu dvblast získáte z nápovědy, která je velmi podrobná a věcná. Program spuštěný s výše uvedenými parametry by začal vysílat na definovaných multicastových adresách programy ČT1 a ČT2.
4.
Jak přijímat streamované pořady
Existuje opět velké množství programů, které je možné pro příjem streamovaných programů použít. Nejpoužívanější bývá již jmenovaný program VLC. Ať už zvolíte jakýkoli program pro příjem streamovaného televizního vysílání, je nutné spouštět počítač. Chcete-li se tomu vyhnout, je možné využít některý z vyráběných IPTV set-topboxů. Těch opět existuje větší množství a záleží na každém, který z nabízených zařízení si zvolí. Často umožňují příjem streamovaného videa i novější televizní přijímače. V open source komunitě také existují projekty, na základě kterých je možné set-top-box vyrobit. Jedná se například o projekt MythTV[13]. Ten je sice původně určen k jiným účelům, ale je ho možné nakonfigurovat i v režimu IPTV set-top-boxu.
5.
Když si nerozumíme s multicasty
Technologie přenosu dat v počítačové síti pomocí multicastů vychází ze stejné situace jako je tomu při klasickém terestrickém televizním vysílání. Klasický televizní vysílač vysílá na pokryté území signál a je mu jedno jestli se na jím vysílaný signál dívá jeden člověk na záznam jednání z poslanecké sněmovny anebo několik tisíc lidí na telenovelu. Multicastové vysílání v počítačové síti vychází ze stejného principu. Vysílač, v našem případě stream, vysílá jeden datový tok, který se po síti šíří a na aktivních prvcích se tento signál naklonuje a posílá pouze těm účastníkům sítě, kteří o toto vysílání
požádají. Jedná se opravdu jen o velmi stručný popis multicastového vysílání, pro bližší pochopení doporučuji prostudovat mnohé internetové zdroje, které se nabízejí. Multicastové vysílání sebou nese i jisté nepříjemnosti. Síť, po které se toto vysílání šíří, musí být na to připravena. Mnohé levnější aktivní prvky si nevědí s multicasty rady a jsou v takových switchích chápány jako broadcast a jako takový se šíří do všech portů switche, což může způsobit zahlcení sítě. Obdobně se chovají i wifi zařízení. Ty jsou většinou multicastovým provozem zcela zahlceny. Pokud existuje taková část sítě, kde není možné multicastový provoz využít, existují programy, které dovedou převést multicastový provoz na unicastový. Budete-li šířit televizní programy po síti prostřednictvím unicastů uvědomte si, že každý uživatel, který se bude dívat na vysílaný stream, zabere datový tok 4-8MBps a až 12MBps pro kanály s HD rozlišením. Pro sítě, které nejsou co do počtu účastníků rozsáhlé, to nemusí být problém, ale někdy stačí jedno mistrovství světa v hokeji proto, aby správci sítě začali o nasazení multicastu uvažovat. Pro převod multicastu na unicast existuje opět větší množství programů. Jedním z nich je program udpxy [10]. Program se vyznačuje především stabilitou a velmi jednoduchou konfigurací. Pro spuštění programu stačí zadat pouze jeden parametr, který určí, na kterém portu se bude přijímat unicástové vysílání. Spuštění programu udpxy pro převod multicastového vysílání na unicastové na portu 1234 vypadá následovně: udpxy p 1234
To je vše, co je zapotřebí pro správnou funkci programu. V programu ve které stream sledujete, je nutné zadat následující url: http://ip_pc_s_udpxy:1234/udp/239.255.10.100:1234
V http dotazu, který předáváme na daném portu je předána i informace, kterou multicastovou adresu chceme převést na http stream. Na straně programu udpxy již tedy není zapotřebí žádná další konfigurace. Což je právě velká výhoda tohoto programu.
6.
Pod pokličkou streamu
Budete-li se zabývat streamováním DVB signálů více, zajisté se začnete zajímat více o to, jak celý systém funguje. Budete se zabývat pojmy jako PMT, PID a jinými [1]. Přesný popis těchto vlastností by byl velmi obsáhlý a zajisté by překročil rozsah tohoto článku. Vaše energie věnovaná studiu systému DVB se může velmi vyplatit. V DVB vysílání se nepřenášejí pouze video a audio data, ale také mnoho dalších informací, mezi které patří například EPG (elektronický programový průvodce), informace o provozovateli multiplexu a mnoho dalších. Pro bližší zkoumání obsahu DVB dat, které přijímá vaše DVB karta je velmi vhodný program dvbsnoop [9]. Tento program vyžaduje, aby vaše DVB karta byla naladěna nějakým jiným programem. Pokud tomu tak je program dvbsnoop umožní prohlížet si všechny pakety, které přes vaši kartu procházejí. Údaje můžete filtrovat a zobrazovat tak jen ty údaje, které vás zajímají. Jako příklad použití uvedu jednoduchý skript v bashi, který očekává jako parametr číslo karty. Skript vypíše jméno poskytovatele, který na daném multiplexu vysílá a také programy které jsou na tomto multiplexu vysílány.
#!/bin/bash PID=`dvbsnoop adapter $1 n 1 0 | grep m 1 Network_PID: \
| awk '{printf $2}'` dvbsnoop adapter $1 n 1 $PID | grep m 1 Network_name: dvbsnoop adapter $1 n 1 17 | grep Service_name:
Po spuštění skriptu může výpis vypadat následovně: ./prinfo.sh 0 Network_name: "Sit 3Czech Digital Group" Service_name: "Prima LOVE" Service_name: "Proglas"
Další program, kterým můžeme zkoumat aktuální stav DVB karty je program femon. Program opět očekává, že karta je již naladěna jiným programem. Femon vypíše na obrazovku aktuální stav karty, sílu naladěného signálu, počet chyb v přijímaných datech a další užitečné informace.
7.
Co nemám, to si udělám
Tímto zvoláním známým z jedné české písně jsem chtěl naznačit, že pokud se ani na internetu nenajde program, který by vyhověl vaším potřebám je nejvyšší čas ho napsat. Touto cestou jsem se dal i já. Všechny mé výtvory již jsou nebo se časem objeví na mých webových stránkách. [12]
7.1
Monitoring stavu DVB karet
Streamováním jsem se zabýval už nějakou dobu a pořád mi chyběl program, který by dovedl rychle zjistit, v jakém stavu je digitální televizní karta. Existují sice programy jako femon, ale jejich výstup je přece jenom ne příliš přátelský. Tak jsem se pustil do psaní programu, který by vypadal podobně jako programy wifimon nebo htop. Tedy program, který bude zobrazovat stav signálu a další parametry DVB karty pomocí knihovny ncurses. Výsledky mých dlouhých večerů, kdy mou ženu bolí hlava a mě není do spaní, zatím na internetu nikde nenajdete. Přeci jenom se zatím jedná jen o značně vývojovou verzi. Jakmile ale dospěji k verzi, kterou si již dovolím prezentovat, program i se zdrojovými kódy najdete na mých webových stránkách [12]. Výstup programu je naznačen na Obr.1.
segmentu jako broadcasty. Z tohoto segmentu sítě si multicastový provoz vyzvedne router, který bude multicasty distribuovat dále do dalších segmentů sítě. Takhle by to tedy mělo být. Co když chcete multicastový provoz šířit jen doma, kde máte většinou pouze jeden switch a budovat multicastový router a segmentovat síť se vám zcela pochopitelně nechce. Máte-li doma alespoň trošku chytřejší switch, který podporuje IGMP Snooping můžete mu vnutit, že samotný stream je také multicastový router. Poté se switch začne chovat přesně, tak jak očekáváte. Tedy multicastový provoz bude zatěžovat jen rozhraní, na kterém je do switche připojen počítač ze kterého se streamuje, a na ostatní rozhraní switche se dostane jen ten multicastový provoz, o který si připojené počítače řeknou. Pokud toto chování nejde na switchi nakonfigurovat, můžete se pokusit ho přesvědčit tím, že začnete posílat ze streamu pakety IGMP Query. Tyto pakety může v síti posílat jen multicast router. Jeden ze způsobů jakým switche určují, že na nějakém rozhraní je multicastový router je právě přítomnost těchto paketů. Pokud tedy na streamu uměle vygenerujete tyto pakety, můžete dosáhnout kýženého chování. Naprogramoval jsem si velmi jednoduchý program, který se jmenuje querier. Program očekává jako parametr rozhraní, na kterém má vyslat paket IGMP Query. Program zašle pouze jeden paket a ukončí se. Chcete-li posílat pakety cyklicky, je nutné zapsat patřičný příkaz do cronu. Chování které jsem popsal výše, samozřejmě nemusí být platné pro všechny switche na světě. Nicméně v mém případě mi popsaný postup pomohl.
8.
Závěr
Na začátku článku jsem vám sliboval, že se pokusím zkrátit čas, po který byste zprovozňovali streaming. Pevně věřím, že se mi to alespoň trošku povedlo. Máte-li k dispozici počítač s digitální televizní kartou a alespoň trošku holdujete Linuxu, zřejmě stačí už jenom jedno deštivé sobotní dopoledne a vaše domácí síť se bude hemžit televizními pakety.
9.
Literatura
[1] LEGÍŇ, Martin.Televizní technika DVB-T . 1. české. [s.l.] : [s.n.], 2006. 288 s. ISBN 80-7300-204-3. [2] Linuxtv [online]. 2012 [cit. 2011-09-25]. Projekt LinuxTV. Dostupné z WWW:
. [3] VLC [online]. 2012 [cit. 2011-09-25]. Projekt videolan. Dostupné z WWW:. [4] Dvblast [online]. 2012 [cit. 2011-09-25]. Projekt videolan. Dostupné z WWW:. [5] Mumudvb [online]. 2012 [cit. 2011-09-25]. MumuDVB. Dostupné z WWW:. [6] Getstream [online]. 2012 [cit. 2011-09-25]. Program getsream. Dostupné z WWW:.
Obr 1: Program pro zjišťování stavu DVB karet
7.2
Jak přechytračit switch
K tomu aby korektně fungovalo multicastové vysílání v prostředí sítě LAN je nutné umístit všechny streamy do jednoho segmentu sítě. Ze streamů se budou multicasty šířit v jejich domovském
[7] Getstream-poempel [online]. 2012 [cit. 2011-09-25]. Program getsream-poempel. Dostupné z WWW: . [8] W_sacan [online]. 2012 [cit. 2011-09-25]. Program w_scan. Dostupné z WWW:. [9] DVB_snoop [online]. 2012 [cit. 2011-09-25]. Program dvb_snoop. Dostupné z WWW: .
[10] UDPxy [online]. 2012 [cit. 2011-09-25]. Program udpxy. Dostupné z WWW:.
[12] Stránky Davida Seidla [online]. 2012 [cit. 2011-09-25]. Dostupné z WWW:.
[11] Mapa vysílačů [online]. 2012 [cit. 2011-09-25]. Mapa televizních vysílačů a jejich pokrytí. Dostupné z WWW:
[13] MythTV [online]. 2012 [cit. 2011-09-25]. Projekt MythTV. Dostupné z WWW:.