2024. május 20., hétfő

Gyorskeresés

XvBA második kör

Írta: | Kulcsszavak: vaapi . XvBA . linux . lucid . ubuntu . MPlayer . ATI . 4850 . HD . gyorsítás

[ ÚJ BEJEGYZÉS ]

Kis tanakodás után életre leheltemX-Video Bitstream Acceleration-t. Magyarra lefordítva és az ATI féle GPU gyorsított HD dekódolás, amihez 4xxx-es videokártyára van szükség. A parancsokat terminálból adtam ki, nekem a GUI nem elsődleges.

Ubuntu Lucid

A gépem csomagolásának újragondolása után nekiláttam szoftveresen is rendbe rakni a gépet. Az eddig a NAS-ban szolgálatot teljesítő merevlemezre felhúztam egy friss Ubuntu 10.04 LTS Beta 1-et. A Luciddal nem volt gond, csak három dolog említésre méltó kis változtatást.

Az első a live CD bootolási sebessége. Kriminális, az eddigi verziók sokkal gyorsabbak voltak. Igaz, utána már gyorsan ment minden. Van egy gyanúm, hogy szépen felpakolt mindent a memóriába, de akkor nem ellenőriztem le, most utólag meg már nem érdekel. Telepítés után az indítás nagyon gyors és szimpatikus, szerintem még a Win7-et is veri.

A második az új lilás színvilág. Nem hiszem el, hogy nem találtak valami normálisabb színt. Lehetett volna zöld, sárga vagy akár bordó, de a kiválasztott lila nagyon ütős. Szerencsére három kattintással be lehet állítani emberi kinézetet és szép hátterek közül lehet válogatni.

A harmadik az ablakot kezelő ikonok áthelyezése a bal oldalra. Mivel a családban csak nekem nem okozott gondot, ezért átraktam a jobb oldalra. Ehhez el kell indítani a gconf-editort (konzol, vagy simán futtatás) és az apps/metacity/general alatt kijavítani a button_layout paramétert. Az én verzióm :minimize,maximize,close lett.

Az első bootolás végén még kapott egy apt-get update; apt-get dist-upgrade párost a békesség kedvéért, amin szépen elmolyolt a gép.

ATI fglrx driver

Az oprendszerhez felraktam az ATI driverét is. Teljesen automatikusan felment leszámítva az xorg.conf legenerálását.

sudo apt-get install fglrx
sudo aticonfig --initial

Reboot után van 3D és HD gyorsítás is. (Tudom-tudom, kézzel is betölthettem volna a modult és csak az X-et kellett volna újra indítani, de ez egy single user házi gépezet.)

Vaapi és MPlayer

Már egyszer végigfutottam a vaapi feltelepítésén. Most sem volt bonyolultabb, csak új csomagokat szedtem le innen. A lényeg, hogy azonos legyen a verziószám, különben tiltakozni fognak, vagy futtatásnál lesz pár meglepetés.

cd;mkdir vaapi; cd vaapi
sudo apt-get install libdrm-dev

wget http://www.splitted-desktop.com/~gbeauchehttp://www.splitted-desktop.com/~gbeauchesne/xvba-video/xvba-video_0.6.10-1_amd64.debsne/libva/pkgs/amd64/libva1_0.31.0-1+sds12_amd64.deb
sudo dpkg -i libva1_0.31.0-1+sds12_amd64.deb

wget http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/amd64/libva-dev_0.31.0-1+sds12_amd64.deb
sudo dpkg -i libva-dev_0.31.0-1+sds12_amd64.deb

wget http://www.splitted-desktop.com/~gbeauchesne/xvba-video/xvba-video_0.6.10-1_amd64.deb
sudo dpkg -i xvba-video_0.6.10-1_amd64.deb

A libek után jött az MPlayer. Természetesen szükség volt a fordításhoz pár dologra, így azokat is feltelepítettem

sudo apt-get build-dep mplayer
wget http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-latest-FULL.tar.bz2
tar jxf mplayer-vaapi-latest-FULL.tar.bz2
cd mplayer-vaapi-20100224
./checkout-patch-build.sh

Pár perc alatt hiba nélkül lefutott a fordítás. Már csak ki kellett próbálni:

cd mplayer-vaapi/
./mplayer -vo vaapi -va vaapi ~/sample.mkv

GUI

Kép és hang rendben, csak így kicsit fapados. GUI-nak a már bevált SMPlayert választottam ki:

sudo apt-get install smplayer

A vaapi gyorsítást az Options Preferences alatt pár kattintással állítottam be.

General/General
MPlayer executable: /home/user/vaapi/mplayer-vaapi-20100224/mplayer-vaapi/mplayer
Screenshots: letiltva

General/Video:
Output driver: vaapi

Performance/performance
Threads: 1

Advanced/Options for MPlayer
Options: -va vaapi

Teszt eredmény

