suspendoutput beim Start von XBMC

  • Ich betreibe einen streamdev-only client mit yaVDR. Beim Start von XBMC hat mich bisher immer gestört, dass der VDR weiter ein Programm empfangen hat und dabei auf dem Server ein device belegt und auch unnötigen Netzwerkverkehr verursacht. Auch in Verbindung mit dem dynamite Plugin macht es meiner Meinung nach Sinn, den Empfang abzuschalten, somit kann auch das Gerät in den Suspend geschickt werden.


    Für diesen Zweck habe ich mir das suspendoutput-plugin installiert.
    Dann in die /etc/init/xbmc.conf als erste Zeile im pre-start script und als vorletzte Zeile im post-stop script

    Code
    1. vdr-dbus-send /Remote remote.CallPlugin string:'suspendoutput'


    eingetragen.


    Bisher ist mir noch nichts negatives aufgefallen. Der streamdev-Verkehr wird beendet. Sollte ich LiveTV im XBMC wählen, wird automatisch der Streamdev-transfer wieder aufgenommen.


    Ich wollte hier mal nachfragen, ob ich irgendwelche Nebenwirkungen übersehen habe. Ansonsten würde ich es als Feature request in den Bugtracker eintragen.

  • Der streamdev-Verkehr wird beendet. Sollte ich LiveTV im XBMC wählen, wird automatisch der Streamdev-transfer wieder aufgenommen.


    xvdr und Streamdev sind AFAIK zwei paar Schuhe.


    Hier gibt es einen Thread, in dem steht, dass suspendoutput das Herunterfahren des VDR nach einer Aunfahme behindern würde: [yavdr 4.0] Bug in plugin Suspendoutput - getestet habe ich das bislang nicht. Aktuell bin ich noch am Überlegen, wie man XBMC und den VDR etwas harmonischer beim Punkt Energiesparen (z.B. auch Berücksichtigung der Inaktivität beider Programme und dann ggf. Wechsel in den Standby, ohne Timer oder Aktionen anderer Plugins zu gefährten) zusammenarbeiten lassen kann.


    Vielleicht kannst du mal ausprobieren, ob das Herunterfahren nach einem Timer mit Nutzung des Suspendoutput-Plugins bei dir klappt. Ansonsten kannst du es gerne als Feature-Request in den Bugtracker bringen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Zu Streamdev vs. Xvdr hätte ich vielleicht noch ein paar Details lassen können. Ich betreibe den Client streamdev-only. Wenn ich in XBMC einen Livestream starte, holt er sich diesen per XVDR von der lokalen Instanz und diese wiederum per Streamdev vom Server. Ich hatte mir per iftop die Netzwerkauslastung angeschaut und daher streamdev geschrieben.


    Den anderen Thread habe ich mir mal angeschaut und versucht nachzuvollziehen. Folgendes habe ich beobachtet:
    Timer starten -> Power drücken -> nach der Aufnahme: 5 Minuten countdown -> VDR schaltet aus
    Timer starten -> suspendoutput starten -> Power -> VDR schaltet nicht aus
    Timer starten -> suspendoutput starten -> nach Beendigung des Timers power drücken -> VDR schaltet aus
    ohne Timer:
    SSH Verbinung offen -> Power -> shutdown abgebrochen -> 5 Minuten Timer wird eingeblendet
    SSH Verbinung offen -> suspendoutput -> Power -> shutdown abgebrochen, 5 Minuten-Timer wird nicht eingeblendet, schaltet kosnequenterweise auch nicht automatisch ab.


    Also mir scheint, dass irgendwas als User Aktivität gezählt wird, wenn suspendoutput an ist und daher der 5 Minuten Countdown nicht startet. Wenn aber normal Power gedrückt wird schaltet er auch mit aktiviertem suspendoutput aus.


    Ich wüsste jetzt aber nicht wie ich das debuggen soll. Im log sehe ich nicht, ob und was als Useraktivität gezählt wird.


    In meinem Szenario tritt der Bug allerdings nicht ein, da ich suspendoutput nur während XBMC nutze. Die automatische Nutzung nach Inaktivität habe ich deaktiviert.

  • Ich wüsste jetzt aber nicht wie ich das debuggen soll. Im log sehe ich nicht, ob und was als Useraktivität gezählt wird.


    Ok, vielen Dank. Wenn man XBMC als vorübergehendes Frontend verwendet scheint das ein brauchbarer Ansatz zu sein und kann als Feature-Request gerne in den Bugtracker.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wenn ich XBMC starte, läuft im Hintergrund vdr weiter und gibt auch weiter das aktuelle Programm aus. Es wird nur das Frontend beendet.


    Da ich den VDR als Streamdev-client betreibe, kann ich sehr gut beobachten, dass der Strem weiter vom Server gestreamt wird, wenn XBMC gestartet ist und der live-stream eigentlich gar nicht mehr gebraucht wird. Ich gehe davon aus, dass dies bei lokalen Empfangsgeräten dasselbe ist. Sie also weiter empfangen und das Bild des aktuellen Senders ausgeben, nur eben dass kein frontend da ist, welche die Daten darstellt.
    Es wird also immer eine Karte aktiv sein, welche nicht freigegeben wird und somit auch nicht durch dynamite deaktiviert werden kann.
    Suspendoutput sorgt jetzt dafür, dass statt des aktuellen Programms ein Standbild dargestellt wird, somit wird streamdev beendet und auch lokale devices sollten freigegeben werden.



    Möglicherweise habe ich hier auch nen Denkfehler und die Behandlung mit lokalen Devices läuft schon korrekt. Das kann ich mangels einer lokalen Karte leider nicht überprüfen.


    Mein Szenario ist in letzter Zeit eher so, dass ich unter 30% der Zeit live fernsehe und meist Aufnahmen schaue oder eben XBMC aktiv habe. In dieser Zeit fände ich es sinnvoll, wenn die devices auch nicht genutzt werden.