Semmi akadálya tehát annak, hogy a Linux-tábor tagjai is tévét varázsoljanak PC-jükből.
Mit kell előre megtudnunk?
Mivel a hardvergyártók többsége nem ad telepítőlemezt a Linuxhoz, ezért szükségünk van néhány előzetes információra ahhoz, hogy életre keltsük tévékártyánkat. A következőket kell kideríteni:
- A bt848/849/878/879 grabber chipre épül-e tévékártyánk?
- Milyen típusú a kártyán lévő tévétuner? (A tuner egy gyufaskatulyányi fémdoboz a kártyán - ezen találjuk az antennacsatlakozókat -, az oldalán szokták feltüntetni a típust. Ilyen jel lehet például a TPI8PSB02P.)
- Tud-e sztereó/dolby hangot produkálni a tévékártyánk? Ha igen, ennek létrehozásához használ-e valamilyen különleges chipet? (Például az msp34xx sound chipek a régebbi Hauppauge tévékártyákon vagy a dpl35xx dolby chip napjaink WinTV Theater kártyáin.)
- Milyen kernelre (rendszermag) épül Linuxunk? (A legújabb 2.4.x verzió nagyon erősen ajánlott!)
- Milyen X Window (XFree86) rendszer van a Linuxunkban? (XFree86 4.0.1 vagy annál újabb verzió szükséges.)
Magyarország a PAL sugárzási rendszerbe, azon belül is a nyugat-európai régióba tartozik
Nagyon fontos kiemelni, hogy Linux alatt csak a Brooktree chipekre épülő tévékártyák használatára van lehetőség (bt848/849/878/879). Szerencsére a piacot az ezekre a lapkákra épülő kártyák uralják; jelenleg 64 típus van, amely e chipek valamelyikére épül, és Linux alatt is használhatjuk.
Amennyiben a lehető legjobb teljesítményt szeretnénk elérni a multimédia területén, akkor az ismertebb disztribúciók valamelyikének legfrissebb változatát használjuk (Mandrake 8.0, SuSe 7.1). Ezek már tartalmazzák a 2.4-es rendszermagot és a 4.0.x verziójú X Window rendszert. (A Mandrake 8.0-ssal szerzett tapasztalatok azt mutatják, hogy az minden külön odafigyelés nélkül kielégíti a szoftveres feltételeket.)
Ez azért lényeges, mert a 2.4-es kernel az első rendszermag, amelybe kiforrott, letisztult videoalrendszer került, és az XFree86 4.0.1 volt az első X Window, amely beépített videotámogatást tartalmaz. (Az X Window rendszer a grafikus megjelenítés alapja a Linuxban, az az alapvető szoftver, amely a hardver - mindenekelőtt a monitorcsatoló kártya - és a grafikus felhasználói felület között helyezkedik el, s biztosítja közöttük az együttműködést.)
A videotámogatás beépítésével valósult meg, hogy a tévékártyától érkező jelet is az alacsonyabb szinten elhelyezkedő X rendszer kezelje, ne pedig az XawTV program. Ez egyrészt azért jó, mert ilyen módon lehetővé vált az XawTV-től független, további tévénézőprogramok írása, másrészt pedig a grafikus megjelenítés alapját képező alrendszer már tud a tévékártya létezéséről, ami sokkal egyszerűbbé teszi annak kezelését a programok szintjén. Az újonnan kialakított videotámogatásnak köszönhetően nyílt lehetőség a videoskálázás megvalósítására is.
(Megjegyzendő, hogy mivel a tévékép kialakítása a tévé- és a monitorkártya együttműködésének eredménye, s a skálázást az utóbbi valósítja meg, az 1024x768-as vagy annál nagyobb felbontású videokép eléréséhez szükség van arra is, hogy monitorkártyánk meghajtószoftvere szintén képes legyen a skálázásra. Egyelőre még csak a Matrox G200/G400 kártyák drivere tudja ezt megvalósítani, ezek az első kártyák, amelyekhez az X szerver új képességét kihasználó meghajtót írtak.)
A kártya életre keltése és beállításai
A bttv driver - amely egy kernelmodul - felelős a digitalizáló chip (grabber chip - bt848/849/878/879) működtetéséért. Ez a lapka alakítja át az antennán keresztül érkező analóg jeleket a számítógép által értelmezhető digitális jelsorozattá. Lehetséges volna ugyan a bttv meghajtót kernelfordítás révén beépíteni a kernelbe, de a fejlesztők véleménye szerint érdemes modulban hagyni. Ennek az az oka, hogy a modulban lévő eszközmeghajtóknak megadhatunk különféle opciókat, amikor betöltjük őket, s erre nagy szükség lehet abban az esetben, ha a tévékártyánk típusát nem sikerül automatikusan felismernie a bttv drivernek.
A modulok betöltésére lehetőség van a rendszer indításakor automatikusan vagy utóbb, a rendszer működése közben manuálisan, parancssorból vagy scriptek segítségével. Alighanem a legtöbb felhasználó számára szimpatikusabb az automatizált megoldás.
A modulok betöltésével két konfigurációs fájl áll kapcsolatban:
- /etc/modules, amelyben a rendszerindításkor automatikusan betöltendő modulok vannak felsorolva;
- /etc/modules.conf vagy /etc/conf.modules - a Linux-
disztribúciótól függ, hogy melyik -, amely a betöltődő moduloknak átadandó opciókat, a betöltődés folyamán végrehajtandó utasításokat stb. tartalmaz.
A tévékártya működéséhez az /etc/modules fájlba nekünk kell beírnunk a "bttv" bejegyzést. Ha a rendszer telepítésekor már be volt szerelve a gépbe a tévékártya, vagy a rendszer indításakor lefut a hardverdetektáló/hardverkereső program, akkor a "bttv" bejegyzés automatikusan belekerül az /etc/modules fájlba, de nem árt ellenőrizni.
Az /etc/modules.conf fájlt pedig a következő sorokkal kell kiegészítenünk:
#tévékártya-beállítások
alias char-major-81 videodev
alias char-major-81-0 bttv
pre-install bttv modprobe -k msp3400/dpl3518; modprobe -k tuner
options bttv radio=A card=B
options tuner type=C
Ahol:
- a "modprobe -k msp3400/dpl3518;" rész csak az msp34xx sztereó vagy a dpl35xx dolby chipet tartalmazó tévékártyák esetében szükséges, és csak az egyik a kettő közül!
- A értéke 0, ha nincs rádió a kártyán, és 1 abban az esetben, ha van.
- B értéke 0, ha automatikus detektálást szeretnénk, és 1-64 közül valamelyik, ha konkrétan meg tudjuk adni a kártyánk típusát.
- C értéke 1-30 közül valamelyik.
A jelenleg konkrétan megadott és támogatott 64 kártya- és 30 tunertípus felsorolására e cikk keretében nincs mód, de a listát bárki beszerezheti a bytesex.org/bttv címről. A "bttv 0.7.x - stable release" felirat alatt található a letölthető bttv-csomag a "the tarball" link alól.
A letöltött fájlt ki kell csomagolni - KDE-desktop esetén az Ark nevű programocska segít ebben. A csomag részét képezi a Cardlist nevű fájl, ebben található a pontos felsorolás. (Ha valakinek ez túl bonyolult, szívesen elküldöm e-mailben, de a www.prim.hu-n is megtalálható, ahol a cikk online elérhető.)
Miután a két konfigurációs fájlt kiegészítettük a fentiekkel, az újraindítás után szinte biztos, hogy gond nélkül tévézhetünk. Erősen ajánlott, hogy az automatikus detektálás helyett lehetőleg kiválasszuk a listáról a kártyánknak megfelelő pontos sorszámot, mivel a hangért felelős chipek típusának automatikus detektálása és ennek alapján a megfelelő kezelőmodul betöltése nem mindig lehetséges! Ha van kép, de nincs hang, szinte biztos, hogy nem sikerült az automatikus felismerés, illetve rossz kártyaszámot adtunk meg.
A bttv modul megpróbál automatikusan betölteni néhány további szükséges modult - szinte mindig sikerrel: i2c-core, i2c-algo-bit, videodev, tuner, tvaudio. Ez utóbbi egy új, kísérleti modul, amely támogatja az újabb tévékártyákon lévő valamennyi i2c tuner/sound chipet. Arról, hogy a modulok betöltődtek-e, meggyőződhetünk a cat /proc/modules paranccsal.
Tévénézőprogramok
A legismertebb linuxos tévénéző az XawTV (képünkön a Music Tv egy kockájával), amely tulajdonképpen egy programcsomag az alábbi összetevőkkel:
- xawtv: grafikus felületű tévéprogram,
- fbtv: framebuffer tévéprogram,
- scantv: tévécsatornákat kereső program,
- streamer: capture-program (kép/videofelvétel).
Az scantv nagyon hasznos a csatornák feltérképezéséhez és a hibafelderítéshez. Beszédes hibaüzenetekkel segíti a hibaelhárítást - a "Tuner type not set" például egyértelművé teszi, hogy elfelejtettük megadni a tuner típusát. Ha sikerült jól beállítanunk a tévékártyát, akkor valamennyi csatornát kilistázza, amelyik a megadott tartományban megtalálható. Ez a lista kitűnő alapanyag a csatornák beállításához az xawtv és az fbtv közös konfigurációs fájljában.
Ez a Home könyvtárunkban lévő .xawtv fájl, amelynek pofonegyszerű a szerkezete. A [global] szekcióval kezdődik, ahol megadható a frekvenciatérkép, a képméret és a capture-képminőség. Ezt követi a [defaults] rész, ahol általános szabályokat adhatunk meg valamennyi tévécsatornára nézve, végül pedig az egyes csatornák kerülnek felsorolásra:
[global]
freqtab = europe-west
pixsize = 320x200
pixcols = 1
jpeg-quality = 100
mjpeg-quality = 75
osd = yes
[defaults]
norm = PAL
input = Television
capture = grabdisplay
[National Geographic]
channel = SE19
capture = overlay
Grafikus felületen az XawTV-t használhatjuk, karakteres felületen (konzol) az fbtv-t. Utóbbira csak akkor van lehetőségünk, ha a monitorkártyánk támogatja a framebuffer technológiát. Ha ez így van, akkor érdemes minél többször az fbtv-t használni, mert 1-2 másodperc alatt elindul a program, a processzorterhelés 800x600-as felbontás mellett mintegy fele annak, mintha a grafikus X felületen keresztül tévéznénk az XawTV programmal, ráadásul a képminőség is jobb.
(Framebufferes tévézés esetén a capture=overlay, grafikus X felületen való tévézéskor a capture=grabdisplay paramétert kell beállítani!)
Annak, aki barátságos kinézetű, könnyen kezelhető programra vágyik, a KwinTV (KDE) és a Zapping (GNOME) programokat kell kipróbálnia. Könnyen, gyorsan letölthetők az rpmfind.net honlapról, amely az RPM csomagkezelő rendszert használó Linux-disztribúciók csomaglelő aranybányája.
Mindkét program automatikus csatornakereső "varázslóval", finomhangolási lehetőséggel, képélesség- és fényerő-szabályozással rendelkezik. Az egyes csatornákhoz "forró" billentyűket rendelhetünk, és kép-, illetve videofelvételeket is készíthetünk a segítségükkel. A Zapping emellett egy kitűnő teletextkijelzővel is rendelkezik, amelyben a teletextoldalakat a HTML-lapokhoz hasonlóan egérkattintással kezelhetjük. (Saját tapasztalatom szerint a Zapping nagyon dinamikusan fejlődő program, stabilitásában, könynyű kezelhetőségében és képességeiben kezdi megelőzni a jó ideig első és egyetlen "felhasználóbarát" KwinTV-t.)
Érdemes mind a négy felsorolt tévéprogramot kipróbálni, mert mindegyiknek megvan a maga erős - és gyenge - oldala. Szerencsére a gyengeségeket folyamatosan és gyorsan javítják az xawtv, az fbtv és a Zapping esetében. A "győztes" program talán az fbtv, teljes meggyőződéssel ajánlható mindenki figyelmébe.