vdr 2.3.8 - dummydevice, suspendoutput und dynamite

  • Hallo zusammen,


    ich baue gerade meinen headless VDR auf die aktuelle Version 2.3.8 um und möchte dabei auch erstmals die Möglichkeit nutzen, meine Cine S2 bei Nichtverwendung abschalten (idle) zu lassen.

    Ich hoff es kann mir jemand dabei die Zusammenhänge zwischen dummydevice, suspendoutput und dynamite erklären.


    Wie ich in einem anderen Thread gelesen habe, braucht man eigentlich das dummydevice Plugin nicht mehr. Mein VDR funktioniert auch soweit ohne, jedoch nachdem ich das suspendoutput Plugin installiert hatte, konnte dieses den Kanal nicht abschalten und hat immer die folgende Fehlermeldung gebracht:


    Code
    Oct 28 22:37:30 vdr vdr: [15468] suspendoutput: output suspended by inactivity timer
    Oct 28 22:37:30 vdr vdr: [15468] ERROR: Kanal blockiert (zeichnet auf)!
    Oct 28 22:37:30 vdr vdr: [15468] ERROR: no OSD provider available - using dummy OSD!
    Oct 28 22:37:30 vdr vdr: [15468] suspendoutput: output resumed by user action


    Das erklärt sich, da ich in der suspendoutput Doku irgendwo gefunden habe, dass suspendoutput nur den Kanal abschalten kann, wenn das DVB Device nicht das Primary Device ist, was aber ja ohne dummydevice der Fall ist. Sobald ich das dummydevice Plugin lade und es zum Primary Device mache, funktioniert die Abschaltung mit suspendoutput.


    Ich habe als nächstes dann das dynamite Plugin versucht zu installieren. Beim Patchen des VDR konnten jedoch nicht alle Patches angewendet werden:



    Ein Kompilieren des VDRs war dennoch möglich.


    Beim Starten des VDR mit dummydevice, suspendoutput und dynamite, bekomme ich jetzt jedoch folgende Fehlermeldung:

    Code
    Oct 28 22:43:08 vdr vdr: [15552] loading plugin: /usr/local/lib/vdr/libvdr-dummydevice.so.2.3.8
    Oct 28 22:43:08 vdr vdr: [15552] ERROR: /usr/local/lib/vdr/libvdr-dummydevice.so.2.3.8: undefined symbol: _ZN7cDeviceC2Ev
    Oct 28 22:43:08 vdr vdr: [15552] saving (null)
    Oct 28 22:43:08 vdr vdr: [15552] ERROR (ci.c,2990): (null): Ungültige Adresse
    Oct 28 22:43:08 vdr vdr: [15552] exiting, exit code 2

    Scheint als hätte der dynamite Patch irgendwas mit dem dummydevice Plugin angestellt.


    Starte ich den VDR ohne dummydevice Plugin, und habe im suspendoutput Plugin den Timer auf 5 Minuten gestellt, im dynamite Plugin den Idle Timer jedoch auf 1 Minute, so setzt das Dynamite Plugin die Karten gnadenlos in den Idle Status, auch wenn der VDR auf einen Kanal getuned hat und eigentlich die Karte busy ist:


    Auch scheint das dynamite Plugin nicht zu berücksichtigen, dass ich den VDR eigentlich nur mit 3 von 4 Karten starte

    Code
    [vdr]
    --device=0
    #--device=1
    --device=2
    --device=3
    --config=/etc/vdr
    --log=3
    --lib=/usr/local/lib/vdr
    --user=vdr
    --video=/mnt/video


    Es wäre super, wenn mir jemand kurz erklären könnte welche der drei Plugins ich wirklich brauche und wie die idealen Settings aussehen.


    [Edit:] Das Dynamite Plugin, lasse ich durch die 99-dynamite.conf Datei als letztes Plugin laden.


    Vielen Dank schon mal,

    Alex

    Server: Supermicro X9SAE, Intel Xeon E3-1245v2, ESXi 6.5

    VDR VM: Ubuntu 16.04 LTS, 2x DD Cine S2, VDR 2.3.8

    Einmal editiert, zuletzt von Honker ()

  • Ich bin noch nicht dazu gekommen, dynamite an vdr 2.3.x anzupassen. Unabhängig davon verstehe ich nicht, warum du bei einem halb gepatchten vdr erwartest, dass was funktionierendes dabei herauskommt. :)

    Zusätzlich könntest du einen Blick in das Readme von dynamite werfen, dann wüsstest du, dass die device-Optionen durch dynamite außer Kraft gesetzt werden. Wenn eine Karte nicht benutzt werden soll, muss man eine passende udev-Regel anlegen.


    Auf der vdr-Mailingliste existiert noch ein power-save-Patch, wobei ich aber nicht weiß, ob der für 2.3.8 angepasst wurde. Da wurde quasi der idle-Part aus dem dynamite Patch extrahiert und funktioniert ohne Plugin.


    Lars

  • Wozu brauchst du dummydevice und suspendoutput auf einem Server genau?


    Das ist der Patch für dynamite, den ich in meinem Paket für den VDR 2.3.8 nutze (da einige Patches davor auf den VDR angewendet werden, passt er vermutlich nicht zeilengenau) : opt-61_dynamite.patch

    Auch scheint das dynamite Plugin nicht zu berücksichtigen, dass ich den VDR eigentlich nur mit 3 von 4 Karten starte

    Das musst du über eine udev-Regel für das jeweilige Gerät lösen, nicht über das Startargument `-D/--device`: https://github.com/flensrocker…e/blob/master/README#L311

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich bin noch nicht dazu gekommen, dynamite an vdr 2.3.x anzupassen. Unabhängig davon verstehe ich nicht, warum du bei einem halb gepatchten vdr erwartest, dass was funktionierendes dabei herauskommt. :)

    Stimmt, das ist eine sehr gute Frage :)

    Zusätzlich könntest du einen Blick in das Readme von dynamite werfen, dann wüsstest du, dass die device-Optionen durch dynamite außer Kraft gesetzt werden. Wenn eine Karte nicht benutzt werden soll, muss man eine passende udev-Regel anlegen.

    Das habe ich ehrlich gesagt im Eifer des Gefechts übersehen. :wand

    Auf der vdr-Mailingliste existiert noch ein power-save-Patch, wobei ich aber nicht weiß, ob der für 2.3.8 angepasst wurde. Da wurde quasi der idle-Part aus dem dynamite Patch extrahiert und funktioniert ohne Plugin.

    Jetzt wo du es sagst, erinnere ich mich auch wieder, dass ich da solch eine Diskussion mitbekommen hatte. Ich glaube den Patch versuche ich mal. danke für die Erinnerung :tup:)

    Wozu brauchst du dummydevice und suspendoutput auf einem Server genau?

    Naja, das Dummydevice brauche ich ja wie geschrieben nur für suspendoutput. Und ich hatte es so verstanden, dass suspendoutput die Grundvoraussetzung für das Dynamite Plugin ist, da es ja eigentlich nur Karten in den Idle Modus setzten kann, die nicht gerade mit irgendwas beschäftigt sind?!

    Das ist der Patch für dynamite, den ich in meinem Paket für den VDR 2.3.8 nutze (da einige Patches davor auf den VDR angewendet werden, passt er vermutlich nicht zeilengenau) : opt-61_dynamite.patch

    Super, danke. Wenn der Patch aus der Mailingliste nicht mit 2.3.8 funktioniert, dann versuche ich mal deinen Patch :)


    Danke,

    Alex

    Server: Supermicro X9SAE, Intel Xeon E3-1245v2, ESXi 6.5

    VDR VM: Ubuntu 16.04 LTS, 2x DD Cine S2, VDR 2.3.8

  • Wozu brauchst du dummydevice und suspendoutput auf einem Server genau?


    Das ist der Patch für dynamite, den ich in meinem Paket für den VDR 2.3.8 nutze (da einige Patches davor auf den VDR angewendet werden, passt er vermutlich nicht zeilengenau) : opt-61_dynamite.patch

    Das musst du über eine udev-Regel für das jeweilige Gerät lösen, nicht über das Startargument `-D/--device`: https://github.com/flensrocker…e/blob/master/README#L311

    Habe jetzt deinen Patch eingespielt und das hat scheinbar problemlos funktioniert.


    Scheinbar erkennt das dynamite Plugin, welche Sender der default Sender ist und schaltet daher trotzdem die Karte ab auch wenn der VDR darauf getuned hat?

    Oder wieso braucht man jetzt das suspendoutput Plugin nicht?


    [Edit:] Glaube ich habe die Antwort gefunden. Im Readme steht, dass das dynamite Plugin das primary Device nur nicht detatchen kann. Heißt im Umkehrschluss, dass das Plugin das Device jedoch in den idle Modus setzen kann?


    Code
    Known issues
    ------------
    If a device managed by this plugin is the primary device it cannot be
    detached. That would imply that vdr searches for a new primary device
    or should be forced to transfer mode or something else. Since I don't
    know anything about this you have to wait for this feature or teach
    me how to do this...


    Super an der ganzen Sache ist, dass der VDR scheinbar auch nur auf die Karten zugreift, die er wirklich braucht. Bei nur einem Stream/Aufnahme bleiben alle anderen Karten durch das dynamite Plugin im Idle Modus und verbrauchen so keinen Strom.

    Server: Supermicro X9SAE, Intel Xeon E3-1245v2, ESXi 6.5

    VDR VM: Ubuntu 16.04 LTS, 2x DD Cine S2, VDR 2.3.8

    Einmal editiert, zuletzt von Honker ()

  • Das dbus2vdr plugin kann als nulldevice agieren, das funktioniert auf jeden Fall unproblematisch. Wenn du das vnsiserver-Plugin verwendest, kannst du das auch als primäres Device nutzen: https://github.com/FernetMenta…ebfda339991fb4/vnsi.c#L41

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Verwende streamdev...


    Obwohl eine DVB Karte das primary Device ist, setzt das dynamite Plugin ja trotzdem alle vier Karten in den Idle Modus. Das ist ja genau das was mir nicht ganz klar ist wieso das klappt...

    Server: Supermicro X9SAE, Intel Xeon E3-1245v2, ESXi 6.5

    VDR VM: Ubuntu 16.04 LTS, 2x DD Cine S2, VDR 2.3.8

  • Ich wollte nur darauf hinaus, dass es Alternativen zum dummydevice-Plugin gibt, wenn man keine DVB-Karte zum primary device machen lassen will.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!