DRAFT

ACHTUNG: hier handelt es sich nur um eine Vorabversion der howto...


Funktionsweise “Xbox als Streaming-Client für den vdr”:

Da keine DVB-Hardware in die Xbox eingebaut werden kann, müssen wir den vdr dort mit dem streamdev-Plugin als "Empfänger" sowie dem xine-Plugin als "Ausgabegerät" installieren. Beim Starten des vdr holt dieser sich die Darten (das aktuelle TV-Programm des gerade gestreamten Kanals) vom vdr-Server. Statt diese über eine DVB-Karte oder eine DXR3 auszugeben (welche in der xbox ja nicht vorhanden ist), sorgt das xine-Plugin dafür, daß diese TV-Ausgabe in Form einen temporären Cache-Files geschieht. Dieses Cache-File findet man, sofern die Standart-Einstellungen nicht verändert wurden, unter /tmp/vdr-xine/stream.
Dieses File spielt man nun also einfach mit dem xine-Player ab, und schon hat man ein TV-Bild...

Installation:

Diese Howto bezieht sich auf eine Xebian (1.0.1)- Installation, die bereits auf der Xbox installiert sein sollte. Im Netz finden sich sehr gute Howto's, die dies beschreiben. Gute Anlaufstellen hierfür sind z.B. www.xbox-linux.de oder www.xbox-sceene.com

Zunächst würde ich erstmal eine eventuell vorhandene xine-Installation deinstallieren, damit sich diese mit der neuen, gepatchten, Version, die hier installiert wird, nicht in die Quere kommt.

apt-get remove xine-lib
apt-get remove xine-ui

Dann geht's zum Sourcen-Verzeichnis und dann werden die Sources aus dem cvs geholt: (sollte der Befahls cvs nicht gehen, diesen bitte nachinstallieren mit apt-get install cvs)

cd /usr/local/src

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net/cvsroot/xine co xine-lib
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net/cvsroot/xine co xine-ui

Jetzt mit mkdir /downloads ein Verzeichnis anlegen, in das der quellcode runtergeladen wird. Die folgenden Programme werden benötigt: (bitte in /downloads speichen)

vdr-1.2.6
dvb-treiber (ich habe den vom 18.11.03 benutzt)
streamdev-plugin (version ist abhängig, welche auf dem server läuft, ich nutze die 0.3.1)
xine-plugin 0.1.2

Jetzt wird erstmal alles entpackt, was wir so brauchen:

cd /usr/local/src/
tar xjvf /downloads/vdr-1.2.6.tar.bz2
tar xjvf /downloads/linux-dvb.2003-11-08.tar.bz2

ln -s vdr-1.2.6 VDR
ln -s linux-dvb.2003-11-08 DVB

cd VDR/PLUGINS/src
tar xvzf /downloads/vdr-streamdev-0.3.1.tgz
tar xvzf /downloads/vdr-xine-0.1.2.tgz

ln -s streamdev-0.3.1 streamdev
ln -s xine-0.1.2 xine

cd /usr/local/src/
mkdir /video
cp VDR/*.conf /video

Da ja, wovon ich ausgehe, bereits irgenwo im eigenen Netz ein vdr mit streamdev-server läuft, sollte man die channels.conf dieses vdr's nach /video auf die xbox kopieren.

Weiterhin brauchen wir zum kompilieren des vdr auf der xbox noch die libjpeg. Folgende hab ich installiert (weiß aber nicht, ob beide wirklich nötig sind)

libjpeg-mmx-dev
libjpeg-mmx-progs

Jetzt wird der Source-Code der xine-lib erstmal gepatcht. Der eigentlich Patch wird vom xine-plugin des vdr mitgebracht. Den kopieren wir uns erstmal in unseren zuvor vom cvs runtergeladenen sourcecode der xine-lib und patchen diesen dann:

cp /usr/local/src/VDR/PLUGINS/src/xine/input-plugin/xine-lib.patch /usr/local/src/xine-lib
cd /usr/local/src/xine-lib
cat xine-lib.patch | patch -p1

So, das wars soweit erstmal mit patchen. Jetzt wird das input-Plugin für xine, das ebenfalls vom xine-Plugin (vdr) mitgebracht wird, erstmal an die richtige Stelle kopiert:

cp /usr/local/src/VDR/PLUGINS/src/xine/input-plugin/input* /usr/local/src/xine-lib/src/input

Hierbei werden 2 Dateien kopiert. Eine davon (input_vdr.c) müssen wir u.U. nochmal bearbeiten:

cd /usr/local/src/xine-lib/src/input
vi input_vdr.c

Dort gibt es ganz am Ende der Datei den Abschnitt:

plugin_info_t xine_plugin_info[] = {
  /* type, API, "name", version, special_info, init_function */
  { PLUGIN_INPUT, 14, "vdr", XINE_VERSION_CODE, NULL, init_class },
  { PLUGIN_NONE, 0, "", 0, NULL, NULL }
};

In der hier abgebildeten 3. Zeile "{ PLUGIN_INPUT, 14, "vdr", XINE_VERSION_CODE, NULL, init_class },"  steht die Zahl 14. Diese Zahl 14 muß dort auch stehen. In einigen Versionen ist hier wohl noch die Zahl 13. Diese muß ersetzt werden durch die 14. Also, steht in Ihrer Datei die 14 bereits drin, alles paletti, nichts verändern. Steht die 13 drin, bitte in 14 abändern und die Datei speichern.

Jetzt wird xine kompiliert:

cd /usr/local/src/xine-lib
./autogen.sh
make
make install
ldconfig

cd ../xine-ui
./autogen.sh
make
make install
ldconfig

Beides wird eine ganze Weile in anspruch nehmen......

Danach wird der vdr und die plugins kompiliert:

cd /usr/local/src/VDR
make
make plugins

So, das war's eigentlich schon.
Zum Starten jetzt eine Konsole aufmachen und den vdr z.B. wie folgt starten:

cd /usr/local/src/VDR
./vdr -Pxine -Pstreamdev-client

Dann eine neue Konsole öffnen und xine wie folgt starten:

xine vdr://tmp/vdr-xine/stream#demux:mpeg_pes

 

XBox als Streaming-Client

by Rob. C.
somebody101
rob@co-pro.de