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.