Kanotix - Streaming-Server mit Xine-Plugin für Client mit Xine-Player
Vorbemerkungen
Die Modell-Installation des Streaming-Servers mit Xine-Plugin für Clients mit Xine-Player setzt eine erfolgreiche Installation der aktuellen Kanotix-Distribution auf Festplatte voraus. Die Anleitung ist mehrfach erfolgreich auf unterschiedlichen Systemen getestet worden.
Für die clevere Lösung: thanks to peter_weber69 (vgl. http://mitglied.lycos.de/peterweber69/ ).
Benötigte Installationszeit (je nach Rechnergeschwindigkeit):
- Kanotix (ca. 0,5 - 1 h)
- VDR-Server (ca. 0,5 - 1 h)
- Client (ca. 1 h für Kanotix + Xine-Player)
Kanotix ist ein Knoppix mit den aktuellsten Libraries des Debian-Zweiges "Sid" (im Gegensatz zu Knoppix, das stärker auf "Sarge" aufbaut).
Es unterstützt von Haus aus folgende Features:
neueste Version hier
- Kernel 2.6.11.7 mit einigen Patches
- Bessere Kompression durch Squashfs
- ACPI und DMA sind standardmässig an (kann mit "acpi=off" bzw. "nodma" deaktiviert werden)
- i586 Optimierung (des Kernels) - nicht für ältere CPUs
- 128 MB RAM minimum, 256 MB RAM empfohlen
- Neu: Korrigiertes GRUB um GRUB Error 21 zu verhindern
- Neu: Verbesserter SCSI CDROM Boot (mittels bootscsi Cheatcode)
- Neu: Unionfs support (über unionfs Cheatcode aktivierbar)
- Neu: NVIDIA und RADEON Scripte funktionieren im Livemode (mit sudo install-nvidia|radeon-debian.sh)
- AVM Fritz!Card DSL Support (PCI und USB)
- Fritz!Card PCI/USB CAPI Support - Bitte CAPI ISDN Conf nehmen!
- Speedtouch USB Support (für PPPoE/A)
- Eagle USB DSL Support (z. B. AT-AR215)
- Neu: KDE 3.4.0
- Neu: Kaffeine 0.6 mit DVB Support
- OpenOffice 1.1.3 (Debian Version)
- GRUB Boot Manger zum Start der CD - Ideal auch für Rettungszwecke im Kommandozeilenmode mit grafischem Menü (US Tastaturlayout!) - Neue Variante im no-emulation Mode!
- Memtest86+ integriert ins Extra Menu von GRUB
- ALSA 1.08 Support -> geht von CD wie direkt nach HD Install!
- AMD64/Centrino/P4 Mobile/Athlon XP Mobile Erkennung und automatischer Start von Powernowd
- ALPS und Synaptics Touchpaderkennung
- Hibernate Support bei Swapfile mit min. 1.5x RAM Grösse (über get-resume-partition.sh nach HD Install aktivierbar)
- NTFS Support für Poor Man Install
- fromiso=PATH/TO/KANOTIX*.iso Cheatcode für PMI, gut in Kombination mit fromhd=/dev/hdXY (* wird unterstützt!)
- Kein Kernelsource mehr nötig, um NVIDIA, ATI und viele andere Kernelmodule zu kompilieren
- Sehr viele Detailverbesserungen, identisches Look+Feel mit 64 Bit Edition
- Captive kann die benötigten Treiber aus dem Netz laden
Die DVB-Treiber sind außerdem schon installiert - mit den vorinstallierten Fernsehprogrammen sollte sich bereits Fernsehen lassen.
Kanotix auf Festplatte installieren
Hierzu bei www.kanotix.org das aktuelle ISO-File herunterladen, auf CD brennen und nachlesen, wie Kanotix ganz einfach mit dem kanotix-installer installiert werden kann.
hilfreiche Links:
Kanotix-CD brennen unter Linux und Windows
Versuch einer einfachen Installationsanleitung für Kanotix
Installation und Booten-Übersicht
kanotix wiki
kanotix Forum
Internetzugang herstellen
Wir brauchen den Internetzugang zum Herunterladen der Source-Pakete. Wer auf dem VDR-Server keinen Zugang hat, der kann die Pakete natürlich auch auf einem anderen Client herunterladen und auf den VDR-Server kopieren.
SSH-Server starten
Am einfachsten installiert man über eine ssh-Shell remote (ist aber nicht erforderlich). Hierzu den ssh-Deamon starten, da er aus Sicherheitsgründen nicht aktiviert ist. Im Menü geht das ganz einfach über: KANOTIX | Sysveditor. Man muss lediglich das Protokoll ssh mit der Maus in die gewünschten Runlevel 3 und 5 ziehen, loslassen und abspeichern. Mit Doppelklick auf das Protokollsymbol ssh in der linken Spalte lässt sich der ssh-Deamon auch gleich starten.
Standardarbeitsverzeichnis festlegen
Bitte das Standardarbeitsverzeichnis beachten: /usr/local/src/
cd /usr/local/src
DVB-Treiber herunterladen und installieren
cd /usr/local/src wget http://www.linuxtv.org/downloads/linuxtv-dvb-1.1.1.tar.bz2 tar xvfj linuxtv-dvb-1.1.1.tar.bz2 mv linuxtv-dvb-1.1.1 DVB
Anm: Man erhält Unterverzeichnis mit DVB-Sourcecode. Die DVB-Treiber müssen nicht mehr kompiliert werden, da schon von Haus aus (s.o.) vorhanden. Sie werden lediglich zum Kompilieren der anderen Pakete benötigt.
xine-lib_for_network herunterladen und installieren
cd /usr/local/src wget http://mitglied.lycos.de/peterweber69/xine/xine-lib_for_xine-0.7.3-network.tar.gz tar xvfz xine-lib_for_xine-0.7.3-network.tar.gz cd /usr/local/src/xine-lib mcedit /usr/local/src/xine-lib/src/vdr/input_vdr.c # define VDR_SERVER_ADDRESS "192.168.0.230" ./autogen.sh --prefix=/usr # Anmerkung: --disable-opengl nur bei diesem Fehler verwenden! # video_out_opengl.c:86: error: conflicting types for `glXGetProcAddressARB' ./autogen.sh --prefix=/usr --disable-opengl make make install ldconfig
Anm.: Hier ist 192.168.0.230 durch die IP des eigenen VDR-Servers zu ersetzen (auch im Client!), d.h. die IP des Servers wird in dieser Lösung fest einkompiliert; es gibt aber bereits einen Patch, der eine dynamische Zuweisung erlaubt.
xine-ui_for_network herunterladen und installieren
cd /usr/local/src wget http://mitglied.lycos.de/peterweber69/xine/xine-ui_for_xine-0.7.3-network.tar.gz tar xvfz xine-ui_for_xine-0.7.3-network.tar.gz cd /usr/local/src/xine-ui ./autogen.sh --prefix=/usr --enable-vdr-keys make make install ldconfig
VDR-Paket herunterladen und installieren
cd /usr/local/src wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.3.23.tar.bz2 tar xvfj vdr-1.3.23.tar.bz2 mv vdr-1.3.23 VDR wget http://home.vr-web.de/~rnissl/vdr-1.3.23-dvbplayer3.patch cd VDR patch -p0 < /usr/local/src/vdr-1.3.23-dvbplayer3.patch
VDR kompilieren
make VFAT=1 OPTIMIZE_STRIP_AUDIO_PACKETS=1 HDTV_SUPPORT=1
Anm.: Hier beachten, dass für default-Installatinen des VDR in aller Regel weitere Parameter benötigt werden (wie z.B. für Lirc); vgl. hierzu "normale" Installationsanleitungen. VFAT=1 wenn man FAT(32) Partitionen verwendet
xine-plugin herunterladen und installieren
cd /usr/local/src wget http://mitglied.lycos.de/peterweber69/xine/xine-0.7.3-network.tar.gz tar xvfz xine-0.7.3-network.tar.gz mv xine-0.7.3 /usr/local/src/VDR/PLUGINS/src/xine
Plugins kompilieren
cd /usr/local/src/VDR make plugins
VDR probestarten & runvdr anpassen
cd /usr/local/src/VDR mcedit runvdr
Im Editor sodann folgende Zeilen wie folgt auskommentieren:
========================================== #DVBDIR="../DVB/driver" # Load driver if it hasn't been loaded already: #if [ $LSMOD -eq 0 ] ; then # (cd $DVBDIR; make insmod) # fi ==========================================
Exportieren des Kerneltyps
export LD_ASSUME_KERNEL=2.4.1
Anm.: Dieser Befehl wird später einfach in ein runscript integriert.
Kopieren der Config-Dateien nach /video
mkdir /video # Falls /video Directory nicht existiert cd /usr/local/src/VDR/ cp sources.conf channels.conf diseq.conf ca.conf keymacros.conf svdrphosts.conf /video
Verzeichnis /data nach /video/plugins kopieren
cp /usr/local/src/VDR/PLUGINS/src/xine/data/* /video/plugins/xine/
Probestarten
Hiermit sollte sich der VDR bereits über folgenden Befehl starten lassen:
cd /usr/local/src/VDR/ /usr/local/src/VDR/runvdr "-P'xine -r'"
Anm.: Eventuell muss zuvor nochmals der Kerneltyp exportiert werden ("export LD_ASSUME_KERNEL=2.4.1"). Diese Aufgabe übernehmen später die üblichen runscripte.
Xine-Player auf dem Client installieren
Der Client benötigt die xine-lib und das xine-ui. Am sichersten ist es, Kanotix auch auf dem Client zu installieren und die beiden Pakete wie oben beschrieben zu installieren. Mehr wird nicht benötigt. Der Aufruf erfolgt sodann mit folgendem Befehl:
xine vdr:/tmp/vdr-xine/stream#demux:mpeg_pes
Oder einfach die Taste VDR am Xine-Player betätigen - dazu haben wir sie ja einkompiliert ;-)
weitere Anpassungen des VDR-Servers
Dieser Abschnitt ist für das Funktionieren des Streamings nicht notwendig bzw. gehört zum allgemeinen Vorgehen bei Fußweg-Installationen - wird aber in der nächsten Zeit nach Möglichkeit (zumindest in exemplarischer Weise) ergänzt.
VDRAdmin installieren
apt-get install libcompress-zlib-perl wget http://www.linvdr.org/download/vdradmin/vdradmin-0.96.tar.gz tar xvfz vdradmin-0.96.tar.gz mv vdradmin-0.96 vdradmin cd vdradmin touch vdradmind.conf ./vdradmind.pl -c # What's your VDR hostname (e.g video.intra.net)? [localhost]: # What's the port VDR listen to SVDRP query's? [2001]: # On which address should vdradmin listen (0.0.0.0 for any)? [0.0.0.0]: # On which port should vdradmin answer? [8001]: # Username? [linvdr]: admin # Password? [linvdr]: ************ # Config file sucessfull written.