XBMC es XvBA azaz Linuxos HD video lejátszás AMD alapon

Miután sikerült beizzítani az ATI HD videó lejátszást (XvBA), nekifutottam az XBMC és vaapi patches MPlayer összeházasításához.

Két lehetőségem volt. Az első, hogy repositoriból feltolom a Lucid alá az XBMC-t, illetve saját magam is lefordíthattam. Én a második utat választottam. Első lépésként letöltöttem az XBMC fordításhoz szükséges csomagokat:

cd ~/vaapi
sudo apt-get install subversion
sudo apt-get install subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-openssl-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libwavpack-dev libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-2-dev gettext

Második lépésem a forráskód letöltése és lefordítása volt. Az eredményt a user home könyvtárába telepítettem a vaapi/xbmc alá.

svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk
cd trunk
./bootstrap
./configure --prefix=/home/user/vaapi/xbmc
make
make install
~/vaapi/xbmc/bin/xbmc

Az sikeres indítás és kilépés után a harmadik lépés a már meglévő vaapi MPlayer integrálása volt. két megoldás létezik. Az xbmc howto két megoldást említ. Nekem a második, playercorefactory.xml-re épülő jobban tetszett. Úgy állítottam be, hogy az mkv kiterjesztésű állományokat az MPlayer játssza le, más esetekben az eredeti programkód felel a megjelenítésért. Ehhez a <players> és a <rules> tagek alá szúrtam be két kiegészítést. Az MPlayert elláttam pár kapcsolóval is, a legfontosabbak: full screen, double buffering, vaapi dekóder, 2MB cache. Fontos, hogy a teljes elérési útvonalat meg kell adni, nem felel meg neki a ~/vaapi...

vi ~/vaapi/xbmc/share/xbmc/system/playercorefactory.xml

<players> alá:
(M)<!-- MPlayer with vaapi -->
<player name="MPlayer" type="ExternalPlayer" audio="false" video="true">
<filename>/home/user/vaapi/mplayer-vaapi-20100224/mplayer-vaapi/mplayer</filename>
<args>-fs -double -noaspect -vo vaapi -va vaapi -cache 2000 -channels 2 "{1}" </args>
<hidexbmc>false</hidexbmc>
</player>(/M)

<rules name="system rules"> alá:
(M)<rule filename=".*mkv" player="MPlayer"/>(/M)

A tesztek alapján a 800MHz-es Phenom egy magját kb 25-30% között terheli egy mozgalmas full HD sample. Ha BD lemezeink merevlemezre felvitelénél a fájl nevét valamilyen kötött formátumban adjuk meg, akkor további szabályok is definiálhatók, ugyanis a filename paraméter standard regexpeket képes kezelni.

Érdemes figyelni arra, hogy az MPlayer elindításához kis időre van szükség, a gombok össze-vissza nyomogatásával confuse állapotba lehet hozni a gépet. Persze ezt nehéz elmagyarázni kiskorú rokonainknak. :N

Tovább a fórumba.