A tesztet egy full HD videóval végeztem, amiben több gyors svenk is van, hirtelen képváltásokkal tűzdelve. Ráadásul kevés a homogén felület. Az eredmény értékelésénél tudni kell, hogy a 4 mag terhelését néztem. A hangot egy mag, a képet pedig egy másik dekódolta, két mag csak unatkozott némi IO felügyelettel ütve el az időt. A cpufreq segítségével fixáltam az órajelet, hogy ne hamisítsa meg a mérést. 25% feletti terhelés azt jelenti a gyakorlatban, hogy a videót dekódoló mag 100%-on fut.

teljes rendszer terhelése %-ban:
vaapi 800MHz: 4% alatt, MPlayer indításánál 2 másodpercre 18%-os csúcs. A videó teljesen szépen, simán fut
CPU 800MHz: 27% fölött, a kép és a hang elcsúszott. A bemutató nézhetetlen.
CPU 2000MHz: 26-27% a kép helyenkén belassul, majd utoléri a hangot. Filmre nem alkalmas
CPU 2800MHz: 17-18%, a film gond nélkül nézhető.
CPU 2800MHz, cpufreq ondemand:A film rángat. A powernow valami idióta módon váltogatja a CPU frekvenciáját 2.8 és 1.6GHz között. A gondot valószínűleg az okozza, hogy a maximális frekvencián 80% alá esik a terhelés, így visszább lép egyet az órajelben, 1.6GHz-nél viszont akad. A megoldás a down_threshold módosítása, vagy az általam kedvel conservative governor használata.

Hozzászólások

