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.
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).
Győződj meg róla, hogy a tunered működik másik Linuxos TV szoftverrel is, például a XawTV-vel.
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.
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.