10.1. TV bemenet
Előző | 10. fejezet - TV | Következő

## 10.1. TV bemenet

Ez a rész arról szól, hogy hogyan lehet adást nézni/lementeni V4L kompatibilis TV tunerrel. Lásd a man oldalt a TV-s kapcsolók és a vezérlő billentyűk listájáért.

### 10.1.1. Fordítás

1. Először is újra fordítanod kell. A `./configure` automatikusan megtalálja a v4l dolgok kernel fejléceit és a `/dev/video*` bejegyzéseket. Ha léteznek, a TV támogatás be lesz építve (lásd a `./configure` kimenetét).

2. Győződj meg róla, hogy a tunered működik másik Linuxos TV szoftverrel is, például a XawTV-vel.

### 10.1.2. Használati tippek

A kapcsolók teljes listája a man oldalon található. Itt csak pár tippet említünk meg:

- Használd a `channels` kapcsolót. Például:

      -tv channels=26-MTV1,23-TV2

  Magyarázat: Ha ezt a kapcsolót használod, akkor csak a 26-os és a 23-as csatorna lesz használható, és szép OSD szöveg lesz csatorna váltáskor, mely a csatorna nevét jelzi ki. A csatorna nevében lévő szóközöket a "_" karakterrel kell kicserélni.

- Válassz valamilyen értelmes képméretet. A kp méreteinek oszthatónak kell lennie 16-tal.

- Ha videót mentesz el úgy, hogy a függőleges felbontás nagyobb, mint a teljes felbontás fele (pl. 288 a PAL-nál és 240 az NTSC-nél), akkor a kapott 'képkockák' tényleg átlapolt mezőpárok lesznek. Attól függően, hogy mit akarsz csinálni a videóval, hagyhatod ebben a formában, veszteséges deinterlacing-et hajthatsz végre vagy szétszedheted a párokat egyedi mezőkre.

  Különben a filmed torzul a gyors mozgású jelenetek alatt és a bitráta vezérlő is valószínűleg képtelen lesz az előírt bitráta megtartására, ahogy az interlacing változások nagy mennyiségű adatot eredményeznek és így nagy sávszélességet vesznek el. A deinterlacing-et bekapcsolhatod a `-vf pp=DEINT_TYPE` kapcsolóval. Általában a `pp=lb` jó, de ez az egyéni beállításokon is múlik. A többi deinterlacing algoritmust lásd a manuálban és próbálgasd ki őket.

- Vágd le a felesleges helyet. Ha videót mentesz, a sarki arénák teljesen feketék és némi zajt tartalmaznak. Ezek szintén nagy sávszélességet foglalnak el feleslegesen. Pontosabban nem maguk a fekete területek, hanem az éles átmenetek a fekete és a világosabb videó kép között, de ez most nem fontos igazából. Mielőtt elindítanád a mentést, állítsd be a `crop` kapcsoló argumentumait, így a széleknél lévő vackok le lesznek vágva. És ne feledd a képméreteket ésszerű keretek között tartani.

- Figyelj a CPU terhelésre. Legtöbbször átlépi a 90%-os határt. Ha nagy mentési buffered van, a MEncoder túlél egy esetleges túlterhelést pár másodpercig, de semmi több. Jobb kikapcsolni a 3D OpenGL képernyővédőket és a hasonló dolgokat.

- Ne szórakozz a rendszer órával. A MEncoder a rendszer órát használja az A/V szinkronhoz. Ha átállítod a rendszer órát (különösen vissza az időben), a MEncoder összezavarodik és képkockákat veszítesz. Ez egy fontos dolog, ha hálózathoz kapcsolódsz és futtatsz valamilyen idő szinkronizációs szoftvert, mint pl. NTP. Ki kell kapcsolnod az NTP-t a mentési folyamat alatt, ha megbízható mentést akarsz.

- Ne változtasd meg az `outfmt`-t, hacsak vagy biztos benne, hogy mit csinálsz, vagy a kártyád/vezérlőd tényleg nem támogatja az alapértelmezést (YV12 színtér). A MPlayer/MEncoder régebbi verzióiban szükséges volt a kimeneti formátum megadása. Ez a jelenlegi kiadásban már javítva lett és az `outfmt` már nem szükséges, az alapértelmezés megfelel a legtöbb esetben. Például ha videót mentesz DivX-be a `libavcodec` használatával és megadod az `outfmt=RGB24`-t a mentett kép minőségének növelése érdekében, a mentett kép igazából később lesz visszakonvertálva YV12-be így az egyetlen, amit elérsz, az erőteljes CPU használat.

- Az I420 színtér megadásához (`outfmt=i420`) meg kell adnod egy `-vc rawi420` kapcsolót is, mivel fourcc ütközés van egy Intel Indeo videó codec-kel.

- Rengeteg módon menthetsz el audiót. A hangot grabbelheted a hang kártyáddal is egy a videó kártya és a line-in között lévő külső kábelen keresztül, vagy a bt878-as chip-be beépített ADC segítségével. A második esetben be kell töltened a btaudio vezérlőt. Olvasd el a `linux/Documentation/sound/btaudio` fájlt (a kernel fájában, nem az MPlayerében) némi leírásért ezen vezérlő használatával kapcsolatban.

- Ha a MEncoder nem tudja megnyitni az audió eszközt, győződj meg róla, hogy tényleg elérhető-e. Gond lehet a hang szerverekkel, mint pl. aRts (KDE) vagy ESD (GNOME). ha full duplex hang kártyád van (majdnem az összes hangkártya tudja már ezt manapság), és KDE-t használsz, próbáld meg bekapcsolni a "full duplex" opciót a hangkártya tulajdonságok menüben.

### 10.1.3. Példák

Dummy kimenet AAlib-re :)

    mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://

Bemenet standard V4L-ről:

    mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://

Egy sokkal mesterkéltebb példa. Ezzel a MEncoder elmenti a teljes PAL képet, levágja a széleket és deinterlace-eli a képet a linear blend algoritmus segítségével. Az audió 65 kbps-es állandó bitrátával kerül tömörítésre, a LAME codec felhasználásával. Ez a beállítás megfelelő a filmek elmentéséhez.

    mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
        -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
        -vf crop=720:544:24:16,pp=lb -o output.avi tv://

Ez ráadásul átméretezi a képet 384x288-ra és 350 kbps-sel, nagyon jó minőségben összetömöríti a videót. A vqmax opció felszabadítja a kvantálót és így lehetővé teszi a videó tömörítőnek az ilyen alacsony bitráta elérését akár a minőség kárára is. Ez használható TV-s sorozatok elmentésekor, amikor a minőség nem olyan fontos.

    mencoder -tv driver=v4l:width=768:height=576 \
        -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
        -oac mp3lame -lameopts cbr:br=48 -sws 1 -o output.avi\
        -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://

Meg lehet adni kisebb képméretet is a `-tv` kapcsolónál és ki lehet hagyni a szoftveres méretezést, de ez a megközelítés a lehető legtöbb információt használja fel és egy kicsit ellenállóbb a zajokkal szemben. A bt8x8 chip-ek a pixel átlagolást csak vízszintesen tudják hardveres korlátok miatt.

Előző | Fel | Következő
10. fejezet - TV | Tartalom | 10.2. Teletext