Televizní karta v Linuxu

19. 6. 2000
Doba čtení: 5 minut

Sdílet

Ačkoli mnohým lidem, zabývajícím se vážněji počítači, Linuxem a internetem, připadá televize jako pokleslé médium, vyzývající k pasivnímu konzumování toho, co nám někdo jiný naservíroval až pod nos, nemusí být taková karta pro příjem televize v počítači vůbec špatná věc. Rozhodně se hodí při zdlouhavé kompilaci programů a nebo za situace kdy potřebujete na chvíli vypnout mozek a jenom se chvíli dívat. Velice lákavou se navíc jeví možnost snímání statických obrázků nebo digitalizace videa.

Karet do počítače, umožňujících příjem nebo zpracování televizního signálu je celá řada. Nejdražší a tak trochu elitní skupinou jsou karty určené pro amatérské nebo poloprofesionální zpracování videa. Tyto videostřižny se honosí výbornými parametry, bývají často vybaveny rozhraním Fire Wire a jsou doplněny kvalitním softwarem pro zpracování videa (pouze pod Windows). Jejich vlastnostem odpovídá jejich cena, která se pohybuje většinou od 8000,– Kč nahoru. Většinou ovšem neobsahují televizní tuner. Druhou méně početnou skupinou jsou kombinované karty, které slučují grafickou kartu a televizní tuner. Typickým (a dlouho jediným) představitelem této skupiny je karta ATI All-in-Wonder, která existuje v několika provedeních. Některé verze této karty jsou v Linuxu slušně podporovány. Pokud o ATI All in Wonder uvažujete, hledejte informace o programu Gatos.
První ani druhou skupinou karet se nebudu v tomto textu více zabývat. Třetí, nejpočetnější a rozhodně nejdostupnější skupinu tvoří karty založené na čipech Brooktree Bt848 a Bt878. Porovnání těchto karet je velice kvalitně provedeno na stránkách webu TV Freak. Výběr karty záleží především na vašich nárocích a finančních možnostech. Pro sledování televize na PC a pro příležitostnou digitalizaci videa z analogového zdroje (kamkordér, videorekordér VHS nebo TV vysílání) naprosto postačí kterákoli z nich. Tyto karty podporují maximální rozlišení videosignálu 768×567 bodů a většina z nich je vybavena vstupy pro VHS video a S-Video. Podle mého mínění si ušetříte spoustu problémů, pokud zvolíte kartu přímo podporovanou jádrem Linuxu stabilní řady.

Jelikož jádro dodávané s RedHatem 6.2 standardně ovladač TV karty neobsahuje je nezbytné je nakonfigurovat a znovu přeložit včetně modulů. Pomocí příkazu „make xconfig“ spustíme konfigurační program jádra, v něm přidáme do jádra podporu TV karet a jako modul podporu karet založených na čipu Bt848. Čip Bt878 je pouze jeho novější vylepšenou verzí, která je zpětně kompatibilní. Dále je potřeba použít příkazy „make clean“, „make dep“ a přeložit jádro pomocí příkazu „make bzImage“. Jádro pak překopírujeme do adresáře „/boot“ nebo použijte příkaz „make install“. Potom přeložíme moduly jádra pomocí příkazu „make modules“ a moduly nainstalujeme pomocí „make modules_install“. Na závěr je potřeba přidat odkaz na nové jádro do konfiguračního souboru vašeho oblíbeného bootloaderu (u lila doplnit sekci do „/etc/lilo.conf“ a spustit „/sbin/lilo“). Pokud to za vás neprovedou startovací skripty při bootu, je před použitím modulů třeba vygenerovat soubor závislostí povelem „depmod -a“. Myslím, že tento postup většina ostřílenějších uživatelů Linuxu důvěrně zná. Pokud si nejste při překladu jádra jistí obraťte se na zkušenějšího uživatele Linuxu ve vašem okolí.

Po restartu systému s novým jádrem, je nutné zavést ovladače s parametry příslušející vaší kartě. Zde je naprosto nutnou podmínkou úspěchu četba dokumentace k jádru, kterou najdete např. v RedHatu v „/usr/src/linux/Do­kumentation/vi­deo4linux“. Skript, kterým zavedete ovladače do paměti může vypadat takto:

  modprobe videodev
  modprobe i2c
  modprobe tuner type=a
  modprobe msp3400 (nebo jiný modul dle vaší karty)
  modprobe bttv card=b, pll=c

Parametry „a“, „b“ a „c“ lze získat z dokumentace jádra např. u jádra 2.2.14–5.0 (RedHat 6.2)

Parametr a =

  0: Temic PAL tuner
  1: Philips PAL_I tuner
  2: Philips NTSC tuner
  3: Philips SECAM tuner
  4: no tuner
  5: Philips PAL tuner
  6: Temic NTSC tuner
  7: Temic PAL tuner
  8: Temic 4036 FY5 NTSC tuner

