OpenSUSE VDR DVB-S2 - xine - Teil4: xine

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Installation ffmpeg)
(Installation ffmpeg)
Zeile 3: Zeile 3:
 
  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-cvs-26-03-2008
 
  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-cvs-26-03-2008
 
  cd /tmp/
 
  cd /tmp/
  cp -a /data/installfiles/vdr/ffmpeg-cvs-03-02-2008/ .
+
  cp -a /data/installfiles/vdr/ffmpeg-cvs-26-03-2008/ .
  cd ffmpeg-cvs-03-02-2008/
+
  cd ffmpeg-cvs-26-03-2008/
 
  chmod +x configure
 
  chmod +x configure
 
  ./configure --enable-shared --enable-gpl --enable-postproc --enable-liba52 --enable-libmp3lame --enable-libvorbis --enable-pthreads --arch=x86_64 --cpu=k8
 
  ./configure --enable-shared --enable-gpl --enable-postproc --enable-liba52 --enable-libmp3lame --enable-libvorbis --enable-pthreads --arch=x86_64 --cpu=k8
 
  make && make install && ldconfig
 
  make && make install && ldconfig
 
  cd /tmp/
 
  cd /tmp/
  rm -r ffmpeg-cvs-03-02-2008/
+
  rm -r ffmpeg-cvs-26-03-2008/
 
+
===Mögliche Probleme und Lösungsvorschläge===
+
* configure mit den zusätzlichen Optionen --extra-ldflags=-Wl,-Bsymbolic ausführen. Damit läuft die Kompilation von ffmpeg durch.
+
* ''relocation R_X86_64_PC32 against `ff_pw_20' can not be used when making a shared object; recompile with -fPIC''<br/><b>Tritt nur auf der AMD 64 Plattform auf</b>, vgl. http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3 <br/>Dieses File war bereits als -fPIC kompiliert, deshalb hat ein weiteres Setzen nicht geholfen. Ich habe inzwischen mehrere Lösungen gefunden:
+
** http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-October/016555.html <br/>Die betroffenen Variablen als static markieren.
+
** http://sourceware.org/ml/binutils/2006-09/msg00151.html <br/>Die betroffenen Variablen als hidden markieren. <br/> Mit dieser Version konnte ich zumindest kompilieren.
+
 
+
Das sieht dann so aus:
+
$ vi libavcodec/i386/dsputil_mmx.h
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_3;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_4;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_5;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_8;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_15;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_16;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_20;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_32;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_42;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_64;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_96;
+
extern const uint64_t __attribute__((visibility("hidden"))) ff_pw_128;
+
  
 
==Installation xine==
 
==Installation xine==

Version vom 26. März 2008, 17:22 Uhr

Inhaltsverzeichnis

Installation ffmpeg

cd /data/installfiles/vdr
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-cvs-26-03-2008
cd /tmp/
cp -a /data/installfiles/vdr/ffmpeg-cvs-26-03-2008/ .
cd ffmpeg-cvs-26-03-2008/
chmod +x configure
./configure --enable-shared --enable-gpl --enable-postproc --enable-liba52 --enable-libmp3lame --enable-libvorbis --enable-pthreads --arch=x86_64 --cpu=k8
make && make install && ldconfig
cd /tmp/
rm -r ffmpeg-cvs-26-03-2008/

Installation xine

vdr-xine Plugin vorbereiten

cd /data/installfiles/vdr
wget http://home.vrweb.de/~rnissl/vdr-xine-0.8.1.tgz
cd /usr/local/src/vdr/PLUGINS/src
tar -xzf /data/installfiles/vdr/vdr-xine-0.8.1.tgz
mv xine-0.8.1/ xine
mkdir -p /etc/vdr/plugins/xine
cd /etc/vdr/plugins/xine/
cp -a /usr/local/src/vdr/PLUGINS/src/xine/data/* .

Link für den Xineplayer erstellen

cd /usr/local/src/vdr/PLUGINS/src/xine
ln -s $(pwd)/xineplayer /usr/local/bin/xineplayer

xine-lib installieren

cd /data/installfiles/vdr
hg clone http://hg.debian.org/hg/xine-lib/xine-lib-1.2
mv xine-lib-1.2/ xine-lib-cvs-03-02-2008
cd /tmp/
cp -a /data/installfiles/vdr/xine-lib-cvs-03-02-2008 .
cd xine-lib-cvs-03-02-2008/
./autogen.sh --with-external-ffmpeg --disable-dxr3 && make && make install && ldconfig
cd /tmp/
rm -r xine-lib-cvs-03-02-2008/

xine-ui installieren

cd /data/installfiles/vdr
cvs -d:pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine login
cvs -z3 -d:pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine co xine-ui
mv xine-ui/ xine-ui-cvs-03-02-2008
cd /tmp/
cp -a /data/installfiles/vdr/xine-ui-cvs-03-02-2008 .
cd xine-ui-cvs-03-02-2008/
./autogen.sh --enable-vdr-keys && make && make install
cd /tmp/
rm -r xine-ui-cvs-03-02-2008/

vdr-xine Plugin installieren

cd /usr/local/src/vdr
make plugins

runvdr anpassen

vi /usr/local/bin/runvdr

-P'xine -r' \

starten von xine

VDR starten

/usr/local/bin/runvdr

xine starten

Achtung! Besitzer von Multi-Core-Systemen sollten den Wert des Parameters 'video.processing.ffmpeg_thread_count' in der Datei ~/.xine/config kontrollieren und ggf. manuell auf die Anzahl der verfügbaren Prozessorkerne setzen.

xine -V xv --post vdr_video --post vdr_audio --post upmix_mono "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"