(#1) Benoe77


Benoe77
őstag

Szia!

Köszi a leírást!

Csak H.264 anyaggal próbáltad, vagy esetleg másmilyennel is (VC-1, divx, mpeg2)?

(#2) frescho válasza Benoe77 (#1) üzenetére


frescho
addikt

Csak egy h264 demoval probaltam. A hetvegen ha lesz idom letoltom a prohardveres teszt csomagot es kiprobalom.

https://frescho.hu

(#3) frescho válasza frescho (#2) üzenetére


frescho
addikt

Kiprobaltam az osszessel, a legtobb esetben frankon ment a HW gyorsitas.. Kettonel futottam bele problemaba:

A killa sample akadozott-csikozott es folyamatosan hibat dobalt:

[h264 @ 0xdc0080]number of reference frames exceeds max (probably corrupt input), discarding one

A VC-1_1080p@8Mbps.wmv Szoftveres dekodert hasznalt es nem adott ki hangot magabol. A Lucidban levo nem vaa-s mplayerrel sem, ergo nem az en forditasommal van a gond. Hianyozik neki valami extra library.

https://frescho.hu

(#4) totyax


totyax
aktív tag

Helló, megy szépen a gyorsítás, egy gond van csak, mpeg4-es videónál a procihasználat orbitálisan megnőtt. Az mplayer logja írja is hogy "The selected video_out device is incompatible with this codec." elég sokszor. Szóval ez így ebben a formában nem valami jó megoldás, van valami tipped? Mindenből a legfrissebbet tettem fel ami elérhető itt. ATI 4850-em van, Linux Mint-el, ami végülis Ubuntu Lucid.

(#5) frescho válasza totyax (#4) üzenetére


frescho
addikt

kiprobaltad, hogy a mpeg2-ot, x264-et rendesen gyorsitja?

https://frescho.hu

(#6) totyax válasza frescho (#5) üzenetére


totyax
aktív tag

Helló. Mpeg-2-őt nem próbáltam, de mint írtam az x264-et láthatóan jól gyorsította, viszont az mpeg-4-et meg úgy játssza le mintha x264-et játszana CPU-val, ami nem oké :)

Jelen állás szerint viszont valami történt a rendszerrel mert nincs kép ha GPU gyorsított kimenetet használnék smplayer/mplayer kombóval.

libva: libva version 0.31.1-sds1
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
libva error: dlopen of /usr/lib/va/drivers/fglrx_drv_video.so failed: libva-0.31.0.6.so.1: cannot open shared object file: No such file or directory
libva: va_openDriver() returns -1
[vo_vaapi] vaInitialize(): unknown libva error
Error opening/initializing the selected video_out (-vo) device.

Emlékeim szerint
libva1 0.31.0+sds13-1~multimediappa2
és
libva-dev 0.31.0+sds13-1~multimediappa2
lett kipróbálva, azzal nem volt jó, de leszedve és felrakva ami azelőtt volt sem állt helyre az eredeti állapot. És közbe jött valami xserver frissítés is... :) Pár nap múlva talán lesz időm játszani vele, bár nem tudom mit próbálhatnék még meg. A "DRI" missing on display üzenetre emlékszem amikor még volt kép is, tehát nem azzal lesz a gond.

(#7) totyax


totyax
aktív tag

Helyreállt az eredeti állapot, tehát működik, x264-et gyorsít (kb 10x), viszont az mpeg4 nagyon nagy CPU-t zabál.

Kínlódik az mplayer tehát:
VIDEO: [XVID] 528x384 12bpp 25.000 fps 1130.0 kbps (137.9 kbyte/s)
Clip info:
Software: FairUse Wizard - http://fairusewizard.com
ID_CLIP_INFO_NAME0=Software
ID_CLIP_INFO_VALUE0=FairUse Wizard - http://fairusewizard.com
ID_CLIP_INFO_N=1
ID_FILENAME=...valami.avi
ID_DEMUXER=avi
ID_VIDEO_FORMAT=XVID
ID_VIDEO_BITRATE=1129968
ID_VIDEO_WIDTH=528
ID_VIDEO_HEIGHT=384
ID_VIDEO_FPS=25.000
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=85
ID_AUDIO_BITRATE=160000
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_LENGTH=4515.80
ID_SEEKABLE=1
ID_CHAPTERS=0
libva: libva version 0.31.0-sds6
Xlib: extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
libva: va_openDriver() returns 0
Couldn't open video filter 'ass'.
ASS: cannot add video filter
[ass] Init
[ass] Updating font cache
=================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[VD_FFMPEG] VA API accelerated codec.
Unsupported PixelFormat 61
[VD_FFMPEG] Trying pixfmt=1.
Movie-Aspect is undefined - no prescaling applied.
VO: [vaapi] 528x384 => 528x384 MPEG-4 VA-API Acceleration
[vo_vaapi] Using 1:1 VA surface mapping
FATAL: Cannot initialize video driver.
Unsupported PixelFormat 61
[VD_FFMPEG] Trying pixfmt=0.
Unsupported PixelFormat 61
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[VD_FFMPEG] Trying pixfmt=2.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[VD_FFMPEG] Trying pixfmt=3.
Movie-Aspect is undefined - no prescaling applied.
VO: [vaapi] 528x384 => 528x384 Planar YV12
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)

Egyébként te a 64 bites változatot próbálod, ez különbség. Megnéznéd hogy a sima mpeg4-es videók neked mit csinálnak?
Mellesleg az XvBA leírásában az van hogy h264 és WMV9-et támogat csak... Ha így van, akkor jó lenne beállítani valahogy, hogy a GPU-t csak az x264 használja. De hogyan :)

(#8) frescho válasza totyax (#7) üzenetére


frescho
addikt

Probald meg az mplayert a vaapi kapcsolok (-vo vaapi -va vaapi) nelkul. Akkor is eszi a CPU-t?

Lejatszas kozben a kovetkezoket futtasd le. Az elso parancs kimenetebol eleg a masodik, harmadik statisztika.

mpstat -P ALL 10 10
grep MHz /proc/cpuinfo

https://frescho.hu

(#9) frescho válasza frescho (#8) üzenetére


frescho
addikt

Ami kimaradt:

Probald ki vapi-val es nelkule is ugyanannal a filmenl, ha lehet ugyanannal a reszletnel.

https://frescho.hu

(#10) totyax válasza frescho (#8) üzenetére


totyax
aktív tag

Probald meg az mplayert a vaapi kapcsolok (-vo vaapi -va vaapi) nelkul. Akkor is eszi a CPU-t?

Helló. Nyilván az mpeg4 lejátszásra vonatkozik.

Ezt meg sem kell néznem, mert próbáltam már. Ha nincs -vo vaapi -va vaapi akkor még eszi, a kimeneti videó meghajtót is át kell állítanom másra, ekkor az mpeg4 videó terhelése normális lesz. Viszont attól hogy a videó kimenet vaapi, a kapcsolók nélkül nincs x264 gyorsítás.

Lejatszas kozben a kovetkezoket futtasd le. Az elso parancs kimenetebol eleg a masodik, harmadik statisztika.

3-adik statisztika:

Linux 2.6.32-22-generic (desktop) 2010-06-26 _i686_ (2 CPU)

03.38.17 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03.38.27 all 45,18 0,00 7,34 0,10 0,10 0,00 0,00 0,00 47,28
03.38.27 0 6,61 0,00 3,60 0,00 0,20 0,00 0,00 0,00 89,59
03.38.27 1 83,65 0,00 10,97 0,20 0,00 0,00 0,00 0,00 5,18

Kétmagos CPU-ról van szó, tehát ez a 45.18% majdnem egy teljes mag full terhelése. Vicces egy xvidtől :)

A következő parancs eredménye:

cpu MHz : 3199.785
cpu MHz : 3199.785

Probald ki vapi-val es nelkule is ugyanannal a filmenl, ha lehet ugyanannal a reszletnel.

A részlet nem igazán számít, bármelyik mpeg4-es filmbe belejátszok, láthatóan ilyen cpu terhelés következik. Viszont az smplayer megjegyzi hol jártam, tehát a részlet hasonló.

Oké, akkor -vo vaapi -va vaapi töröl, és a kimenet átállít mondjuk xv-re, és mpeg-4-es videó.

3-adik statisztika:

Linux 2.6.32-22-generic (desktop) 2010-06-26 _i686_ (2 CPU)

03.45.42 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03.45.52 all 5,01 0,00 2,93 0,10 0,00 0,00 0,00 0,00 91,96
03.45.52 0 4,89 0,00 2,99 0,20 0,10 0,00 0,00 0,00 91,82
03.45.52 1 5,04 0,00 2,77 0,00 0,00 0,00 0,00 0,00 92,19

cpu MHz : 3199.785
cpu MHz : 3199.785

Kösz :)

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.