A Linux felfedezése

Tévécsatornák a monitoron

Németh Balázs, 2001. május 26. 22:28
A Linux szó hallatán szinte biztos, hogy (egyelőre) alig néhányan gondolnak irodai felhasználásra, multimédiás lehetőségekre vagy éppen játékra. Pedig napjainkra az ingyenes operációs rendszeren belül szintén kialakult az az infrastrukturális alap, amely megalapozza a Linux alkalmazhatóságát a multimédia területén is. Ebbe a körbe tartozik az újratervezett, robusztus X Window rendszer, a rohamosan fejlődő desktopkörnyezetek (KDE, GNOME), a "Haladó Linux Hangrendszer" (ALSA) és nem utolsósorban a Video4Linux alrendszer.
A Video4Linux története ugyanúgy kezdődött, mint oly sok minden a Linux életében: egy fanatikus Linux-hívő kapott valakitől egy tévékártyát, amelynek használatához azonban vissza kellett volna térnie a "Nagy Konkurens Op-rendszerhez". Ehelyett inkább fogta magát, és nekikezdett egy linuxos driver megírásának. 1997 elejére megszületett az első tévékártya-meghajtó (bttv), valamint az első tévénézőprogram, az XawTV.

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.

Kövess minket a Facebookon!

Cikkgyűjtő

További fontos híreink

Megvannak 2024 legvonzóbb hazai munkaadói

2024. április 29. 11:38

Ingyenes digitális platform segít a tanároknak és diákoknak az érettségire való felkészülésben

2024. április 20. 11:36

Itt a világ első, Swarovski kristályba ágyazott autós kijelzője

2024. április 10. 14:55

A csevegőprogramokat vizsgálta az NMHH

2024. április 2. 13:14