|
|
Zeile 1: |
Zeile 1: |
− | ==Beschreibung==
| |
− | '''Autor:''' Reinhard Nissl
| |
| | | |
− | Beschreibung: http://www.thunderbolt2000.de/index.php?content=vdr-sw-plugins
| |
− |
| |
− | Das Xine-Plugin ist dafür gedacht, mit einer LowBudget-DVB-Karte den VDR nutzen zu können. Normalerweise war mindestens eine Hardware-MPEG2-Decoderkarte nötig (also eine DXR3-Karte oder eine fullfeatured-DVB-Karte), wobei aber LowBudget-Karten als zusätzliche Karten zu einer solchen wunderbar eingesetzt werden konnten/können (z.B. um mehrere Aufnahmen gleichzeitig zu ermöglichen).
| |
− |
| |
− | Dank des Xine-Plugins ist es nun möglich, eine reine Software-Decodierung mit reinen LowBudget-Karten zu ermöglichen; entsprechend schnelle Hardware vorausgesetzt. LowBudget-Karten haben keinen MPEG2-Decoderchip und demzufolge kein Device für einen Hardwaredecoder (Device = Zugriffspunkt im Dateisystem auf eine Hardwarekomponente). Für die regulären Medienspieler (XawTV und Co) benötigt man aber ein solches Demuxer-Device, von dem die Daten demuxed (demultiplext) werden können. Mit einer DXR3 oder fullfeatured-DVB ist das kein Problem, da diese so ein Gerät zur Verfügung stellen.
| |
− |
| |
− | Das Xine-Plugin setzt hier an; es holt den noch nicht demultiplexten MPEG2-Datenstrom von der LowBudgetDVB-Karte und füllt die Daten in einen FIFO-Puffer, also in einen Zwischenspeicher, von dem der Xine-Medienspieler (oder andere Programme, die DVB-Daten demuxen können) die Daten wieder runternimmt und mit seinem Software-Demuxer umwandelt und als Video ausgibt.
| |
− |
| |
− | Eine alternative ist das [[Softdevice-plugin]].
| |
− |
| |
− | Auch eine Clientlösung ohne DVB (lokal) ist mit Hilfe des [[Streamdev-plugin]]s möglich.<br>
| |
− | Clientlösung Skizze zum Verständnis: [http://mitglied.lycos.de/peterweber69/ Link]
| |
− |
| |
− | ==Bilder==
| |
− | {|
| |
− | |[[Bild:xine-plugin-00.jpg|thumb|none|''Ausgabe ueber Kaffeine'']]
| |
− | |[[Bild:xine-plugin-01.jpg|thumb|none|''Ausgabe ueber Xine-ui'']]
| |
− | |}
| |
− |
| |
− | ==Hardwareanforderungen==
| |
− | Hier sind einige Beispielkonfigurationen ('''bitte ergänzen'''):
| |
− | {| border=1 cellpadding=4 cellspacing=0 style="empty-cells:show;"
| |
− | |- bgcolor=#efefef
| |
− | ! CPU@MHz / RAM
| |
− | ! Grafikkarte
| |
− | ! Last
| |
− | ! Sonstiges
| |
− | |-
| |
− | | PIII@550 / 512 || Matrox G550 mit vidix || || ruckelt bei OSD oder mit Deinterlaceing
| |
− | |-
| |
− | | Athlon@800 / 512 || ATI Radeon VE || || ruckelt bei hohen Auflösungen
| |
− | |-
| |
− | | PIII@700 / 256 || ATI Radeon 7000 || ~ 42% || Xine über Netzwerk; xv; ruckelfrei @1280x1024x24, Deinterlacing ~60% Last
| |
− | |-
| |
− | | P4@2800 / 512 || Matrox G550 || ~ 50% || ruckelt bei OSD, Deinterlaceing oder Fenstergröße
| |
− | |-
| |
− | | PII@400 / 256 || NVIDIA Geforce 4 MX 480 || || XvmC nahezu ruckelfrei, leider kein OSD; xv: kann man sich nicht ansehen
| |
− | |-
| |
− | | PII@400 / 196 || NVIDIA Geforce 4 MX 480 || ~ 60% || XvmC nahezu ruckelfrei, nur beim Ein- und Ausblenden ein kleines Stocken; Deinterlacing möglich
| |
− | |-
| |
− | | Athlon@1800 / 512 || NV Gf Ti 4200 || ~ 10% || xv-Ausgabe: ruckelfrei für DVB
| |
− | |-
| |
− | | AMD64@32bit, 1800 / 512 || NV Gf 6600 (PEG) || ~ 35% || Xv, tvtime wie in MANUAL vorgeschlagen. CPU läuft auf 1000 (Cool'n'Quiet). Nahezu perfekt
| |
− | |
| |
− | |-
| |
− | | AMD Duron@1200 / 256 || SIS740 || ~ 30% || Sehr gute Darstellung, ohne Ruckeln @ 1024x768 (via TV-Out), beim Umschalten stockt das Bild kurz, OSD OK
| |
− | |
| |
− | }
| |
− |
| |
− | ==Softwareanforderungen==
| |
− | * xine-{lib,ui}, wobei Xine-ui nicht zwingend ist, normal sollte jedes Frontend welches auf Xine-lib aufsetzt funktionieren. (die anderen Frontends werden im Moment jedoch nicht die Option '''--enable-vdr-keys''' beherschen, '''./configure --help''' weiß meistens mehr)
| |
− |
| |
− | ==Installation==
| |
− | <pre>
| |
− | ## laden der Sourcen
| |
− | cd $SOURCEDIR
| |
− | wget http://home.vr-web.de/~rnissl/xine-lib-cvs-<VERSION>.tar.bz2
| |
− | wget http://home.vr-web.de/~rnissl/xine-ui-cvs-<VERSION>.tar.bz2
| |
− | wget http://home.vr-web.de/~rnissl/vdr-xine-<VERSION>.tgz
| |
− |
| |
− | ## entpacken der Sourcen
| |
− | tar xvzf vdr-xine-<VERSION>.tgz -C $(pwd)/VDR/PLUGINS/src
| |
− | tar jxvf xine-lib-cvs-<VERSION>.tar.bz2
| |
− | tar jxvf xine-ui-cvs-<VERSION>.tar.bz2
| |
− |
| |
− | ## setzen des Symlinks
| |
− | cd VDR/PLUGINS/src
| |
− | ln -s xine-<VERSION> xine
| |
− |
| |
− | ## Kopieren der "loops"
| |
− | cd xine
| |
− | mkdir -p /etc/vdr/plugins/xine
| |
− | find . -name *.pes -exec cp -v \{} /etc/vdr/plugins/xine \;
| |
− |
| |
− | ## link für den Player
| |
− | ln -vs $(pwd)/xineplayer /usr/local/bin/xineplayer
| |
− |
| |
− | ## uebersetzen der xine-lib
| |
− | cd ../../../../xine-lib
| |
− | find $SOURCEDIR/VDR/ -name xine-lib.patch -exec patch -p1 -i \{} \;
| |
− | ./autogen.sh --prefix=/usr/local
| |
− | make
| |
− | make install
| |
− | ldconfig
| |
− |
| |
− | ## uebersetzen des frontends
| |
− | cd ../xine-ui
| |
− | find $SOURCEDIR/VDR/ -name xine-ui.patch -exec patch -p1 -i \{} \;
| |
− | ./autogen.sh --prefix=/usr/local \
| |
− | --enable-vdr-keys
| |
− | make
| |
− | make install
| |
− | </pre>
| |
− |
| |
− | Für 64-bit Prozessoren z.B. AMD64 ist das Makefile zu ändern
| |
− |
| |
− | <pre>
| |
− | - #CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual
| |
− | + #CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -fPIC
| |
− | </pre>
| |
− |
| |
− | Dannach wie gewohnt übersetzen:
| |
− |
| |
− | <pre>
| |
− | cd $SOURCEDIR/VDR
| |
− | make clean
| |
− | make <OPTIONEN> all plugins
| |
− | </pre>
| |
− |
| |
− | Nach dem ausführen der [[runvdr]] für X basiert:
| |
− |
| |
− | <pre>
| |
− | xine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"
| |
− | </pre>
| |
− |
| |
− | Entgegen jeder Aussage, gehts natürlich auch "minimal" via [[Framebuffer]]:
| |
− |
| |
− | <pre>
| |
− | fbxine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"
| |
− | </pre>
| |
− |
| |
− | ==Konfiguration==
| |
− | In der aktuellen Version des Plugins befindet sich ein Player, mit welchen man andere Formate abspielen kann.
| |
− |
| |
− | <pre>
| |
− | cp $SOURCEDIR/VDR/PLUGINS/src/mp3/examples/mplayer.sh.example /usr/local/bin/mplayer.sh
| |
− | </pre>
| |
− |
| |
− | Anpassen
| |
− |
| |
− | <pre>
| |
− | - MPLAYER="mplayer"
| |
− | + MPLAYER="/usr/local/bin/xineplayer"
| |
− | </pre>
| |
− |
| |
− | Es sollte dazu gesagt werden, dass diese Geschichte im jetzigen Stadium nur mit [[LIRC|Lirc]] funktioniert, somit auch nur im Modus '''TRADITIONAL''' des [[mplayer-plugin]]s.
| |
− |
| |
− | ==Optionen==
| |
− | {| border=1 cellpadding=2 cellspacing=0
| |
− | |-
| |
− | |bgcolor=#efefef|VDR_XINE_SET_VIDEO_WINDOW=1
| |
− | |für volle [[yaepg-plugin]] Unterstützung aktivieren
| |
− | |}
| |
− |
| |
− | ==Parameter==
| |
− | {| border=1 cellpadding=2 cellspacing=0
| |
− | |- bgcolor=#efefef
| |
− | !Parameter
| |
− | !Beschreibung
| |
− | |-
| |
− | | -i N || instance number to append to FIFO directory
| |
− | |-
| |
− | | -q || turn off debug messages on console
| |
− | |-
| |
− | | -r || turn on remote (pressing keys in xine controls VDR)
| |
− | |-
| |
− | | -s || switch to curses skin, while xine is disconnected
| |
− | |-
| |
− | | -n || enable network functions for remote xine-clients (only available if network-patch was aplied before)
| |
− | |}
| |
− |
| |
− | Die Parameter des Plugins können folgendermaßen übergeben werden.
| |
− |
| |
− | <pre>
| |
− | vdr <VDR Parameter> -P'xine <parameter>' <weitere VDR Parameter>
| |
− | </pre>
| |
− |
| |
− | Beispiel:
| |
− |
| |
− | <pre>
| |
− | vdr -P'xine -r'
| |
− | </pre>
| |
− |
| |
− | ==Tipps==
| |
− | VDR stellt das OSD auf der ersten Karte mit Decoder dar.<br>
| |
− | Mit dem Plugin gibt es ein weiteres Device (inc. Decoder), es ist immer das letzte.<br>
| |
− | Deshalb ist bei dem Betrieb mit einer (oder mehreren) FF Karten, ein höheres Device zu wählen. (das letzte verfügbare im Menü)
| |
− | AB DER VERSION 0.7.3 ist dies nicht mehr notwendig! xine-plugin schaltet automatisch um.
| |
− |
| |
− | <pre>
| |
− | Einstellungen / Setup
| |
− | DVB
| |
− | Primäres DVB Interface / Primary DVB interface
| |
− | </pre>
| |
− |
| |
− | Oder via "sed", VDR ist vorher zu beenden, einfach schauen welches wir haben (+1).
| |
− |
| |
− | <pre>
| |
− | #~ grep ^PrimaryDVB /etc/vdr/setup.conf
| |
− | PrimaryDVB = 3
| |
− | #~ sed -i "s/^PrimaryDVB.*/PrimaryDVB = 4/" /etc/vdr/setup.conf
| |
− | </pre>
| |
− |
| |
− |
| |
− | Statt des xineplayers kann auch weiterhin der mplayer benutzt werden (sogar im SLAVE-Modus).
| |
− | Hier eine minimale mplayer.sh (fuer die Benutzung unter X11 und slave):
| |
− | <pre>
| |
− | #!/bin/bash
| |
− | CMDLINE="/usr/bin/mplayer -fs -vo xv -ao oss -cache 4096 -slave -nolirc -quiet"
| |
− | DISPLAY=:0.0 $CMDLINE "$1" 2>&1 |logger
| |
− | exit
| |
− | </pre>
| |
− |
| |
− |
| |
− | Falls man Xine beim Start des VDR auch gleichzeitig öffnen möchte, dann müssen vor dem Kompilieren
| |
− | des Plugins noch folgende Zeilen im xine.c, cPluginXine::Start(void) [zwischen return false und return true]
| |
− | Quellcode eingefügt werden:
| |
− | <pre>
| |
− | pid_t cpid;
| |
− | switch (cpid = fork()){
| |
− | case 0: execl("/usr/local/bin/xine","/usr/local/bin/xine","-f","vdr:/tmp/vdr-xine/stream#demux:mpeg_pes",(char *)0);
| |
− | }
| |
− | </pre>
| |
− |
| |
− | ==Probleme==
| |
− | * keine OSD-Wiedergabe bei der Verwendung der XvMC Unterstützung, d.h. Prozessormindestanforderung beachten! [wohingegen das OSD mit XxMC läuft! [wird auch von Nvidia unterstützt], leider etwas farbverzerrt]
| |
− |
| |
− | ===SuSE spezifisch===
| |
− | Die Orginal Xine Packages von [[SuSE]] sind zu deinstallieren, da Sie für unseren Zweck vollkommen unbrauchbar sind.
| |
− |
| |
− | <pre>
| |
− | echo xine-ui xine-lib xine-devel|xargs rpm -e --nodeps
| |
− | </pre>
| |
− |
| |
− | Das dürfte im jetzigen Stadium bei jeder Distri aufs selbe hinaus laufen, da Sourcen benötigt werden.
| |
− |
| |
− | <b>(Ab?)Mit SuSe 9.3 ist der Xine-Player bereits mit VDR ablauffähig.</b>
| |
− |
| |
− | ===Debian Sarge spezifisch===
| |
− | Debian kommt mit einer recht alten Version von automake(1.4). Diese muss auf min 1.5 upgedated werden.
| |
− | Ich habe 1.9 genommen.
| |
− | Also
| |
− | # apt-get install automake1.9
| |
− | gefolgt von
| |
− | # update-alternatives --config automake
| |
− | Dann sollte es gehen.
| |
− | ==Links==
| |
− | {|
| |
− | | [1]
| |
− | | http://xinehq.de
| |
− | | Xine Projekt Homepage
| |
− | |-
| |
− | | [2]
| |
− | | http://home.vr-web.de/~rnissl
| |
− | | Homepage des Plugins
| |
− | |-
| |
− | | [3]
| |
− | | http://mitglied.lycos.de/peterweber69/xine/xine.htm
| |
− | | Xine-Plugin über Netzwerk nutzen
| |
− | |-
| |
− | | [4]
| |
− | | [[Kanotix - Streaming-Server mit Xine-Plugin für Client mit Xine-Player]]
| |
− | | Streaming-Server mit Xine-Plugin für Client mit Xine-Player
| |
− | |}
| |
− |
| |
− | [[Kategorie:Plugins]]
| |