Videó kimeneti eszközökXv
XFree86 4.0.2 vagy újabb alatt használhatod a kártyád YUV rutinjait
az XVideo kiterjesztés használatával. Ez az, amit a
kapcsoló használ. Ez a vezérlő támogatja a
fényerősség/kontraszt/árnyalat/stb. állítását (hacsak nem a régi, lassú
DirectShow DivX codec-et használod, ami mindenhol támogatja), lásd a man oldalt.
A beüzemeléséhez ellenőrizd a következőket:
XFree86 4.0.2 vagy újabbat kell használnod (korábbi verziókban nincs XVideo)
A kártyádnak támogatnia kell a hardveres gyorsítást (a modern kártyák tudják)
Az X-nek írnia kell az XVideo kiegészítés betöltését valahogy így:
(II) Loading extension XVideo
a /var/log/XFree86.0.log fájlban.
Ez csak az XFree86 kiegészítését tölti be. Egy jó telepítésben ez
mindig betöltődik, de ez nem jelenti azt, hogy a
kártya XVideo támogatása is be van töltve!
A kártyádnak van Xv támogatása Linux alatt. Ennek az ellenőrzéséhez add ki az
xvinfo parancsot, ez része az XFree86 disztribúciónak. Egy
hosszú szöveget kell kiírnia, valami ilyesmit:
X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
(...)
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
(...stb...)
Támogatnia kell a tömörített YUY2 és a YV12 planar pixel formátumokat, hogy az
MPlayer használni tudja.
És végül, nézd meg, hogy az MPlayer 'xv' támogatással
lett-e fordítva. Írd be ezt: mplayer -vo help | grep xv .
Ha az 'xv' támogatás be van építve, egy ehhez hasonló sornak szerepelnie kell:
xv X11/XvDGABEVEZETÉS
Ez a dokumentum megpróbálja pár szóban elmagyarázni, hogy mi is az a DGA
tulajdonképpen és mit tehet a DGA vezérlő az MPlayernek
(és mit nem).
MI AZ A DGA
A DGA a Direct Graphics Access
rövidítése és azt jelenti, hogy egy program az X szerver megkerülésével
direkt eléréssel módosíthatja a framebuffer memóriát. Gyakorlatilag ez úgy
történik, hogy a framebuffer memória a processzed memória tartományába
kerül leképezésre. Ezt a kernel csak superuser jogokkal engedélyezi. Vagy
root néven történő bejelentkezéssel
vagy az MPlayer futtatható állományának SUID
bitjének beállításával juthatsz ilyen jogokhoz. (nem
javasoljuk).
Két verziója van a DGA-nak: a DGA1 az XFree 3.x.x-ban volt használatos, a DGA2
az XFree 4.0.1-ben került bevezetésre.
A DGA1 csak direkt framebuffer elérést biztosít a fent leírt módszerrel. A
videó jel felbontásának megváltoztatásához az XVidMode kiterjesztést kell
használnod.
A DGA2 már tartalmazza az XVidMode kiterjesztés képességeit és a
képernyő színmélységét is engedi változtatni. Így alaphelyzetben 32
bites színmélységben futtatott X szervert átállíthatsz 15 bites
mélységre és vissza.
Ennek ellenére a DGA-nak van néhány hátránya. Úgy tűnik ez az általad használt
grafikus chip-től függ és az ezen chip-et irányító vezérlő X szerverben való
megvalósításától. Így nem minden rendszeren működik...
DGA TÁMOGATÁS TELEPÍTÉSE AZ MPLAYERHEZ
Először győződj meg, hogy az X betölti a DGA kiterjesztést: lásd
a /var/log/XFree86.0.log fájlt:
(II) Loading extension XFree86-DGA
XFree86 4.0.x vagy újabb
nagyon javasolt!
Az MPlayer DGA vezérlőjét a
./configure automatikusan megtalálja, de elő is írhatod
a használatát a kapcsolóval.
Ha a vezérlő nem tud kisebb felbontásra váltani, kísérletezz a
(csak X 3.3.x esetén), ,
, kapcsolókkal a filmnek
legmegfelelőbb videó mód megtalálásához. Még nincs konverter :(
Lépj be rootként. A DGA-hoz root
elérés kell, hogy közvetlenül tudjon írni a videó memóriába. Ha felhasználóként
akarod futtatni, telepítsd az MPlayert SUID root-tal:
chown root /usr/local/bin/mplayer
chmod 750 /usr/local/bin/mplayer
chmod +s /usr/local/bin/mplayer
Így már egyszerű felhasználók esetében is működik.
Biztonsági kockázat
Ez nagy biztonsági kockázatot jelent!
Soha ne csináld ezt meg egy szerveren vagy egy
olyan számítógépen amihez mások is hozzáférnek, mert root jogokat szerezhetnek
a SUID root-os MPlayerrel.
Használd a kapcsolót, és már megy is! (reméljük:)
Kipróbálhatod a kapcsolót is, hogy működik-e!
Sokkal gyorsabb!
FELBONTÁS VÁLTÁS
A DGA vezérlő lehetővé teszi a kimeneti jel felbontásának megváltoztatását.
Ezzel elkerülhető a (lassú) szoftveres méretezés és ugyanakkor teljes képernyős
képet biztosít. Ideális helyzetben pontosan a videó adat felbontására vált
(kivéve az aspect arányt), de az X szerver csak a
/etc/X11/XF86Config
(/etc/X11/XF86Config-4 XFree 4.X.X esetén)
fájlban előírt felbontásokra enged váltani.
Ezeket modline-oknak nevezik és a videó hardvered tulajdonságain múlik.
Az X szerver átnézi ezt a konfigurációs fájlt indításkor és letiltja a
hardverednek nem megfelelőeket.
Az X11 log fájlból kiderítheted, hogy mely módok engedélyezettek. Megtalálhatóak
a /var/log/XFree86.0.log fájlban.
Ezek a bejegyzések tudvalevőleg működnek Riva128 chip-en, az nv.o X szerver
vezérlő modul használatával.
Section "Modes"
Identifier "Modes[0]"
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
EndSection
DGA & MPLAYER
A DGA két helyen használható az MPlayerben: Az
SDL vezérlőnek előírhatod a használatát ()
és a DGA vezérlőben (). A fent említettek vonatkoznak
mind a kettőre; a következő részben leírom, hogyan működik az
MPlayer DGA vezérlője.
TULAJDONSÁGOK
A DGA vezérlő használatát a kapcsoló parancssorban
történő megadásával írhatod elő. Alapértelmezésként az videó eredeti
felbontásához legközelebb álló felbontásra vált. Szándékosan figyelmen
kívül hagyja a és kapcsolókat
(videó mód váltás engedélyezése és teljes képernyő) - mindig a lehető
legtöbbet megpróbálja elfedni a képernyődből a videó mód váltásával, így
megspórolja a képméretezéshez szükséges plusz CPU ciklusokat. Ha nem
tetszik az általa választott mód, kényszerítheted, hogy az általad megadott
felbontáshoz legközelebbit keresse meg az és
kapcsolókkal. A kapcsoló beírásának
hatására a DGA vezérlő sok egyéb mellett kilistázza az aktuális
XF86Config fájl által támogatott összes felbontást.
DGA2 használata esetén előírhatod a színmélységet is a
kapcsolóval. Az érvényes színmélységek 15, 16, 24 és 32. A hardvereden
múlik, hogy ezek a színmélységek alapból támogatottak-e vagy (valószínűleg
lassú) konverziót kell végezni.
Ha vagy olyan szerencsés, hogy elegendő memóriád van az egész, nem képernyőn
lévő kép bemásolásához, a DGA vezérlő dupla bufferelést fog használni, ami
egyenletesebb film lejátszást eredményez. Kiírja, hogy a dupla bufferelés
engedélyezett-e vagy sem.
A dupla bufferelés azt jelenti,h ogy a videód következő képkockája a memória
egy nem megjelenített részére másolódik, amíg az aktuális képkocka van a
képernyőn. Ha kész a következő képkocka, a grafikus chip megkapja az új kép
memóriabeli helyét, és egyszerűen onnan megjeleníti a képet. Eközben a másik
buffer ismét feltöltődik új videó adattal.
A dupla bufferelés bekapcsolható a kapcsolóval, vagy
letiltható a -lal. A jelenlegi alapértelmezett
beállítás szerint le van tiltva a dupla bufferelés. DGA vezérlő használata
esetén az onscreen display (OSD) csak akkor működik, ha a dupla bufferelés
engedélyezve van. Azonban a dupla bufferelés nagy sebességcsökkenéssel járhat
(az én K6-II+ 525 gépemen további 20% CPU idő!) a hardvered DGA implementációjától
függően.
SEBESSÉGI ADATOK
Általánosságban a DGA framebuffer elérésének legalább olyan gyorsnak
kell lennie, mint az X11-es vezérlőnek a teljes képernyős képhez szükséges
kiegészítők használatával. Az MPlayer által kiírt
százalékos sebesség értékeket azonban fenntartással kezeld, mert például az
X11-es vezérlő esetén nem tartalmazzák azt az időt, ami az X szervernek kell
a kirajzoláshoz. Hurkold rá a terminált egy soros vonalra és indítsd el a
top programot, akkor megtudod mi is történik valójában a
dobozodban.
Kijelenthetjük, hogy a DGA gyorsítása a 'normális' X11-es használathoz képest
erőteljesen függ a grafikus kártyádtól és hogy a hozzá tartozó X szerver modul
mennyire optimalizált.
Ha lassú rendszered van, jobb ha 15 vagy 16 bites színmélységet használsz,
mivel ezek fele akkora memória sávszélességet igényelnek, mint a 32 bites
megjelenítés.
A 24 bites színmélység használata jó ötlet, ha a kártyád natívan támogatja a
32 bites mélységet, mivel ez is 25%-kal kevesebb adatátvitelt jelent a 32/32
módhoz képest.
Láttam pár AVI fájlt 266-os Pentium MMX-en lejátszva. Az AMD K6-2 CPU-k is
működnek 400 MHZ vagy afölött.
ISMERT HIBÁK
Nos, az XFree néhány fejlesztője szerint a DGA egy szörnyeteg. Ők azt mondják,
jobb ha nem használod. Az implementációja nem mindig tökéletes az XFree-hez
tartozó chipset vezérlőkkel.
Az XFree 4.0.3 és az nv.o esetén van egy hiba, ami
érdekes színeket eredményez.
ATI vezérlő esetén egynél többször kell visszaváltani a módot a DGA-s
lejátszás után.
Néhány vezérlő egyszerűen képtelen visszaváltani normál felbontásra (használd a
CtrlAltKeypad +
és
CtrlAltKeypad -
kombinációkat a kézi váltáshoz).
Néhány vezérlő egyszerűen rossz színeket jelenít meg.
Néhány vezérlő hamis adatot ad a processz címterébe bemappolt memória méretéről,
így a vo_dga nem használ dupla bufferelést (SIS?).
Néhány vezérlő egy használható módot sem jelez. Ebben az esetben a
DGA vezérlő összeomlik és azt írja, hogy 100000x100000-es értelmetlen mód
vagy valami hasonló.
Az OSD csak engedélyezett dupla buffereléssel működik (különben villog).
SVGAlibTELEPÍTÉS
Telepítened kell az svgalib-et és a fejlesztői csomagjait ahhoz, hogy az
MPlayer elkészítse az SVGAlib vezérlőjét (automatikusan
felismeri, de lehet kényszeríteni is rá) és ne felejtsd el átírni a
/etc/vga/libvga.config fájlt, hogy megfeleljen a kártyádnak
és a monitorodnak.
Ne használd a kapcsolót, mert bekapcsolja a szoftveres
méretezést és lassú. Ha tényleg szükség van rá, használd a
kapcsolót, ami rossz minőséget ad, de valamivel gyorsabb.
EGA (4BPP) TÁMOGATÁS
Az SVGAlib tartalmazza az EGAlib-et és az MPlayer így
képes bármely film 16 színben történő megjelenítésére, lehetővé téve az alábbi
beállítások használatát:
EGA kártya EGA monitorral: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp
EGA kártya CGA monitorral: 320x200x4bpp, 640x200x4bpp
A bpp (bit per pixel) értéket kézzel kell 4-re állítanod:
A filmet valószínűleg át kell méretezni, hogy megfeleljen az EGA módnak:
-vf scale=640:350
or
-vf scale=320:200
Ehhez gyors, de rossz minőséget produkáló méretező rutin kell:
-sws 4
Talán az automatikus arány-javítást kikapcsolhatod:
-noaspect
A kísérleteimből úgy tűnik, a legjobb képminőség EGA monitorokon
a világosság enyhe csökkentésével állítható elő:
. Nálam szükséges volt az audió mintavételi
ráta csökkentése is, mert a hang szétesett 44kHz-en:
.
Csak az szűrő segítségével tudod bekapcsolni a
feliratokat és az OSD-t, lásd a man oldalt a megfelelő paraméterekért.
Framebuffer kimenet (FBdev)
Az FBdev elkészítése automatikusan kiválasztódik a
./configure során. Olvasd el a framebuffer dokumentációt
a kernel forrásban (Documentation/fb/*) a bővebb
információkért.
Ha a kártyád nem támogatja a VBE 2.0 szabványt (régebbi ISA/PCI kártyák, mint
például az S3 Trio64), csak a VBE 1.2-t (vagy régebbit?): Nos, a VESAfb még
elérhető, de be kell töltened a SciTech Display Doctor-t (egykori UniVBE),
mielőtt betöltenéd a Linuxot. Használj DOS boot lemezt vagy valamit. És ne
felejtsd el regisztrálni az UniVBE-det! ;))
Az FBdev kimenetnek a fentiek mellett van néhány paramétere is:
megadhatod a használni kívánt framebuffer eszközt (alapértelmezett: /dev/fb0)
használni kívánt mód neve (a /etc/fb.modes fájlnak megfelelően)
módokat tartalmazó konfigurációs fájl (alapértelmezett: /etc/fb.modes)
fontos értékek, lásd
example.conf
Ha egy különleges módra akarsz váltani, akkor így használd:
mplayer -vm -fbmode mod_nevefajlnev
Magában a kiválasztja a legmegfelelőbb módot a
/etc/fb.modes fájlból. Használható együtt a
és kapcsolókkal is. A
kapcsoló csak akkor támogatott, ha a film pixel
formátuma megfelel a videó mód pixel formátumának. Figyelj a bpp
értékére, az fbdev vezérlő az aktuálisat próbálja meg használni, vagy
ha megadsz valamit a kapcsolóval, akkor azt.
A kapcsoló nem támogatott (használd a
-t). Nem használhatsz 8bpp (vagy kevesebb) módokat.
Valószínűleg el szeretnéd tüntetni a kurzort:
echo -e '\033[?25l'
vagy
setterm -cursor off
és a képernyővédőt:
setterm -blank 0
Kurzor visszakapcsolása:
echo -e '\033[?25h'
vagy
setterm -cursor on
Az FBdev videó mód váltása nem működik a VESA
framebufferrel és ne is kérd, hogy működjön, mivel ez nem az
MPlayer korlátja.
Matrox framebuffer (mga_vid)
Az mga_vid egy videó kimeneti vezérlő és egy
kernel modul kombinációja, ami felhasználja a Matrox G200/G400/G450/G550
videó méretező/overlay egységét a YUV->RGB színtér átalakításhoz és tetszés
szerinti videó méretezéshez.
Az mga_vid-ben van hardveres VSYNC támogatás tripla
buffereléssel. Működik mind a framebuffer konzolon, mind X alatt, de csak
2.4.x-es Linux-szal.
Ezen vezérlő Linux 2.6.x alatti verziója itt található:
vagy nézz rá az mga_vid külső
Subversion repository-jára, melyet checkout-olhatsz így:
svn checkout svn://svn.mplayerhq.hu/mga_vid
Telepítés:
A használatához először le kell fordítanod a drivers/mga_vid.o fájt:
make drivers
Ezután futtasd (root-ként) a
make install-drivers
parancsot, ami telepíti a modult és létrehozza az eszköz node-ját neked.
Töltsd be a vezérlőt
insmod mga_vid.o
Ellenőrizd a memória méret detektálását a dmesg
parancs segítségével. Ha hibásan írja, használd a
kapcsolót
(előtte rmmod mga_vid),
a kártya memóriájának MB-ban történő megadásához:
insmod mga_vid.o mga_ram_size=16
Az automatikus betöltéshez/törléshez először írd be ezt a sort a
/etc/modules.conf fájlod végére:
alias char-major-178 mga_vid
Ezekután le kell fordítanod (újra) az MPlayert, a
./configure meg fogja találni a
/dev/mga_vid-et és elkészíti az 'mga' vezérlőt. Az
MPlayerben a kapcsolóval
használhatod, ha matroxfb konzolod van vagy a -val
XFree86 3.x.x vagy 4.x.x alatt.
Az mga_vid vezérlő együttműködik az Xv-vel.
A /dev/mga_vid eszköz fájlt megnézheted némi infóért
például a
cat /dev/mga_vid
segítségével és beállíthatod a fényerősséget:
echo "brightness=120" > /dev/mga_vid
Van egy mga_vid_test nevű teszt alkalmazás ugyan ebben a
könyvtárban. Ha minden jól működik, akkor 256x256-os képeket rajzol a képernyőre.
3Dfx YUV támogatás
Ez a vezérlő a kernel tdfx framebuffer vezérlőjét használja a filmek
YUV gyorsításával történő lejátszásához. Kell hozzá egy kernel tdfxfb
támogatással, és egy újrafordítás a
./configure --enable-tdfxfb
paranccsal.
tdfx_vid
Ez a Linux kernel moduljainak és egy videó kimeneti vezérlőnek a
kombinációja, hasonlóan az mga_vid-hez.
2.4.x kernel kell hozzá az agpgart
vezérlővel, mivel a tdfx_vid AGP-t használ.
Add meg a a configure-nak
a videó kimeneti vezérlő elkészítéséhez és készíts egy kernel modult
az alábbi utasítások alapján.
A tdfx_vid.o kernel modul telepítése:
Fordítsd le a drivers/tdfx_vid.o fájlt:
make drivers
Ezután futtasd (root-ként) a
make install-drivers
parancsot, ami telepíti a modult és létrehozza az eszköz node-ját neked.
Töltsd be a vezérlőt
insmod tdfx_vid.o
A szükség esetén történő automatikus betöltéshez/törléshez, először szúrd
be ezt a sort a /etc/modules.conf fájl végére:
alias char-major-178 tdfx_vid
Van egy tdfx_vid_test nevű teszt alkalmazás ugyan ebben a
könyvtárban. Ha minden jól működik, néhány hasznos információt jelenít meg.
OpenGL kimenet
Az MPlayer támogatja a filmek OpenGL-lel történő
megjelenítését is, de ha a platformod/vezérlőd támogatja az Xv-t, inkább azt
használd PC-n Linux-szal, az OpenGL teljesítménye észrevehetően gyengébb. Ha
Xv támogatás nélküli X11-ed van, az OpenGL jó alternatíva lehet.
Sajnos nem minden vezérlő támogatja ezt a tulajdonságot. A Utah-GLX vezérlők
(az XFree86 3.3.6-hoz) minden kártya esetén támogatják.
Lásd a oldalt a részletes telepítési
leíráshoz.
Az XFree86(DRI) 4.0.3 vagy későbbi támogatja az OpenGL-t Matrox és Radeon
kártyákkal, a 4.2.0 vagy későbbi Rage128-cal.
Lásd a oldalt a letöltéshez és a telepítési
utasításokért.
Egy felhasználónk tanácsa: a GL videó kimenetet függőlegesen szinkronizált
TV kimenet előállításához is felhasználhatod. Csak be kell állítanod egy
környezeti változót (legalábbis az nVidia-n):
export __GL_SYNC_TO_VBLANK=1AAlib – szöveges módú megjelenítés
Az AAlib egy függvény könyvtár grafika karakteres módban történő megjelenítéséhez,
egy nagyszerű ASCII renderelő segítségével. Már jelenleg is rengeteg
program támogatja, például a Doom, Quake, stb. Az MPlayerben
is van egy roppant jól használható vezérlő hozzá. Ha a ./configure
talál telepített aalib-et, az aalib libvo vezérlő alapértelmezett lesz.
Pár billentyű segítségével állíthatod a renderelési opciókat az AA Ablakban:
GombMűvelet1
kontraszt csökkentése
2
kontraszt növelése
3
fényerő csökkentése
4
fényerő növelése
5
gyors renderelés be/kikapcsolása
6
dithering módjának beállítása (nincs, hiba eloszlás, Floyd Steinberg)
7
kép megfordítása
8
váltás az aa és az MPlayer vezérlése között
A következő parancssori kapcsolókat használhatod:
OSD színének megváltoztatása
Felirat színének megváltoztatása
ahol a V lehet:
0 (normális),
1 (sötét),
2 (vastag),
3 (félkövér betű),
4 (ellentétes),
5 (speciális).
Maga az AAlib számtalan lehetőséget biztosít. Itt van pár fontosabb:
Beállítja a javasolt aa vezérlőt (X11, curses, Linux).
Mind a 256 karakter használata.
Nyolc bites ASCII.
Kiírja az összes aalib kapcsolót.
A renderelés nagyon CPU igényes, különösen ha AA-on-X-et
(aalib használata X alatt) használsz, a legalacsonyabb a standard,
nem framebuffer-es konzolon. Használd az SVGATextMode-ot a nagy
felbontás beállításához, és élvezd! (másodlagos Hercules kártyák a
sirályak :)) (de SZVSZ használhatod a
kapcsolót is a hgafb-en megjelenő grafikához :)
A kapcsoló használatát javasoljuk, ha nem
elég gyors a géped az összes képkocka rendeléséhez!
Terminálon lejátszva jobb sebességet és minőséget kapsz a Linux vezérlővel,
mint a curses-szal (). De ehhez írási joggal
kell rendelkezned a /dev/vcsa<terminal>
fájlhoz! Ezt az aalib nem ismeri fel magától, de a vo_aa megpróbálja
megtalálni a legjobb módot.
Lásd a oldalt a további
tuningolási dolgokhoz.
libcaca - Színes ASCII Art függvénykönyvtár
A libcaca
függvénykönyvtár egy grafikus könyvtár, ami szöveget jelenít meg pixelek helyett, így
működik régebbi videó kártyákkal vagy szöveges terminálokon is. Hasonló a népszerű
AAlib könyvtárhoz.
A libcaca-nak egy terminál kell a működéshez, így
bármilyen Unix rendszeren (beleértve a Mac OS X-et) működik, vagy a
slang vagy az
ncurses vagy DOS alatt a
conio.h illetve Windows rendszereken
akár a slang vagy az
ncurses (Cygwin emuláción keresztül) vagy
a conio.h könyvtárak használatával. Ha
a ./configure
megtalálja a libcaca-t, a caca libvo vezérlő
elkészül.
A különbség az AAlib-hez képest
a következőek:
16 elérhető szín a karakter kimenetre (256 színű párok)
színes kép dithering
De a libcaca-nak megvan az
alábbi korlátja:
nincs fényerő, kontraszt és gamma támogatás
Pár billentyűvel szabályozhatod a caca ablakban a renderelés opcióit:
GombMűveletd
Váltás a libcaca dithering metódusai között.
a
A libcaca antialiasing ki-/bekapcsolása.
b
A libcaca háttérbe küldése.
A libcaca figyel pár
környezeti változót is:
Állítsd be a javasolt caca vezérlőt, pl. ncurses, slang, x11.
Megadja a sorok és oszlopok számát, pl. 128x50.
Megadja a használni kívánt betűtípust, pl. fixed, nexus.
Használd a kapcsolót ha a számítógéped nem elég
gyors az összes képkocka rendeléséhez.
VESA - kimenet a VESA BIOS-hoz
Ezt a vezérlőt egy általános vezérlőként
terveztük meg és vezettük be bármilyen, VESA VBE 2.0 kompatibilis BIOS-szal
rendelkező monitorkártya esetében. A másik előnye ennek a vezérlőnek, hogy
megpróbálja használni a TV kimenetet.
VESA BIOS EXTENSION (VBE) Version 3.0 Dátum: 1998. szeptember 16.
(70. oldal) ezt írja:
Duál-Vezérlős Tervezés
A VBE 3.0 támogatja a duál-vezérlős tervezést, feltételezve hogy általában
mindkét vezérlőt ugyanaz az OEM biztosítja, egy BIOS ROM vezérlésével
ugyan azon a grafikus kártyán, lehetséges az alkalmazás számára elrejteni
azt a tényt, hogy valójában két vezérlő van jelen. Ez ugyan megakadályozza
a vezérlők egyidejűleg történő egyedi használatát, azonban lehetővé teszi
a VBE 3.0 előtt kiadott alkalmazások normális működését. A 00h VBE funció
(Vezérlő információkkal tér vissza) a két vezérlő kombinált információit
adja vissza, beleértve a használható módok kombinált listáját. Ha az
alkalmazás kiválaszt egy módot, a megfelelő vezérlő aktiválódik. Az összes
többi VBE funkció ezután az aktív vezérlővel dolgozik.
Így van esélyed a TV kimenet használatára ezzel a vezérlővel.
(Gondolom a TV-out legtöbbször legalább egyedülálló fej vagy egyedüli kimenet.)
ELŐNYÖK
Van esélyed a film nézésre akkor is ha a Linux nem ismeri
a videó hardveredet.
Nem kell telepítened semmiféle grafikus dolgot a Linuxodra (mint pl. X11 (AKA XFree86),
fbdev és így tovább). Ez a vezérlő fut szöveges-módban.
Jó eséllyel működő TV-kimenetet kapsz.
(Legalábbis az ATI kártyákon).
Ez a vezérlő meghívja az int 10h kezelőt így nem
emulátor - igazi dolgokat hív az
igazi BIOS-ban valós-módban
(valójában vm86 módban).
Használhatod a VIDIX-et vele, így gyorsított videó megjelenítést kapsz
és TV kimenetet egy időben!
(Javasolt az ATI kártyákhoz.)
Ha VESA VBE 3.0+-od van, és megadtad a
-ot valahol
(konfigurációs fájlban vagy paranccsorban), a lehető legjobb frissítési rátát kapod.
(Általános Időzítő Formulát használva). Ezen képesség engedélyezéséhez meg kell adnod
a monitorod összes opcióját.
HÁTRÁNYOK
Csak x86 rendszereken működik.
Csak a root használhatja.
Jelenleg csak Linux alatt elérhető.
A VESA PARANCSSORI KAPCSOLÓI
jelenleg felismert: dga a dga mód használatához és
nodga a dga mód letiltásához. A dga módban engedélyezheted
a dupla bufferelést a kapcsolóval. Megjegyzés: ezen
paraméterek elhagyásával engedélyezed a dga mód automatikus
detektálását.
ISMERT PROBLÉMÁK ÉS MEGOLDÁSAIK
Ha telepítettél NLS betűtípust a Linux rendszeredre
és VESA vezérlőt használsz szöveges-módban, akkor az MPlayerből
való kilépés után a ROM betűtípusa lesz betöltve a nemzeti
helyett.
A nemzeti betűkészletet újra betöltheted pl. a Mandrake/Mandriva disztribúcióban
található setsysfont nevű segédprogram használatával.
(Tanács: Ugyan ez a segédprogram használható az
fbdev honosítására is).
Some Linux graphics drivers don't update
active BIOS mode in DOS memory.
Tehát ha ilyen problémáid vannak - mindig csak szöveges módban
használd a VESA vezérlőt. Különben a szöveges mód (#03) aktiválódik mindenképp
és újra kell indítanod a számítógépedet.
Gyakran a VESA vezérlő bezárása után
fekete képernyőt kapsz. Hogy visszaállítsd
a képernyődet az eredeti állapotába - egyszerűen csak válts át másik
konzolra (az AltF<x>
gombok megnyomásával) majd válts vissza ugyanígy.
A működő TV kimenethez be kell dugnod a
TV-csatlakozót mielőtt betöltene a PC-d, mivel a videó BIOS csak egyszer,
a POST eljárás során inicializálja magát.
X11
Ha lehet, kerüld el! Az X11-es kimenetnek (megosztott memória kiterjesztést használnak),
nincs semmilyen hardveres támogatásuk. Tudja ugyan (MMX/3DNow/SSE által gyorsítva, de
így is lassan) a szoftveres méretezést, használhatod a
kapcsolókat. A legtöbb hardverben benne van a hardveres méretezés támogatása, használd
a kimenetet hozzá vagy a -t a Matrox
kártyákhoz.
A probléma az, hogy a legtöbb kártya vezérlője nem támogatja a hardveres
gyorsítást a második fejen/TV-n. Ezekben az esetekben zöld/kék színű
ablakot látsz a film helyett. Az ilyen esetekben jön jól ez a vezérlő,
de erős CPU-val kell rendelkezned a szoftveres méretezés használatához.
Ne használd az SDL vezérlő szoftveres kimenetét+méretezőjét, annak még
rosszabb a képminősége!
A szoftveres méretezés nagyon lassú, jobb, ha megpróbálsz videó módot váltani
inkább. Az egyszerűbb. Lásd a DGA rész
modeline-jait, és írd be őket az XF86Config
fájlba.
Ha XFree86 4.x.x-ed van: használd a kapcsolót. Ez átvált
egy olyan felbontásra, amin elfér a film. Ha mégsem:
XFree86 3.x.x-szel: körkörösen végigmehetsz az elérhető felbontásokon
a
CtrlAltKeypad +
és
CtrlAltKeypad -
gombokkal.
Ha nem találod a beszúrt módokat, nézd át az XFree86 kimenetét. Néhány
vezérlő nem tud alacsony pixelclock-ot használni, ami szükséges az alacsony
felbontású videó módokhoz.
VIDIXBEVEZETÉS
A VIDIX a
VIDeo
Interface
for *niX rövidítése.
A VIDIX-et egy felhasználói térben használható vezérlőként tervezték és
mutatták be, mely olyan videó teljesítményt nyújt, mint az mga_vid a
Matrox kártyákon. Ráadásul könnyen portolható.
Ezt az interfészt úgy tervezték meg, hogy illeszkedjen a már létező videó
gyorsító interfészekhez (mga_vid, rage128_vid, radeon_vid, pm3_vid) egy
állandó sémával. Magas szintű interfészt biztosít a BES (BackEnd Scalers)
néven ismert chip-ekhez vagy az OV-hoz (Video Overlays). Nem nyújt a
grafikus szerverekhez hasonló alacsony szintű interfészt. (Nem akarok
versenyezni a z X11 csapattal a grafikus mód váltásban). Pl. ezen
interfész fő célja a videó lejátszás sebességének maximalizálása.
HASZNÁLAT
Használhatsz egyedülálló videó kimeneti vezérlőt: .
Ez a vezérlő a VIDIX-es technológia X11-es front end-je. X szerver kell hozzá
és csak X szerverrel működik. Jegyezd meg, hogy mivel közvetlenül éri el a
hardvert az X vezérlő megkerülésével, a grafikus kártya memóriájában lévő
pixmap-ok sérülhetnek. Ezt elkerülheted az X által használt videó memória
korlátozásával, amit az XF86Config "VideoRam" opciójával adhatsz meg az
eszköz részben. Ajánlott ezt a kártyádon lévő memória mínusz 4 MB-ra állítani.
Ha kevesebb, mint 8 MB videó ram-od van, akkor ehelyett használhatod az
"XaaNoPixmapCache" opciót a képernyő részben.
Van egy konzolos VIDIX vezérlő: .
Ehhez egy működő és inicializált frambuffer kell a legtöbb kártyánál (vagy
különben csak összeszemeteled a képernyőd), és hasonló eredményt kapsz, mint
a vagy kapcsolókkal. Az
nVidia kártyák azonban képesek tényleges grafikus kimenetre igazi szöveges
konzolon. Lásd az nvidia_vid részt a
további információkért. Hogy megszabadulj a határoló szövegektől és a
villogó kurzortól, próbálj ki valami ilyesmit:
setterm -cursor off > /dev/tty9
(feltéve, hogy a tty9 eddig nem volt használva)
és ezután válts a tty9-re.
Másrész a -t ajánlott megadni egy "háttérben"
futó videónál, mivel a helyes működése a colorkey funkcionalításától
függ.
Használhatod a VIDIX aleszközt, ami számos videó kimeneti vezérlővel együtt használható,
például:
(csak Linux) és
.
Igazából nem számít, hogy melyik videó kimeneti vezérlőt használod együtt a
VIDIX-szel.
KÖVETELMÉNYEK
A videó kártyának grafikus módban kell lennie (kivéve az nVidia kártyákat a
kimeneti vezérlővel).
Az MPlayer videó kimeneti vezérlőnek tudnia kell
aktiválni a videó módot és információkat kell tudnia átadni a VIDIX aleszköznek
a szerver videó karakterisztikájáról.
HASZNÁLATI MÓDOK
Ha a VIDIX-et aleszközként használod (), akkor a videó mód konfigurációt a videó kimeneti vezérlő
(röviden vo_server) végzi. Ezért az
MPlayer parancssorában ugyan azokat a kulcsokat
használhatod, mint a vo_server-rel. Ráadásul ismeri a
kulcsot mint globálisan látható paramétert. (Javaslom ezen kulcs VIDIX-szel
történő használatát legalább az ATI kártyával). Ami a -et
illeti, most csak a következő kapcsolókat ismeri: .
A parancssorban harmadik alkapcsolóként megadhatod közvetlenül a VIDIX vezérlőjét:
mplayer -vo xvidix:mga_vid.so -fs -zoom -double file.avi
vagy
mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 file.avi
De ez veszélyes, inkább ne használd. Ebben az esetben a megadott vezérlő
lesz kényszerítve, így az eredmény megjósolhatatlan
(lefagyaszthatja a számítógéped). CSAK akkor
csinálj ilyet, ha teljesen biztos vagy benne, hogy működik és az
MPlayer nem teszi meg automatikusan. Ez esetben
kérjük jelezd ezt a fejlesztőknek is. A helyes módszer a VIDIX argumentumok
nélküli használata, és így az automatikus detektálás engedélyezése.
svgalib_helper
Mivel a VIDIX-nek direkt hardver elérés kell, futtathatod root-ként vagy
beállíthatod a SUID bit-et az MPlayer binárisán
(Figyelem: Ez biztonsági kockázatot jelent!).
Alternatívaként használhatsz egy speciális kernel modult, így:
Töltsd le az svgalib (pl. 1.9.x-es)
fejlesztői verzióját.
Fordítsd le a modult az
svgalib_helper könyvtárban (az
svgalib-1.9.17/kernel/ könyvtáron
belül található, ha az svgalib oldaláról töltötted le a forrást) és insmod-old.
A /dev könyvtárban a megfelelő
eszközök létrehozásához add ki a
make device parancsot az
svgalib_helper könyvtárban rootként.
Ezután futtasd le a configure-t újra és add meg neki a
és a
paramétereket, ahol a /eleresi/ut/svgalib_helper/forrasahoz/ könyvtárat
az svgalib_helper kicsomagolt forrását tartalmazó könyvtárnak megfelelően kell beállítani.
Forgass újra.
ATI kártyák
Jelenleg a legtöbb ATI kártya natívan támogatott, a Mach64-től a
legújabb Radeonokig.
Két lefordított bináris van: radeon_vid a Radeonhoz és
rage128_vid a Rage 128 kártyákhoz. Előírhatsz egyet vagy
hagyhatod a VIDIX rendszernek automatikusan kipróbálni az összes elérhető vezérlőt.
Matrox kártyák
A Matrox G200, G400, G450 és G550 működik a jelentések szerint.
A vezérlő támogatja a videó equalizereket és majdnem olyan gyors, mint a
Matrox framebuffer.
Trident kártyák
Van egy vezérlő a Trident Cyberblade/i1 chipset-hez, ami
a VIA Epia alaplapokon található.
A vezérlőt
Alastair M. Robinson
írta és tartja karban.
3DLabs kártyák
Habár van vezérlő a 3DLabs GLINT R3 és Permedia3 chip-ekhez, senki sem
tesztelte le, így örömmel fogadjuk a jelentéseket.
nVidia kártya
Egy egyedülálló tulajdonsága az nvidia_vid vezérlőnek a
sima, egyszerű, csak szöveges konzolon történő
videó megjelenítés - framebuffer vagy X varázslat és egyebek nélkül. Ehhez a
videó kimenetet kell használni, amint az itt látható:
mplayer -vo cvidix pelda.aviSiS kártyák
Ez nagyon kísérleti kód, csakúgy mint az nvidia_vid.
Tesztelték SiS 650/651/740-en (a leggyakrabban használt SiS chipset verziók
a "Shuttle XPC" dobozokban).
Várjuk a visszajelzéseket!
DirectFB
"A DirectFB egy grafikus függvénykönyvtár, amit a beágyazott rendszereket szem előtt
tartva terveztek meg. Maximális hardver gyorsítási teljesítményt ad minimális erőforrás
felhasználással és terheléssel." - idézet a
oldalról.
Ki fogom hagyni a DirectFB tulajdonságokat ebből a fejezetből.
Mivel az MPlayer nem támogatott, mint "video
provider" a DirectFB-ben, ez a kimeneti vezérlő engedélyezi a videó
lejátszást DirectFB-n keresztül. Természetesen gyorsított lesz, az én
Matrox G400-amon a DirectFB sebessége majdnem megegyezik az XVideo-éval.
Mindig próbáld meg a DirectFB legújabb verzióját használni. Megadhatsz
DirectFB opciókat a parancssorban a kapcsoló használatával.
A réteg választás egy aleszköz módszerével történhet, pl.:
(-1-es réteg az alapértelmezett: automatikus keresés)
DirectFB/Matrox (dfbmga)
Kérjük olvasd el a fő DirectFB részt az
általános információkért.
Ez a videó kimeneti vezérlő engedélyezi a CRTC2-t (a második fejen) a Matrox
G400/G450/G550 kártyákon, a videót az első fejtől
függetlenül jelenítve meg.
Ville Syrjala-nak van egy
README-je
és egy
HOWTO-ja
a weboldalán, ami leírja, hogy hogyan hozhatod működésbe a DirectFB TV kimenetet a Matrox kártyákon.
Az első DirectFB verzió, amit működésre tudtunk bírni a
0.9.17 volt (hibás, kell hozzá az a surfacemanager
javítás a fenti URL-ről). A CRTC2 kód portolását az
mga_vid-be évekig terveztük, a
javításokat szívesen fogadjuk.
MPEG dekóderekDVB kimenet és bemenet
Az MPlayer támogatja a Siemens DVB chipset-tel szerelt
kártyákat olyan gyártóktól, mint a Siemens, Technotrend, Galaxis vagy a Hauppauge. A
legújabb DVB vezérlők elérhetőek a
Linux TV oldalról.
Ha szoftveres átkódolást akarsz csinálni, legalább egy 1GHz-es CPU-ra lesz szükséged.
A configure megtalálja a DVB kártyádat. Ha mégsem, kényszerítheted:
./configure --enable-dvb
Majd fordíts és telepíts, mint rendesen.HASZNÁLAT
A hardveres dekódolás szabványos MPEG-1/2 videó folyamot és/vagy MPEG audiót tartalmazó
fájlok esetén elvégezhető ezzel a paranccsal:
mplayer -ao mpegpes -vo mpegpes file.mpg|vob
Bármilyen más típusú videó folyam esetén MPEG-1-be történő átkódolás szükséges, ezért
lassú és nem éri meg a vesződést, különösen ha lassú a géped.
Egy ehhez hasonló paranccsal végezhető el:
mplayer -ao mpegpes -vo mpegpes yourfile.ext
mplayer -ao mpegpes -vo mpegpes -vf expand yourfile.ext
Figyelj rá, hogy a DVB kártyák PAL esetén csak a 288-as és 576-os, NTSC esetén
a 240-es és 480-as magasságokat ismerik. Muszáj
átméretezned más magassághoz a
kapcsolóval és a kívánt szélesség és magasság megadásával a
kapcsolónál. A DVB kártyák számos szélességet elfogadnak, mint például 720, 704,
640, 512, 480, 352 stb. és hardveres méretezést alkalmaznak vízszintes irányban,
így a legtöbb esetben nem kell vízszintesen méretezned. Egy 512x384 (4:3 arányú)
MPEG-4 (DivX)-hez:
mplayer -ao mpegpes -vo mpegpes -vf scale=512:576
Ha szélesvásznú filmed van és nem akarod átméretezni teljes magasságúra,
használhatod az szűrőt a fekete sávok hozzáadásához.
Egy 640x384 MPEG-4 (DivX) megnézésénél:
mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 file.avi
Ha a CPU-d túl lassú a teljes méretű 720x576 MPEG-4 (DivX)-hez, próbáld meg leméretezni:
mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 file.aviHa a sebesség nem javul, próbáld meg a függőleges leméretezést is:
mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 file.avi
Az OSD és a feliratokhoz használd az expand szűrő OSD tulajdonságát. Így, az
vagy helyett írj
-et (az ötödik paraméter, a
a végén engedélyezi az OSD render-elést). A képet egy kicsit feljebb szeretnéd
vinnni valószínűleg, hogy nagyobb hely maradjon a feliratoknak. Vagy akár a
feliratokat is felviheted, ha a TV képernyőjén kívülre esnek, használd a
kapcsolót ennek beállításához
(a egy jó választás).
A nem-25fps-es filmek PAL TV-n vagy lassú CPU-n való lejátszásához még add hozzá a
kapcsolót.
Az MPEG-4 (DivX) fájlok méretarányának megtartásához és az optimális méretezési
paraméterekhez (hardveres vízszintes és szoftveres függőleges méretezés a helyes
méretarány megtartásával) használd az új dvbscale szűrőt:
for a 4:3 TV: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
for a 16:9 TV: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
Digital TV (DVB bemeneti modul)A DVB kártyád segítségével digitalis TV-t is nézhetsz.
A scan és szap/tzap/czap/azap
programoknak telepítve kell lenniük; mind benne vannak a drivers
csomagban.
Ellenőrizd, hogy a vezérlőid megfelelően működnek egy olyan programmal, mint a
dvbstream
(ez a DVB bemeneti modul alapja).
Most már fordíthatsz egy ~/.mplayer/channels.conf
fájlt, a szap/tzap/czap/azap által elfogadott szintaktikával, vagy
engeded a scannek, hogy elkészítse neked.
Ha több típusú kártyád van (pl. műholdas, földi, kábel és ATSC), a csatorna
fájlokat elmentheted
~/.mplayer/channels.conf.sat,
~/.mplayer/channels.conf.ter,
~/.mplayer/channels.conf.cbl,
és ~/.mplayer/channels.conf.atsc néven,
így az MPlayernek implicit javaslod ezen
fájlok használatát a ~/.mplayer/channels.conf helyett
és csak azt kell megadnod, hogy melyik kártyát akarod használni.
Győződj meg róla, hogy csak Free to Air
csatornák vannak a channels.conf fájlodban,
különben MPlayer kódolatlan átvitelre fog várni.
Az audió és a videó mezőkidben használhatsz kiterjesztett szintaxist:
(egyenként maximálisan 6 pid);
ebben az esetben az MPlayer beleveszi a
stream-be az összes jelzett pid-et, plusz a pid 0-t (ami a PAT-ot
tartalmazza). Mindig ajánlott a PMT és MCR pid bevétele minden sorba a
megfelelő csatornáknál (ha ismered őket).
Megadhatsz 8192-őt is, ez kiválaszt minden pid-et ezen a frekvencián,
majd ezután a TAB-bal tudsz váltani a programok között.
Ez nagyobb sávszélességet igényel, de az olcsóbb kártyák mindig átviszik
az összes csatornát legalább a kernelig, így ezeknél nem jelent számottevő
különbséget.
Egyéb lehetőségek: televideo pid, második audió sáv, stb.
Ha az MPlayer rendszeren panaszkodik
"Túl sok videó/audió csomag a bufferben""Too many video/audio packets in the buffer"
üzenettel vagy az audió és videó közötti szinkronizáció
növekvő eltérését tapasztalod, nézd meg, hogy van-e PCR pid a folyamban
(szükséges az átvivő bufferelésének történő megfeleléshez) és/vagy
próbáld meg használni a libavformat-ban lévő MPEG-TS demuxer-t a
opció parancssorhoz történő hozzáadásával.
A csatornák beállításainak kilistázásához futtast ezt:
mplayer dvb://
Ha egy adott csatornát akarsz nézni, mint pl. az R1-et, írd be:
mplayer dvb://R1
Ha egynél több kártyád van, meg kell adnod a kártya számát is,
ahol a csatorna látható (pl. 2) az alábbi szintaxissal:
mplayer dvb://2@R1
A csatornaváltáshoz nyomd meg a h (következő) vagy
a k (előző) gombot vagy használd az
OSD menüt.
Az audió vagy videó folyam ideiglenes kikapcsolásához másold be
a következőket a ~/.mplayer/input.conf fájlba:
% set_property switch_video -2
& step_property switch_video
? set_property switch_audio -2
^ step_property switch_audio
(A billentyűket átírhatod a kívántra.) Ha megnyomod a switch_x -2 parancshoz
tartozó billentyűt, a megfelelő folyam bezárásra kerül; ha a step_x-hez
tartozót, akkor a folyam újra meg lesz nyitva.
Ügyelj rá, hogy ez a kapcsolási mechanizmus nem a várt módon fog működni,
ha a több audió és videó folyam van.
Lejátszás közben (nem rögzítés közben), a dadogás és 'A rendszeret túl lassú ehhez'
üzenetek megelőzése érdekében javasolt a
-mc 10 -speed 0.97 -af scaletempo
használata a parancssorban, a scaletempo paramétereinek megfelelő beállításával.
Ha a ~/.mplayer/menu.conf fájlod tartalmazza a
<dvbsel> bejegyzést, úgy, mint az
etc/dvb-menu.conf példafájl (ezt felhasználhatod a
~/.mplayer/menu.conf fájl felülírásához), a fő menüben
egy al-menü bejegyzést láthatsz, aminek a segítségével választhatsz a
channels.conf-ban előre beállított csatornák közül,
melyet az elérhető kártyák listája követhet, ha egynél több
MPlayer által használható kártya van.
Ha el akarod menteni a programot a lemezre, használhatod az alábbi parancsot:
mplayer -dumpfile r1.ts -dumpstream dvb://R1
Ha inkább másik formátumban akarsz rögzíteni (újrakódolni), kiadhatsz egy
ehhez hasonló parancsot:
mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 \
-oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
Olvasd el a man oldalt a kapcsolók listájához, amiket megadhatsz a DVB
bemeneti modulnak.
A JÖVŐ
Ha kérdésed van vagy további bejelentésekről szeretnél tudomást szerezni és
részt venni a beszélgetéseinkben, csatlakozz az
MPlayer-DVB
levelezési listához. Kérjük vedd figyelembe, hogy a lista nyelve az angol.
A jövőben tervezzük a DVB kártyák által biztosított natív OSD használatát az
OSD menü és a feliratok megjelenítéséhez.
DXR2
Az MPlayer támogatja a hardveresen gyorsított
lejátszást a Creative DXR2 kártyával.
Mindenek előtt megfelelően telepített DXR2 vezérlő kell. A vezérlőt és
a telepítési útmutatót megtalálhatod a
DXR2 Resource Center oldalán.
HASZNÁLATTV kimenet engedélyezése. vagy Átlapolásos kimenet bekapcsolása X11-en.
Ezzel a kapcsolóval a DXR2 vezérlő irányítható.
A DXR2-n használt átlapolásos chipset elég rossz minőségű, de az alapértelmezett
beállítások mindenkinél működnek. Az OSD használható az átlapolással
(nem TV-n) a színkulcsban történi kirajzolással. Az alapértelmezett színkulcs
beállításokkal változó eredményeket kaphatsz, valószínűleg látni fogod a
színkulcsot a karakterek körül vagy más egyéb érdekes effektet. De ha
megfelelően beállítod a színkulcsot, elfogadható eredményt kapsz.
Kérjük nézd meg a man oldalt a használható kapcsolókhoz.DXR3/Hollywood+
Az MPlayer támogatja a hardveresen gyorsított lejátszást
a Creative DXR3 és Sigma Designs Hollywood Plus kártyákkal. Ezek a kártyák
a Sigma Designs em8300 MPEG dekódoló chip-jét használják.
Mindenek előtt megfelelően telepített DXR3/H+ vezérlő kell, 0.12.0 verziójú
vagy régebbi. A vezérlőket és a telepítési utasításokat megtalálhatod a
DXR3 & Hollywood Plus for Linux
oldalon. A configurenak automatikusan meg kell találnia
a kártyádat, és a fordításnak hiba nélkül le kell futnia.
HASZNÁLAT
Az az átlapolást aktiválja a TV-out helyett. A helyes
működéshez megfelelően beállított overlay setup kell. A legegyszerűbb út
az átlapolás beállításához először az autocal majd az mplayer futtatása
dxr3 kimenettel és az átlapolás bekapcsolása nélkül futtasd a dxr3view-t. A
dxr3view-ban állíthatsz az átlapolási beállításokon és láthatod az effekteket
valós időben, talán ezt a funkciót az MPlayer GUI
is támogatni fogja a jövőben. Ha az átlapolás megfelelően be lett állítva,
többet nem kell használnod a dxr3view-t. A bekapcsolja
az előbufferelést. Az előbufferelés az em8300 chip egy olyan képessége, mellyel
egynél több képkockát tud megtartani egy időben. Ez azt jelenti, hogy ha
előbuffereléssel futtatod az MPlayert, az megpróbálja
folyamatosan tele tartani a videó buffert adatokkal. Ha lassú gépen vagy, az
MPlayer közel vagy pontosan 100% CPU kihasználtságot
fog okozni. Ez különösen gyakori ha egyszerű MPEG streamet játszasz le (pl.
DVD-k, SVCD-k, stb.), mivel ekkor az MPlayernek nem
kell újrakódolnia MPEG-be, és nagyon gyorsan tölti a buffert.
Az előbuffereléssel a videó lejátszás sokkal
kevésbé érzékeny az többi program CPU foglalására, nem fog képkockát eldobni,
hacsak az alkalmazások nem foglalják túl hosszú ideig a CPU-t. Ha előbufferelés
nélkül futtatod, az em8300 sokkal érzékenyebb a CPU terhelésre, így nagyon
javasolt, hogy használd az MPlayer
kapcsolóját a további szinkronvesztés elkerüléséhez.
A bekapcsolja az új szinkron-motort. Ez jelenleg még
egy tesztelés alatt lévő képesség. A bekapcsolt szinkron tulajdonsággal az
em8300 belső órája folyamatosan figyelve lesz, és ha eltér az
MPlayer órájától, resetel, ezzel az em8300-t az
összes hátralévő képkocka eldobására kényszeríti.
A beállítja a DXR3 kártya TV normáját külső segédeszköz,
pl. em8300setup nélkül. A helyes norma értékek: 5 = NTSC, 4 = PAL-60, 3 = PAL.
Speciális norma a 2 (auto-beállítás PAL/PAL-60 használatával) és az 1
(auto-beállítás PAL/NTSC használatával) mivel ezek a film képkocka rátájának
segítségével állapítják meg a normát. A norm = 0 (alapértelmezett) nem változtat
a jelenlegi normán.
= a használni kívánt eszköz
száma több em8300 kártya esetén.
Ezen opciók bármelyike elhagyható.
látszólag nagyszerűen működik MPEG-4 (DivX)
filmek lejátszásakor. Többen problémákról számoltak be MPEG-1/2 fájlok
lejátszásakor bekapcsolt prebuf esetén. Először mindenféle opció nélkül nézd
meg, majd ha szinkron vagy DVD felirat problémáid vannak, adj egy esélyt a
-nek.
Audió kimenethez, ahol az X az eszköz száma
(0 ha egy kártya).
A em8300 nem tud lejátszani 44100Hz-nél alacsonyabb mintavételű hangot.
Ha a mintavételi ráta 44100Hz alatt van, válassz 44100Hz-et vagy 48000Hz-et,
attól függően, hogy melyik van közelebb. Pl. ha egy film 22050Hz-et használ,
válaszd a 44100Hz-et, mivel 44100 / 2 = 22050, ha 24000Hz-et, válaszd a
48000Hz-et, mert 48000 / 2 = 24000 és így tovább.
Ez nem működik digitális audió kimenettel ().
Nem-MPEG tartalom em8300-on történő nézéséhez (pl. MPEG-4 (DivX) vagy
RealVideo) meg kell adnod egy MPEG-1 videó szűrőt, mint pl. a
libavcodec (lavc).
Lásd a man oldalt a további infókért a
kapcsolóról.
Jelenleg nem lehet az em8300 fps értékét
módosítani, ami azt jelenti, hogy fixen 30000/1001 fps. Emiatt javasolt
a
kapcsoló használata, különösen ha előbufferelést használsz. Hogy miért
25 és nem 30000/1001? Nos, a dolog úgy áll, hogy ha 30000/1001-et
használsz, a kép kicsit ugrálós lesz. Ennek az okát nem tudjuk. Ha
beállítod valahova 25 és 27 közé, a kép stabillá válik. Jelenleg mást
nem tehetünk, elfogadjuk ezt tényként.
Habár a DXR3 vezérlő tud némi OSD-t tenni az MPEG-1/2/4 videóra,
sokkal rosszabb minősége van, mint az MPlayer
tradícionális OSD-jének és számos frissítési problémája is van. A fenti
parancssor először is átkonvertálja a bemeneti videót MPEG-4-be (ez szükséges,
bocs), majd alkalmazza rá az expand szűrőt, ami nem terjeszt ki semmit
(-1: alapértelmezett), de a normális OSD-t teszi a képre (ezt csinálja az
"1" a végén).
A em8300 támogatja az AC-3 audió lejátszását (térhatású hang) a kártya
digitális audió kimenetén keresztül. Lásd a
kapcsolót fent, a DXR3 kimenetének meghatározására használható a
hangkártya helyett.
Zr
Ez egy képernyő-vezérlő () számos MJPEG
mentő/lejátszó kártyához (DC10+ és Buz-zal tesztelve, és működnie kell
LML33, a DC10 esetén is). A vezérlő úgy működik, hogy kódolja a képkockát
JPEG-be majd kiküldi a kártyára. A JPEG kódoláshoz a
libavcodec-et használja, ami
ezért szükséges hozzá. Egy speciális cinerama móddal
igazi nagyképernyőn nézhetsz filmeket, feltéve, hogy két felvevőd és két
MJPEG kártyád van. A felbontástól és a minőségi beállításoktól függően ez
a vezérlő rengeteg CPU erőt igényel, ne felejtsd el megadni a
kapcsolót, ha lassú a géped. Megjegyzés: Az
én AMD K6-2 350MHz-es gépem (-pal) eléggé
elfogadható volt VCD méretű anyag nézésekor és leméretezett filmnél.
Ez a vezérlő a
címen található kernel
vezérlővel társalog, így először ezt kell beizzítanod. Az MJPEG kártya
jelenléte automatikusan detektálva lesz a configure
script által, ha ez nem sikerül, kényszerítsd a detektálásra a
./configure --enable-zr kapcsolóval.
A kimenet számos kapcsolóval szabályozható, a kapcsolók hosszú leírással
megtalálhatóak a man oldalon, egy rövidebb listát a
mplayer -zrhelp
parancs lefuttatásával kaphatsz.
Az olyan dolgokat, mint méretezés és OSD (on screen display) ez a vezérlő
nem kezeli, de megoldhatóak videó szűrőkkel. Például tegyük fel, hogy van
egy filmed 512x272-es felbontással és teljes képernyőn akarod nézni a
DC10+-eden. Három lehetőséged van, méretezned kell a filmet 768, 384 vagy
192-es szélességre. Teljesítmény és minőségi okokból én a 384x204-re való
méretezést választanám, gyors bilineáris szoftveres méretező használatával.
A parancssor:
mplayer -vo zr -sws 0 -vf scale=384:204 movie.avi
A levágás a szűrő segítségével valósítható meg és
magával a vezérlővel. Feltéve, hogy a film túl széles a megjelenítéshez
a Buz-odon és hogy a -ot akarod használni a film
szűkítéséhez, a következő parancs a te barátod:
mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
Ha használni akarod a szűrőt, ez kell:
mplayer -vo zr -vf crop=720:320:80:0 benhur.avi
Extra esetben a meghívja a
cinerama módot, pl. a filmet több TV vagy beamer
között sugározhatod egy nagyobb kép létrehozásához. Feltéve, hogy két
beamer-ed van. A bal oldali a Buz-odhoz csatlakozik a
/dev/video1-en, a jobb oldali a DC10+-odhoz a
/dev/video0-án. A film felbontása 704x288. Továbbá
tegyük fel azt is, hogy a jobb beamer-t fekete-fehéren szeretnéd, a
balnak pedig 10-es minőségű JPEG képeket kell adnia. Ekkor a következő
parancsot kell használnod:
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
-zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \
movie.avi
Láthatod, hogy a második előtt feltűnő opciók
csak a DC10+-re, a második után lévők csak a
Buz-ra vonatkoznak. A cinerama-ban használható
MJPEG kártyák maximális száma négy, így egy 2x2-es vidi-falat
építhetsz.
Végül egy fontos megjegyzés: Ne indítsd el vagy állítsd meg a XawTV-t a lejátszó
eszközön a lejátszás alatt, ez összeomlasztja a számítógépedet. Legjobb
ELŐSZÖR elindítani a XawTV-t,
EZUTÁN elindítani az MPlayert,
várni, míg az MPlayer
végez, és EZUTÁN megállítani a XawTV-t.
Blinkenlights
Ez a vezérlő képes a lejátszásra a Blinkenlights UDP protokol felhasználásával.
Ha nem tudod, hogy mi az a Blinkenlights,
vagy az utóda az Arcade,
nézz utána. Habár ez a legutoljára használt videó kimeneti vezérlő, kétségkívül ez
a legjobb, amit az MPlayer nyújtani tud. Csak nézz meg
pár Blinkenlights dokumentációs
videót.
Az Arcade videóban láthatod a Blinkenlights kimeneti vezérlőt akcióban a
00:07:50-en.
TV-kimenet támogatásMatrox G400 kártyák
Linux alatt két módon bírhatod működésre a G400 TV kimenetét:
a Matrox G450/G550 TV-kimenet utasításaiért lásd a következő részt!
XFree86
A vezérlő és a HAL modul használatával, mely elérhető a Matrox oldalán. Ezzel X-et
kapsz a TV-n.
Ez a módszer nem nyújt gyorsított lejátszást
Windows alatt! A második fejnek csak YUV framebuffer-e van, a BES
(Back End Scaler, a YUV méretező a G200/G400/G450/G550 kártyákon) nem
működik rajta! A Windows-os vezérlők ezt valahogy megkerülik, talán 3D
motort használnak a nagyításhoz és a YUV framebuffer-t a nagyított
képek megjelenítéséhez. Ha tényleg X-et akarsz használni, válaszd a
kapcsolókat, de
LASSÚ lesz,
és Macrovision másolásvédelem van rajta
(ezzel a Perl script-tel
"megkerülheted" a Macrovisiont).
Framebuffer
A 2.4-es kernelekben lévő matroxfb modulok
használatával. A 2.2-es kernel-ekben nincs TV-out tulajdonság hozzájuk, így
használhatatlanok erre. Engedélyezned kell az ÖSSZES matroxfb-specifikus
tulajdonságot a fordítás alatt (kivéve a MultiHead-et) és
modulokba kell fordítanod!
Az I2C-t is engedélyezned kell és a
matroxset, fbset
és con2fb eszközöknek az elérési úton kell lenniük.
Majd töltsd be a matroxfb_Ti3026, matroxfb_maven, i2c-matroxfb,
matroxfb_crtc2 modulokat a kerneledbe. A szöveges-módú
konzolod framebuffer módba vált (nincs visszaút!).
Ezután állítsd be a monitorod és a TV-t a kedvednek megfelelően a fenti eszközökkel.
Yoh. A következő dolog, hogy a kurzort eltűntesd a tty1-ről (vagy
akármiről) és kikapcsold a képernyő törlést. Futtasd le a következő
parancsokat:
echo -e '\033[?25l'
setterm -blank 0
vagy
setterm -cursor off
setterm -blank 0
A fentieket valószínűleg beleírod egy script-be, egy képernyő
törléssel együtt. A kurzor visszakapcsolása:
echo -e '\033[?25h' vagy
setterm -cursor on
Yeah sirály. Indítsd el a film lejátszást:
mplayer -vo mga -fs -screenw 640 -screenh 512 filename
(Ha X-et használsz, most válts át matroxfb-re, például a
CtrlAltF1 gombokkal.)
Változtasd meg a 640-et és az 512-t,
ha másra állítottad a felbontást...
Élvezd az ultra-gyors ultra-különleges Matrox TV
kimenetet (jobb mint az Xv)!Matrox G450/G550 kártyák
A TV kimenet támogatása ezeken a kártyákon csak nemrég jelent meg, és még
nincs a a fő kernelben. Jelenleg az mga_vid
modul nem használható AFAIK, mert a G450/G550-es vezérlő csak egy konfigurációban
működik: az első CRTC chip (a sokkal több képességgel) az első képernyőn
(a monitoron) és a második CRTC (nincs BES - a
BES magyarázatához lásd a G400-as részt fent) TV-n. Így csak az
MPlayerfbdev kimeneti
vezérlőjét használhatod jelenleg.
Az első CRTC nem irányítható át a második fejre jelenleg. A matroxfb kernel
vezérlő szerzője - Petr Vandrovec - talán készít támogatást ehhez, az
első CRTC kimenetét egyszerre mindkét fejen megjelenítve, mint ahogy most is
javasolt a G400-on, lásd a fenti részt.
A szükséges kernel javítás és a bővebb HOWTO letölthető:
Matrox TV-kimeneti kábel készítése
Senki sem vállal ezért semmilyen felelősséget, sem garanciát bármilyen,
ezen leírásból származó kárért.
Kábel a G400-hoz
A CRTC2 csatlakozójának negyedik pin-je a kompozit videó jel. A
földelés a hatodik, hetedik és nyolcadik pin. (az infót Rácz Balázs
adta)
Kábel a G450-hez
A CRTC2 csatlakozójának első pin-je a kompozit videó jel. A
földelés az ötödik, hatodik, hetedik és tizenötödik (5, 6, 7, 15)
pin. (az infót Kerekes Balázs adta)
ATI kártyákBEVEZETÉS
Jelenleg az ATI nem akarja támogatni semelyik TV-out chip-jét sem Linux alatt,
a licenszelt Macrovision technológiájuk miatt.
ATI KÁRTYÁK TV-KIMENETÉNEK ÁLLAPOTA LINUXONATI Mach64:
támogatja a GATOS.
ASIC Radeon VIVO:
támogatja a GATOS.
Radeon és Rage128:
támogatja az MPlayer!
Lásd a VESA vezérlő és
a VIDIX részt.
Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4:
támogatja az
atitvout.
Egyéb kártyák esetében lásd a VESA vezérlőt,
VIDIX nélkül. Bár ehhez erős CPU kell.
Az egyeten dolog, amit tenned kell - Be kell dugnod a
TV csatlakozóját, mielőtt bekapcsolnád a PC-t mivel a videó BIOS
csak egyszer, a POST folyamat során inicializálja magát.
nVidia
Először le KELL töltened a zárt-forrású vezérlőt az
-ról.
Nem írom le a telepítés és a konfiguráció lépéseit, mert ez nem tartozik
ezen dokumentáció céljához.
Miután az XFree86, az XVideo és a 3D gyorsítás is megfelelően működik,
írd át a kártya Device részét az XF86Config fájlban,
a következő példának megfelelően (a te kártyádhoz/TV-dhez igazítva):
Section "Device"
Identifier "GeForce"
VendorName "ASUS"
BoardName "nVidia GeForce2/MX 400"
Driver "nvidia"
#Option "NvAGP" "1"
Option "NoLogo"
Option "CursorShadow" "on"
Option "TwinView"
Option "TwinViewOrientation" "Clone"
Option "MetaModes" "1024x768,640x480"
Option "ConnectedMonitor" "CRT, TV"
Option "TVStandard" "PAL-B"
Option "TVOutFormat" "Composite"
EndSection
Természetesen a legfontosabb a TwinView rész.
NeoMagic
A NeoMagic chip számos laptop-ban megtalálható, pár közülük egy egyszerű
analóg TV kódolóval van felszerelve, mások sokkal fejlettebbel rendelkeznek.
Analóg kódoló chip:
A visszajelzések szerint megbízható TV kimenet a
vagy kapcsolókkal érhető el.
Kernelbe forgatott vesafb szükséges és a következő paramétereket
kell megadni a kernel parancssorában:
.
Ajánlott elindítani az X-et, majd átváltani
konzol módba pl. a
CtrlAltF1-gyel.
Ha nem sikerül elindítani az X-et az
MPlayer konzolból történő elindítása előtt,
a videó lassú és zavaros lesz (a magyarázatokat szívesen fogadjuk).
Jelentkezz be a konzolodra majd add ki a következő parancsot:
clear; mplayer -vo fbdev -zoom -cache 8192 dvd://
Ezután a filmet konzol módban, kb. a laptop LCD képernyőjének felét
kitöltve kell látnod.
A TV-re váltáshoz nyomd meg az FnF5-öt
háromszor. Tesztelve Tecra 8000-en, 2.6.15 kernel vesafb-vel, ALSA v1.0.10-en.
Chrontel 70xx kódoló chip:
Az IBM Thinkpad 390E és talán más Thinkpad-okban és notebook-okban található.
A -t kell használnod a PAL-hoz vagy
a -t az NTSC-hez.
TV kimenetet biztosít az alábbi 16 bpp és 8 bpp módokban:
NTSC 320x240, 640x480 és talán 800x600 is.PAL 320x240, 400x300, 640x480, 800x600. Az 512x384-es módot nem támogatja a BIOS. Át kell méretezned a képet
egy másik felbontásra a TV kimenet aktiválásához. Ha egy képet látsz a
képernyőn 640x480-ban vagy 800x600-ban, de semmit 320x240-ben vagy kisebb
felbontáson, ki kell cserélned két táblázatot a vbelib.c
fájlban. Lásd a vbeSetTV függvényeket a részletekért. Kérlek keresd meg a szerzőt
ebben az esetben.
Ismert dolgok: Csak VESA, semmilyen más beállítás, pl. fényesség, kontraszt,
blacklevel, flickfilter nincs implementálva.