Parametr b =

  1: Miro
  2: Hauppauge
  3: STB
  4: Intel
  5: Diamond
  6: AVerMedia
  7: Matrix Vision MV-Delta
  8: Fly Video II
  9: TurboTV
  10: Newer Hauppauge (Bt878)
  11: Miro PCTV Pro
  12: ADS Tech Channel Surfer TV (and maybe TV+FM)
  13: AVerMedia TVCapture 98
  14: Aimslab VHX
  15: Zoltrix TV-Max

Parametr c =

  0: PLL nebude použito
  1: 28 MHz PLL
  2: 35 MHz PLL

Pravdou je, že mnohdy se vám různé karty "chytnou " na parametry od zcela jiných. Osobně jsem zkoušení prováděl následující metodou:

  1. Připravil jsem si program pro ovládání TV karty „Xawtv“.
  2. Všechny ovladače související s TV kartou jsem vyhodil z paměti pomocí příkazu „rmmod“ např. „rmmod bttv“.
  3. Zavedl jsem pomocí příkazů „insmod“ nebo „modprobe“ ovladače s nastavenými parametry např. „modprobe bttv card=13“ a „modprobe tuner type=5“.
  4. Spustil jsem předem připravený program „xawtv“ a podíval se jak karta reaguje.
  5. Body 1–4 jsem opakoval až do dokonalého obrazu, zvuku a ladění tuneru karty.

Jakmile jste s funkčností karty spokojeni, je dobré přidat skript s příkazy k zavedení ovladačů někam do startovacích skriptů systému.

Vlastním kartu Aver TV Capture 98 a pro ni jsem do souboru „/etc/rc.d/rc­.local“ přidal následující skript:

  insmod i2c
  modprobe bttv card=13
  insmod tuner debug=1 type=5

Ovladač i2c stačilo pro mou kartu zavést bez parametrů. U ovladače bttv jsem musel uvést typ karty card=13 tj. AVerMedia TVCapture 98. U ovladače tuneru parametr „debug=1“ znamená, že tuner se mi po startu systému ohlásí „tuner: type is 5 (Phillips PAL)“. Může se stát, že zrovna ta vaše karta dosud ve standardních jádrech podporována není. Pak doporučuji podívat se na nejnovější verzi ovladače na stránku BTTV Page.

Ovladače máme zavedeny. Potřebujeme ještě obslužný program, který umožní zobrazení televizního obrazu, ladění kanálů, grabování obrázků a ovládání všech dalších funkcí televizní karty. Osobně jsem vyzkoušel tři Xawtv, Kwintv a GnomeTV. Všechny by měly umožňovat prakticky totéž, co program dodávaný na CD-ROM přímo s kartou, který pracuje pod Windows.

Xawtv, obrázek

Jak je z přiložených obrázků vidět Kwintv má pěkné grafické provedení. Bohužel má také daleko větší sklony k padavosti. Gnome TV je na počátku svého vývoje a jeho verzi 0.2 se mi nepodařilo rozchodit. Po chvíli zkoušení jsem si zvolil za svého favorita Xawtv. Xawtv verze 3.16 má jednoduché textové menu, které lze vyvolat kliknutím pravého tlačítka myši přímo do okna s televizním obrazem. Grabování obrázků mi v Xawtv fungovalo na jedničku, grabnuté video bylo bohužel bez zvuku. Připouštím však, že můj dýchavičný počítač s Pentiem 120 na grabování videa prostě nemá.

KWinTV, obrázek

Dalším obvyklým využitím karty je sledování teletextu. Teletext v počítači má několik výhod. Všechny stránky se ukládají do diskové cache a díky tomu je práce s teletextem velice rychlá. Navíc je možno převádět stránky přímo do textových souborů. Používám program AleVT. Čeština v něm není sice dokonalá, ale rychlost práce se stránkami za to stojí. Program spouštím s parametrem „-oldbttv“.

AleVT, obrázek

bitcoin_skoleni

Prosím čtenáře tohoto textu, neposílejte mi dotazy typu „Jak rozchodit kartu XY?“ nebo „U karty XY mi nejde to a to“. Co s tím mám dělat?". U karet, které nerozchodíte podle výše uvedeného návodu – nejsou uvedeny v dokumentaci ovladače bttv (např. Askey TV View 99), nezbývá než zkoušet zavádět ovladače s různými parametry event. vylepšit jádro nějakým patchem. Ale to je spíše záležitost pokusů (a omylů).

Musím už bohužel končit, na Nově dávají něco s Arnoldem Schwarzenegerem…

Autor článku

Autor je provozovatelem stránek kancelar.jinak.cz...