Xbmc + Vdr

  • oh grossartig ich habss geschafft !!!!
    das hier funktioniert

    PHP
    1. #!/usr/bin/python
    2. import os
    3. cmd = '/usr/bin/vdr-sxfe -f --video=xv xvdr+tcp://localhost --lirc'
    4. os.system(cmd)


    wenn das script aufgerufen wird startet vdr-sxfe beendet man vdrsxfe landet man automatisch wieder in xbmc !!!


    UUPS geht doch (noch) nicht so richtig
    irgendwie hängt sich das zu oft auf ....
    ausserdem streiten sich xbmc und vdr um die soundausgabe ?


    Code
    1. pulseaudio[10839]: module-alsa-sink.c: Error opening PCM device front:0: Device or resource busy
    2. Oct 2 08:48:49 holger-desktop vdr: [10991] [xine..put] cXinelibServer::Play_PES Buffer overflow (TCP/PIPE) last message repeated 1536 times
    3. vdr: [10991] [xine..put] cXinelibServer: Too many TCP buffer overflows, dropping client
    4. vdr: [10991] [xine..put] cXinelibServer::Play_PES Write/Queue error (TCP/PIPE)
    5. vdr: [10991] [xine..put] Closing connection 0
    6. gdm[10623]: WARNING: gdm_slave_xioerror_handler: Schwerwiegender X-Fehler - :0 wird neu gestartet
  • pulseaudio = evil !


    vdr-sxre --audio=alsa wird das problem lösen.

    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)

  • danke das klappt !
    also sieht das jetzt so aus :

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


    so über die esc - taste(tastatur) komm ich dann wieder zurück zu xbmc
    aber ein killall vdr-sxfe mach leider gar nichts ?
    :schiel


    wie kann ich jetzt das "umschalt" script machen,dass vdr-sxfe beendet um zurück zu xbmc zu kommen ?

  • so hab hier mal eine Lircmap.xml gebastelt sollte bei verwendung natürlich angepasst werden.
    kommt dann in /dein/pfad/zu/.xbmc/user_data

  • Umschalten evtl. mit dem script switch.sh und der lircrc aus meinem link.
    Muss man halt bearbeiten...
    Nur halt statt dem starten die sache aus deinem script und fürs beenden nichts anderes starten sondern nur den vdr-sxfe killen.
    Aber erstmal dein script starten um "nur" den vdr-sxfe zu starten sollte erstmal reichen um zu schauen ob irexec klappt.


    Schau mal mit ps -Al ob da wirklich ein prozess namens vdr-sxfe läuft, wenn er läuft sollte man ihn killen können (vorausgesetzt die rechte reichen aus)

  • gibt es :


    allerdings ein killall vdr-sxfe macht rein gar nichts .... :(


    dein script hab ich mir schon angesehen (danke dafür!!)
    leider hilft das erst wenn vdr-sxfe auch wirklich "gekillt" wird :(

  • Schon mal das hier in meinem bootscript angeschaut?

    Code
    1. start-stop-daemon --start --background --chuid $IREXECUSER --exec /usr/bin/irexec -- --daemon /etc/lirc/lircrc
    2. if [ $? -gt 0 ]; then
    3. echo "Error starting irexec."
    4. fi


    Irexec starten als root ($IREXECUSER), und alle scripte die darüber ausgeführt werden laufen!


    Ist zwar nicht die beste methode... aber läuft.


    und commands.conf ??? was willst Du denn damit?

  • arghh von einem problem zum anderen ...
    beim hin und her "switchen" bedient jetzt lirc xbmc "weiter"
    d.h. es bedient vdr und xbmc ?
    grml


    d.h. jetzt muss irgendwas eingebaut werden damit lirc beim aufruf von
    vdr-sxfe xbmc ignoriert!


    bei erstenmal umschalten von xbmc zu vdr-sxfe geht es komischerweise?
    beim zweiten mal nicht mehr.
    und das erst seit eben mit irexec ?

  • Drum kill ich mein "Medienfrontend" auch komplett... dann kanns auch nicht mehr reagieren ;-)
    dem lirc kannst Du das nicht sagen, das musst Du schon xbmc selbst erklären das es nicht mehr auf lirc reagieren soll.
    Nur damit kenn ich mich mal gar nicht aus.


    schiess es mit nem kill ab und starte es über das script im wechsel mit vdr-sxfe, dann sollte es klappen.

  • naja, wie in meinem script zu sehen ist wird irexec bei mir als daemon gestartet, und das in einem bootscript...


    Du rufst irexec mit nem pyton script auf beim wechsel zu vdr-sxfe.
    Das ist schon mal nicht ganz ok, guck mal in mein script...
    als standard bootscript gibts nen Eintrag zum starten, einen zum stoppen imho noch einen zum restarten...
    irexec sollte die ganze Zeit laufen bis die Kiste runtergefahren wird!


    Du hast jedoch nech /etc/woauchimmer ein script gepackt das irexec killt, das ist so nicht ok!


    und über das script zum wechsel nach vdr
    import os
    cmd = '/usr/bin/vdr-sxfe -f --video=xv xvdr+tcp://localhost --lirc'
    os.system(cmd)


    könntest Du evtl statt dem direkten vdr-sxfe Aufruf ein script starten das in einer endlosschleife läuft, kontrolliert ob vdr-sxfe noch läuft und es neu startet bei nem absturz.
    und über die irexec Taste das script starten, evtl. noch mit ner dummy datei in tmp auf die kontrolliert wird um 2 faches starten zu verhindern...


    Aber jedenfalls über irexec nicht selber irexec killen! und irexec nicht über das pyton scipt starten sondern als daemon über ein bootscript!


    Tut ja keinem weh wenn vdr-sxfe gekillt wird wenns gar nicht läuft...