VDR Stoppen bei Start von XMBC

  • Hallo,
    ich habe da mal ein kleines aber feines Anliegen an euch :)
    Ich würde gerne den vdr bei start von xbmc stoppen, sodass im Hintergrund die Sender nicht weiter gestreamt werden (Client mit streamdev).
    Dann kann ich die volle Bandbreite meiner Netzwerkverbindung in XBMC nutzen.


    Kann mir jemand sagen wie ich das scripten kann?


    Vielen Dank für eure Antworten.


    Gruß
    Rainer

  • Hallo,
    ich habe da mal ein kleines aber feines Anliegen an euch :)
    Ich würde gerne den vdr bei start von xbmc stoppen, sodass im Hintergrund die Sender nicht weiter gestreamt werden (Client mit streamdev).
    Dann kann ich die volle Bandbreite meiner Netzwerkverbindung in XBMC nutzen.


    Nie im Leben, ein VDR der auf die Art eine Aufnahme verpasst ist nichts wert.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Das einfachste wird sein per Firewall den stremdev-server Port dichtzumachen. *)


    Oder das Netzwerk auf 100MBit/s upzudaten ;)


    cu


    *) Besser wäre es dem stramdev Server nen svdrp Kommando beizubringen mit dem man den Service Starten/Stoppen kann. Wäre IMHO was für nen Feature Request.

  • So wie ich es verstehe hat str4nger einen Client, der per Streamdev-Client am Server hängt. Wenn XBMC gestartet wird, läuft Live-TV am VDR im Hintergrund weiter und verbraucht Bandbreite.


    Eine mögliche Lösung (wie von gda schon genannt mit der hässlichen Einschränkung, dass dann lokale Timer nicht mehr zuverlässig abgearbeitet werden können) wäre die /etc/init/xbmc.conf anzupassen.
    Und zwar einfach dort im pre-start script und post-stop-script entsprechende Stop bzw. Start-Befehle für den VDR setzen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • So wie ich es verstehe hat str4nger einen Client, der per Streamdev-Client am Server hängt. Wenn XBMC gestartet wird, läuft Live-TV am VDR im Hintergrund weiter und verbraucht Bandbreite.


    Wäre es da nicht generell ne gute Idee beim start von xbmc den vdr inaktiv zu setzen?


    Ich habs jetzt nicht ausprobiert, scheint aber trivial zu sein.

    Code
    1. void SetUserInactive(void) { SetUserInactiveTimeout(0, true); }
    2. ///< Set VDR manually into non-interactive mode.


    Edit: Habs mal getestet, ist wirklich so einfach. Gehört eigentlich ins dbus2vdr Plugin. Mal sehen ob ichs hinbekomme.


    cu

  • Wäre es da nicht generell ne gute Idee beim start von xbmc den vdr inaktiv zu setzen?


    Generell ja (wie macht man das am besten von außen?) - aber stoppt er dann tatsächlich die Streamdev-Verbindung?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)


  • Generell ja (wie macht man das am besten von außen?) - aber stoppt er dann tatsächlich die Streamdev-Verbindung?


    Mit nem Plugin

    Code
    1. cString cPluginTtt::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode)
    2. {
    3. // Process SVDRP commands this plugin implements
    4. ShutdownHandler.SetUserInactive();
    5. return NULL;
    6. }


    Thats all :)


    Mir ist nur gerade nen Fehler im Plan aufgefallen ;) Ist der vdr auf inaktiv geschaltet dann fährt er auch runter ;) Also müsste man im lifeguard noch auf nen laufendes xbmc testen.
    Edit: Ein aktives Plugin haält den VDR am laufen. Also muss man xvdr nur beibringen bei aktiver Verbindung in "Active(void)" was zurückzugeben (sollte es eh tun, AFAIK ist es nen Bug das es das nicht tut). Ist also durchaus im Bereich des Möglichen hier was zu verbessern.


    Ob er die streamdev Verbindung beendet kann ich nicht testen, ist aberr anzunehmen das... Ahgh ;) OK, mein Ausgabeplugin hält in diesem Fall die Videoausgabe an und gibt den Tuner frei. Die xine Dinger tun das AFAIK nicht. Ist am Ende dann wohl doch nicht immer so einfach wie man spontan denkt ;)


    Müsste man also den xine... Dingern noch das Suspend Output beibringen, ist vermutlich nicht sonderlich kompleziert (Das Softdevice Plugin stoppt bei Inaktiven User einfach den Videodecoder), ich fasse die aber nicht an ;)



    Edit: Falls jemand Lust zum spielen hat... Mal nen Patch gegen den aktuellen Stand von dbus2vdr
    Mit
    ---
    /usr/bin/dbus-send --system --type=method_call --dest=de.tvdr.vdr /Vdr de.tvdr.vdr.vdr.SetUserInactive
    ---
    setzt man den vdr inaktive


    Ich lasse das erstmal sacken obs so in der Form wirklich sinnvoll in dbus2vdr ist bevor ich das als Feature Request einreiche.


    cu

  • Genau dasselbe Anliegen hatte ich auch. Nur war es mir zu radikal, den VDR gleich ganz zu beenden (falls z.B. per live-frontend doch mal ein Timer lokal gestartet werden soll). Stattdessen nutze ich das suspendoutput-plugin. Damit schalte ich die Wiedergabe auf dem VDR beim XBMC Start ab. Somit wird auch die streamdev-Verbingung beendet. Funktioniert bei mir super, ohne dass ich irgendwelche Nachteile oder Nebenwirkungen gefunden habe.


    Wie man das ganze macht, habe ich hier beschrieben. Ich hatte es auch als Feature-Request eingetragen, da ich keine Nachteile in dieser Methode finden konnte. In Zusammenhang mit dem dynamite Plugin sollte dies auch zu einer (kleinen) Stromersparnis führen, da während XBMC ausgeführt wird die DVB-Geräte abgeschaltet werden können. (Dies habe ich allerdings nicht getestet, da ich keine lokalen DVB-Geräte nutze.)

  • Also ich selbst nehme auch alles auf dem Server auf. Allerdings kann ich mir Situationen vorstellen, wo es Sinn machen könnte. Beispielsweise wenn es einen Server für mehrere Parteien gibt, die jeweils ihre eigenen Aufnahmen machen wollen.


    Ein vielleicht nachvollziehbarerer Grund: Auf meinem Server läuft ein VDR mit minimalen Plugins. Die Plugins für LiveTV in XBMC ändern sich ja von Zeit zu Zeit, so dass ich diese ungern im Server installieren möchte. Der yaVDR holt sich also den Stream vom Server und stellt ihn lokal dem XBMC zur Verfügung. Dafür muss aber VDR weiter laufen.
    Das wird durch diese Methode nicht behindert. Also wenn XBMC gestartet wird, wird der Stream beendet. Wenn ich in XBMC LiveTV starte holt sich der VDR für diese Zeit wieder den Stream vom Server.

  • Quote

    Beispielsweise wenn es einen Server für mehrere Parteien gibt, die jeweils ihre eigenen Aufnahmen machen wollen.


    Haeh , wieso , die Karten stecken doch im Server.
    Wenn die Transponder belegt sind , sind sie belegt.
    Das muss doch eh der Server entscheiden .


    Also wenn LiveTV in xbmc genutzt wird , dann kann ich das verstehen aber
    streamdev + client hoert sich ja nicht so an.


    ..aber ihr macht das schon . Vielleicht mache ich ja nen Denkfehler:D

  • Sorry, war nicht das beste Beispiel. Ich hatte nach einem möglichen Grund gesucht, warum man beim Start von XBMC nicht den VDR, sondern nur seine Live-Wiedergabe beenden sollte.


    Der zweite Grund mit dem LiveTV ist da wahrscheinlich etwas realistischer.