Prüfen ob Wiedergabe aktiv?

  • Hallo zusammen,
    ich würde gerne shell per prüfen ob der VDR grade eine Aufnahme abspielt,
    da gibt es doch sicher eine Möglichkeit oder?
    Wahrscheinlich über dbus2vdr, aber ich komm einfach nicht auf die entsprechende Abfrage,
    kann mir da jemand weiterhelfen?


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Moin!


    Nein, bei dbus2vdr gibt's da leider noch keine Abfragemöglichkeit für. Es gibt zwar ein Signal, wenn die Wiedergabe startet bzw. stoppt, aber das kann man nicht nachträglich abfragen.
    Ist aber eine gute Idee, werde ich wohl mal ins status-Interface einbauen.


    Bei SVDRP sehe ich da auch gerade keine Möglichkeit.


    Lars.

  • Wahrscheinlich über dbus2vdr, aber ich komm einfach nicht auf die entsprechende Abfrage,


    Bei dbus2vdr müsste man die Statusmeldungen kontinuierlich auswerten: https://github.com/flensrocker…r/blob/master/README#L351


    Wenn man pollen will, ist das restfulapi-Plugin besser geeignet:

    Code
    GET http://127.0.0.1:8002/info.xml



    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • OK, auch hier Danke.
    Ich dachte das ginge evtl. irgendwie einfacher, aber dann werde ich wohl warten bis Keine_Ahnung das ins UActivity-Plugin eingebaut hat..


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Vielleicht kann ja der VDR mit einem kleinen Patch selbst ein .replay im Video-Verzeichnis anlegen. Da könnte dann der Wiedergabestatus stehen, den man dort auslesen könnte.


    Oder man implementiert so was wie bei den Aufnahmen, wo ein externes Skript gestartet werden kann.

  • Für diesen Anwendungsfall (zu wissen ob der TV jetzt ausgeschaltet werden darf) reicht es ja wenn man abfragt ob er gerade jetzt replayed. Also Polling sollte hier garnicht notwendig sein.


    Aber ich versuche mal (das mit dem Versprechen habe ich mir jetzt schon abgewöhnt ;) ) heute Abend wenigstens das von Uactivity einzuchecken was ich jetzt schon habe. Und da ist das Replay Flag schon dabei.


    cu

  • Cool, Danke Keine_Ahnung. Ich werde es testen, versprochen* ;)


    *Sofern ich das Paket für yavdr mit aktuellem git-Stand gebaut bekomme...


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Moin!


    Und ich werde dann mal versuchen, dass heute Abend in dbus2vdr einzubauen... :)
    Sieht eigentlich übersichtlich aus, ist ja nur ein internes "Tracking" der Status-Events ähnlich wie restfulapi es schon macht.


    Lars.

  • Moin..
    das kann sicher nicht schaden, jedoch benötige ich nur eine Möglichkeit ;)
    Jetzt habe ich drei ...


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Selbst Schuld, was fragst du auch danach... :)


    Gehen tut alles, aber uactivity, restfulapi und dbus2vdr decken unterschiedlichste Anwendungsbereiche ab, mal ist der eine sinnvoller (Web-App -> restfulapi), mal das andere (lokaler Daemon/externes Programm -> dbus2vdr). Und uactivity eben, wenn der vdr selbst einfach kleine Aktivitäten auslösen soll. Das hängt halt immer vom verwendeten Framework ab. In Python lassen sich z.B. wunder dbus-Aufrufe benutzen, mit Javascript http/REST-Requests.


    Ich finde die Vielfalt klasse! Aber ich hab dich schon verstanden, dass das keine Kritik sein soll... :)


    Lars.

  • Moin!


    Ein neues dbus2vdr gibt's nun in testing:

    Code
    $ vdr-dbus-send /Status status.IsReplaying
    method return sender=:1.58 -> dest=:1.60 reply_serial=2
       string ""
       string ""
       boolean false
    $ vdr-dbus-send /Status status.IsReplaying
    method return sender=:1.58 -> dest=:1.61 reply_serial=2
       string "127 Hours"
       string "/srv/vdr/video.00/127_Hours/2013-04-01.23.51.8-0.rec"
       boolean true


    Oder mit Python (ist auch als Beispiel im git:(


    Das gibt dann passend einen entsprechenden Exitcode zurück, der ist leichter und sicherer zu testen, als die Ausgabe von dbus-send zu "greppen".


    Lars.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!