Xbmc + Vdr

  • ACHTUNG !!!!!!!!!!! thread ist überflüssig und alt :D


    von hier :
    XBMC (xbox media center) als front-end für VDR


    XBMC ist GENIAL .... leider stellt es mich vor neue probleme (mir qualmt der kopf)


    vorweg, ich versuche den ersten post immer soweit zu editieren, dass es
    eine art howto geben soll. aber dazu brauch ich halt erstmal hilfe..... :schiel


    XBMC läuft bisher ohne zu meckern auf meiner ubuntu kiste dazu läuft vdr mit
    vdr-sxfe auch ohne meckern :)
    bisher hab ich vdr-xsfe über eine art script gestartet (2 zeilen :) )
    liegt auf desktop und kann mit doppelklick gestartet werden :schiel
    xbmc wird beim systemstart automatisch gestartet
    wie kann ich jetzt beides verbinden ?
    leider gibt es kein menupunkt vdr in xbmc :)
    und wie konfiguriert man xbmc mit lirc ?
    wie klappt das, dass lirc nur xbmc "bedient" und nicht gleichzeitig vdr ?


    ich hab jetzt schon einiges gelesen aber wenig verstanden .............
    also wer lust hat mir zu helfen :schiel




    so mal nen kleinen zwischenstand :


    BITTE ES LÄUFT NICHT PERFEKT !
    WER FEHLER FINDET KANN SICH GERNE MITTEILEN :)


    vdr (nicht vdr-sxfe) wird automatisch beim systemstart gestartet durch /etc/init.d/vdr
    xbmc wird auch automatisch gestartet -> System -> Einstellungen-> Sitzungen


    [Blocked Image: http://img171.imageshack.us/im…724/bildschirmfotobq9.png]


    also beim nächsten systemstart kommt die xbmc oberfläche in aller pracht zum vorschein...
    um nun vdr-sxfe zu starten braucht man ein script.
    bei mir heisst es halt jetzt vdr2.py aber das ist ja schnurz


    Code
    1. #!/usr/bin/python
    2. import os
    3. cmd = 'irexec --daemon /etc/lirc/lircrc'
    4. cmd = 'vdr-sxfe -f --video=xv xvdr+tcp://localhost --lirc --audio=alsa'
    5. os.system(cmd)


    das script kommt nach /home/deinuser/.xbmc/scripts
    so kann ich das dann starten :
    [Blocked Image: http://img378.imageshack.us/im…13/bildschirmfoto2rb1.png]


    danach kommt vdr mit gewohntem bild
    [Blocked Image: http://img516.imageshack.us/img516/6010/525cm9.png]


    um jetzt zurück zu xbmc zu kommen reicht auf der tastatur ein druck auf die esc taste
    ich WILL das aber per fernbedienung haben also hab ich das hier nach /etc/woauchimmer


    Shell-Script
    1. #!/bin/sh
    2. killall -9 vdr-sxfe
    3. killall -9 irexec


    aufgerufen über einen tastendruck (heisst bei mir text4) auf der fb
    dazu braucht man das in /etc/lirc/lircrc
    ACHTUNG die taste sollte "frei" sein das heisst keine belegung in vdr(remote.conf) oder in lircmap.xml(xbmc)


    Code
    1. begin
    2. button = text4
    3. prog = irexec
    4. repeat = 0
    5. config = /etc/woauchimmerscript
    6. end


    um die fernbedienung für xbmc auch zu nutzen braucht man eine Lircmap.xml in .xbmc/userdata



    den namen der fernbedienung findet man mit irw und tastendruck(fb) raus


    PROBLEME:
    -irexec klappt nur einmalig :schiel d.h. man kommt von xbmc nach vdr nach xbmc.... dann aber nichtmehr nach vdr ? (help needed)
    -manchmal wird vdr-sxfe 2x aufgerufen ?????? gibt ein nettes echo auf dem lautsprecher bild bleibt das gleiche :unsch



    hier nochmal was um ein paar leute zu überzeugen wie nett das ganze aussieht ...
    [Blocked Image: http://img367.imageshack.us/im…39/bildschirmfoto5pn4.png



    auch sehr genial das apple movie trailer script


    [Blocked Image: http://img212.imageshack.us/im…26/bildschirmfoto6ey4.png]

  • Quote

    wie klappt das, dass lirc nur xbmc "bedient" und nicht gleichzeitig vdr ?


    Den VDR kann man direkt mit lirc steuern über vdr-sxfe die lirc commands weiterreichen.
    wenn nur xbmc oder vdr-sxfe läuft kannst Du einfach vdr-sxfe mit lirc starten und in einer vdr conf das lirc device auf /dev/null umbiegen.
    So hab ich das zumindest mit mmsv2 und vdr-sxfe gemacht, da halt jeweils nur eines von beiden läuft.


    per irexec kann man auch z.b. ne taste belegen um von vdr-sxfe auf xbmc zu wechseln und umgekehrt, also das eine stoppen und das andere starten...
    Man braucht ja nur eines das läuft, also entweder tv gucken oder das Medien Ding.

  • also /etc/default/vdr --lirc=/dev/null eintragen
    das heisst das in der remote.conf von vdr ganz normal die lirc besfehle "stehen", vdr aber solange die befehle ignoriert bis vdr-sxfe --lirc
    aufgerufen wird ???
    (sorry für die fragerei, aber bisher lief hier nur vdr über lirc :) )

  • Hab nochmal nachgeschaut, bei Debian/ct-vdr ists die
    /etc/default/vdr OPTIONS="-w 60" auf "-w60 --lirc=/dev/null" erweitern.


    Dann läuft der vdr "server" nicht mit lirc, bzw. reagiert nicht auf lirc commands.
    Und ein mit --lirc gestarteter vdr-sxfe steuert dann den vdr über die lirc befehle wenn er gestartet ist.

  • THX das klappt ja schonmal gut !!
    jetzt zu dem punkt bei dem man zwischen vdr und xbmc umschalten kann:


    für die fb eine taste zuweisen hab ich glaube ich verstanden (darf natürlich nicht in vdr belegt sein)
    in /etc/lirc/lircrc


    Code
    1. begin
    2. button = lirctaste
    3. prog = irexec
    4. repeat = 0
    5. config = /woimmerauchdasscriptliegt/umschalter.sh
    6. end


    aber wie sieht dann umschalter.sh aus ? :schiel

  • Hi,


    Ich lasse per default VDR laufen und habe mir in der commands.conf folgendes Skript eingetragen, das den XBMC startet und wieder zurück geht wenn beendet. somit läuft der VDR durch.





    achja ich lass noch das Plugin sudpendouput laufen, damit der VDR keine CPU Zeit verbraucht.


    Übrigens:
    Die Zeile "svdrpsend.pl remo off" Schaltet den Empfang der IR Signale vom VDR aus.


    Der XBMC läuft parallel auf einem anderen X display

    Debian Etch + eTobi packete + selbscompilierter VDR auf Kernel 2.6.18 - VDR 1.4.7 + Extension + diverse Plugins
    Chieftech Dragon BlackCase + Artic Cooling Case Fan; P4 2,4 Ghz mit Scythe NCU-2000 Fanless Cooler; Samsung 300GB; WesternDigital 320GB; MSI Board; DVD Brenner; Nexus-S V2.2; Skystar 2; IR-Einschalter Rev.4.; GLCD 320x240

    Gaudeo discere, ut doceam :whatever
    Im Web: http://www.renier.de

    The post was edited 1 time, last by cody ().

  • Kannst ja mal hier rein schauen:
    http://vdr-portal.de/board/thread.php?threadid=75897


    Ich starte so nen basis x-server nur für vdr-sxfe / mms, also ohne Windowmanager ala kde/gnome, könnte man auch zusätzlich zu dem standard x auf ner anderen konsole laufen lassen.
    Also eine Konsole fürs Medienzeugs und eine für nen normalen Desktop.
    Geht jedoch auch auf nur einem X über ein startscript zum anklicken...


    Äh, ja, und der VDR an sich sollte natürlich eh ständig im hintergrund laufen, nur das Frontend vdr-sxfe muss ja nicht ständig an sein...


    Von daher mal @ cody: was ist für dich der vdr? Wenns nicht über ne FF läuft gibts da ja ne Trennung zwischen server und frontend...

  • Quote


    Von daher mal @ cody: was ist für dich der vdr? Wenns nicht über ne FF läuft gibts da ja ne Trennung zwischen server und frontend...


    Das ist schon klar.


    Da ich momentan auch libxineoutput nutze, der vdr-sxfe allerdings lokal läuft also vom VDR gestartet wird (über das Extreme RunVDR Skript) seh ich das als ein "packet"


    Bei den anderen klang das so als ob der VDR komplett gestoppt wird - nicht nur das Frontend. Zumindest habe ich das so interpretiert. Aber macht natürlcih keinen Sinn.

    Debian Etch + eTobi packete + selbscompilierter VDR auf Kernel 2.6.18 - VDR 1.4.7 + Extension + diverse Plugins
    Chieftech Dragon BlackCase + Artic Cooling Case Fan; P4 2,4 Ghz mit Scythe NCU-2000 Fanless Cooler; Samsung 300GB; WesternDigital 320GB; MSI Board; DVD Brenner; Nexus-S V2.2; Skystar 2; IR-Einschalter Rev.4.; GLCD 320x240

    Gaudeo discere, ut doceam :whatever
    Im Web: http://www.renier.de

  • Quote

    hau mich nicht aber wie geht das wenn das eben doch auch starten soll ?


    ??? Wie geht was wenn was starten soll ???


    Ein 2ter x-server? vdr-sxfe? vdr? xbmc? ne kombination?


    Ach ja für so eine Umschalt Geschichte ist es zwingend nötig das vdr-sxfe mit den Optionen local=none und remote=37890 gestartet wird!
    Und der vdr an sich als "server" im hintergrund läuft.

  • na vdr+xbmc und doch auch gnome
    also mit windowmanager


    hab deine scripts schon angesehen, aber wie das mit den "arbeitsflächen"
    funktioniert ist mir ein rätsel ?
    "xinit xbmc :?" würde ich mal raten, startet xbmc auf einer anderen arbeitsfläche ??
    ich sag ja das ist absolutes neuland für mich....


    unter /tmp
    gibt es nur /tmp/x11-unix/x0 ??
    in deinem script steht was von

    Code
    1. touch /tmp/xinevdr


    das gibt es bei mir nicht ?

  • Ne vdr / xbmc wechsel geschichte ist einfach über ein script zu machen,
    das rufst Du mit irexec auf.
    Das script killt das eine und startet das andere.
    Kannst auch 2 Tasten nehmen, eine um vdrsxfe zu starten und xbmc zu killen und ne 2te Taste um vdr-sxfe zu killen und xbmc zu starten.


    Pack dir mal irexec drauf und spiel damit rum.


    Ein 2ter x-server wär schon recht hardcore...

  • Quote


    Ach ja für so eine Umschalt Geschichte ist es zwingend nötig das vdr-sxfe mit den Optionen local=none und remote=37890 gestartet wird!
    Und der vdr an sich als "server" im hintergrund läuft.


    Zwingend ja eben nicht - siehe mein Post, ich hab den auch als lokal laufen und klappt wunderbar. Nix extra einrichten - keine lirc exec skripte, usw.


    Einach parallel aufrufen über ein commando (siehe Skript im Post) und dabei die Fernbedienung für den VDR deaktivieren.

    Debian Etch + eTobi packete + selbscompilierter VDR auf Kernel 2.6.18 - VDR 1.4.7 + Extension + diverse Plugins
    Chieftech Dragon BlackCase + Artic Cooling Case Fan; P4 2,4 Ghz mit Scythe NCU-2000 Fanless Cooler; Samsung 300GB; WesternDigital 320GB; MSI Board; DVD Brenner; Nexus-S V2.2; Skystar 2; IR-Einschalter Rev.4.; GLCD 320x240

    Gaudeo discere, ut doceam :whatever
    Im Web: http://www.renier.de

  • Das einzige bei meinen scripten das läuft ist ein script in einem Terminal.
    Dieses startet vdr oder mms, keine graphische Oberfläche! keine Fenster! nichts...
    nur vdr-sxfe oder mms im vollbild.


    Und naja, wie cody sagt gehts auch mit nem local vdr-sxfe, ich find jedoch die andere Variante schöner...


    und mit touch legt man ne leere Datei an... mein script unterscheidet darüber was grade laufen soll, wenn die Datei existiert das eine, wenn nicht das andere.


    mit xinit -e blabla startet man natürlich nen basis server mit dem einen Prog.


    extrem wirds mit dem x-start script, mit vt8 wird dort imho die konsole angegeben, man könnte wohl noch nen 2ten auf vt6 starten... (terminal 7 nimmt sich ja der vdr...)
    Der start-stop-daemon ... exec /usr/bin/X11/X startet halt nen x-server.
    Das ganze muss natürlich in nem boot script aufgerufen werden...


    das exec mit x-term startet ein terminal mit script, und da irexec standardmässig bei mir nicht lief wird halt auch das noch mit nem exec gestartet.


    Das script im terminal läuft in endlosschleife und startet einfach jede sekunde das entsprechende Prog falls es nicht läuft (abgestürzt ist, gekillt wurde etc.)


    Und irexec ändert die Datei in tmp und killt das laufende prog.

  • Also, da dein standard x-server wohl auf terminal 8 läuft kannst Du einen 2ten auf 6 starten... die :1 davor könnte auch die "servernummer" bezeichnen, sollte dann evtl. auf 2 gesetzt werden...


    Damit bekommst Du halt direkt ein Terminal mit Medienoberfläche, ohne login etc. halt direkt ein Bild.
    Wer will sich schon ständig an seinem Receiver anmelden...
    Nur den start als root sollte man ggf. noch ändern...

  • Alles viel zu umständlich :)


    Hier mal ein exemplarisches Beispiel wie das ganze von XBMC aus aufgerufen werden sollte ..


    Quote

    import xbmc
    xbmc.executebuiltin("System.Exec(/usr/bin/vdr-sxfe --tcp xvdr://localhost,true)")


    Somit wird XBMC als LIRC und LCDProc Client entfernt und der VDR kann schalten und walten. Zusätzlich wurden in der aktuellen vdr-lcdproc Version die beiden SVDRP Kommandos ON/OFF implementiert. Da ich das leider nur für einen Arbeitskollegen gemacht hatte, fehlen mir derzeit leider die fertigen Skripte.


    Tschö
    asciii

    HomeServer: Athlon 64 X2 3800+ EE SFF + Gigabyte GA-M61P-S3 - Debian Etch (2.6.22-3-686) + 1.6.0-3ctvdr1 + 2x KNC1 .v1 (DVB-C)

  • Wo hast du denn jetzt das os.system(cmd) hergezaubert? :)
    Das wird nicht benötigt da sich hinter dem Builtin "System.Exec" bereits ein system call versteckt.

    HomeServer: Athlon 64 X2 3800+ EE SFF + Gigabyte GA-M61P-S3 - Debian Etch (2.6.22-3-686) + 1.6.0-3ctvdr1 + 2x KNC1 .v1 (DVB-C)

  • also ich hab das mal bei .xbmc/scripts/vdr.py
    so gespeichert
    beim aufruf des scripts wird auch tatsächlich was gestartet, man hört den "fernsehton". aber leider hängt sich xbmc im script-menu auf also kein bild vom vdr ?
    script sieht so aus:

    Code
    1. #!/usr/bin/python
    2. import xbmc
    3. xbmc.executebuiltin("System.Exec(/usr/bin/vdr-sxfe -f --video=xv xvdr+tcp://localhost --lirc,true)")