Ubuntu HD VDR mittels Xine und VAAPI - Xine mit VAAPI

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Library)
K (Library)
 
Zeile 33: Zeile 33:
 
  git clone git://source.ffmpeg.org/ffmpeg
 
  git clone git://source.ffmpeg.org/ffmpeg
 
  cd ffmpeg
 
  cd ffmpeg
  ./configure --prefix=/usr --enable-gpl --enable-libxvid --enable-postproc --enable-avfilter \
+
  ./configure --prefix=/usr/local --enable-gpl --enable-libxvid --enable-postproc --enable-avfilter \
 
             --enable-shared --enable-libx264 --enable-nonfree --enable-libfaac --enable-libmp3lame \
 
             --enable-shared --enable-libx264 --enable-nonfree --enable-libfaac --enable-libmp3lame \
 
             --enable-version3 --enable-postproc --enable-pthreads --enable-x11grab
 
             --enable-version3 --enable-postproc --enable-pthreads --enable-x11grab

Aktuelle Version vom 31. März 2013, 16:35 Uhr

Inhaltsverzeichnis

[Bearbeiten] Installation "zu Fuß"

[Bearbeiten] Bibliotheken

[Bearbeiten] lib-x264

[Bearbeiten] Voraussetzungen

sudo apt-get install yasm

[Bearbeiten] Library

cd /data/soft
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-shared --enable-pic --prefix=/usr/local && make
sudo make install
sudo ldconfig

[Bearbeiten] Check

Vorhandene Vesion:

-rw-r--r-- 1 root root 755104 2010-11-10 09:05 /usr/lib32/libx264.so.106
lrwxrwxrwx 1 root root 14 2011-06-12 11:36 /usr/lib32/libx264.so -> libx264.so.106

wird ersetzt durch

/usr/lib/ ... todo ...

[Bearbeiten] ffmpeg

[Bearbeiten] Voraussetzungen

sudo apt-get install libfaac-dev libmp3lame-dev libxvidcore-dev

[Bearbeiten] Library

cd /data/soft
git clone git://source.ffmpeg.org/ffmpeg
cd ffmpeg
./configure --prefix=/usr/local --enable-gpl --enable-libxvid --enable-postproc --enable-avfilter \
            --enable-shared --enable-libx264 --enable-nonfree --enable-libfaac --enable-libmp3lame \
            --enable-version3 --enable-postproc --enable-pthreads --enable-x11grab
make
sudo make install
sudo make install-libs
sudo ldconfig

[Bearbeiten] Check

Vorhandene Versionen in /usr/lib wurden ersetzt, beispielsweise:

lrwxrwxrwx 1 root root      20 2011-06-12 13:21 /usr/lib/libavcodec.so -> libavcodec.so.53.7.0
lrwxrwxrwx 1 root root      21 2011-06-12 11:36 /usr/lib/libavcodec.so.52 -> libavcodec.so.52.72.2
-rw-r--r-- 1 root root 5031064 2011-03-22 16:55 /usr/lib/libavcodec.so.52.72.2
lrwxrwxrwx 1 root root      20 2011-06-12 13:21 /usr/lib/libavcodec.so.53 -> libavcodec.so.53.7.0
-rwxr-xr-x 1 root root 6154984 2011-06-12 13:21 /usr/lib/libavcodec.so.53.7.0

[Bearbeiten] xine-lib-1.2-vaapi

[Bearbeiten] Voraussetzungen

sudo apt-get install libmpcdec-dev libpostproc-dev libavcodec-dev libcdio-dev libvcdinfo-dev \
libxinerama-dev zlib1g zlib1g-dev libtool libglu1-mesa-dev libgtk2.0-dev libflac-dev \
libwavpack-dev libsmbclient-dev libmng-dev libmad0-dev libdvdnav-dev libdvdread-dev w3m \
xmlto librsvg2-bin libgnomevfs2-dev libdirectfb-dev libmagick9-dev automake autoconf autopoint liblircclient-dev \
libxcb-shape0-dev libmodplug-dev libjack-jackd2-dev libxcb-xv0-dev libart-2.0-dev gettext libasound2-dev

[Bearbeiten] Library

cd /data/soft
git clone git://github.com/huceke/xine-lib-vaapi.git xine-lib-vaapi
cd xine-lib-vaapi
git checkout vaapi
./autogen.sh --prefix=/usr --disable-dxr3 --enable-w32dll --with-w32-path=/usr/lib/win32
./autogen.sh --prefix=/usr --disable-dxr3
make
sudo make install
sudo ldconfig

[Bearbeiten] Visualisierung

[Bearbeiten] xine-ui bauen

[Bearbeiten] Voraussetzungen

sudo apt-get install libcurl4-gnutls-dev libreadline-dev automake1.9 libxtst-dev libxxf86vm-dev \
libgpmg1-dev x11proto-core-dev
cd /data/soft
cvs -z3 -d:pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine co xine-ui
cd xine-ui
./autogen.sh
make
sudo make install

Ggfs gibt es hier in Zukunft neuere Versionen:

hg clone http://hg.debian.org/hg/xine-lib/xine-ui

[Bearbeiten] xine-ui testen

cd src/xitk
./xine

Ein paar vertrauenerweckende Meldungen ziehen über den Bildschirm und der Player zeigt sein Gesicht:

Dies ist xine (X11 gui) - Ein freier Video-Player v0.99.6cvs.
(c) 2000-2007 Das xine Team.
libva: libva version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0
libva: libva version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0

[Bearbeiten] xine-ui Konfiguration für vdr

cd ~/.xine

Hier liegt die xine-ui Konfigurationsdatei "config".

Es folgt eine Beispielkonfiguration, die noch den lokalen Gegebenheiten anzupassen ist (insbedondere Audio):

Ubuntu HD VDR mittels Xine und VAAPI - xine Plugin - config

[Bearbeiten] Installation über Pakete (Ubuntu Natty)

[Bearbeiten] Hinweis

Die hier zur Verfügung gestellten Pakete sind nicht tagesaktuell aus den einzelnen Sourceständen erstellt. Wichtige Änderungen in den einzelnen Libraries werden natürlich so schnell es geht in neue Pakete verpackt. Es sind momentan nur Pakete für Ubuntu Natty Narwhal vorhanden, bei hinreichendem Bedarf kann ich aber auch noch für andere Ubuntu Versionen Pakete erstellen. VDR wird nicht aktualisiert, lediglich das vdr-plugin-xineliboutput wird passend für den bei Natty mitgelieferten vdr-1.7.17 neu übersetzt. Zur Ausgabe nutze ich vdr-sxfe, welches im Paket xineliboutput-sxfe enthalten ist. Alle abhängigen Pakete (wie libxine2 etc.) werden bei der Installation automatisch berücksichtigt.

[Bearbeiten] Repository (Ubuntu Natty 64Bit)

echo "deb http://repo.vdreceiver.de/intel natty main" > /etc/apt/sources.list.d/repo.vdreceiver.de.list

[Bearbeiten] GPG Key

gpg --keyserver pool.sks-keyservers.net --recv-keys C3B19574
gpg --armor --export C3B19574 | apt-key add -

[Bearbeiten] Installation

sudo apt-get update
sudo apt-get install vdr-plugin-xineliboutput xineliboutput-sxfe
(Optional) sudo apt-get install xine-ui

[Bearbeiten] Bugs und Anregungen

Für Bugs und Anregungen zu den verwendeten Libraries bin ich vermutlich nicht der passende Ansprechpartner, für Hinweise auf Fehler in den Paketen könnt ihr mich aber gerne direkt kontaktieren.