[ANNOUNCE] MPV VDR Streamdev Client 0.0.2

  • Hallo nochmal!


    Ich habe ein bisschen gebastelt. Jetzt mit "hübschen" OSD und kann Aufnahmen wiedergeben.


    Hier eine kurze Zusammenfassung der aktuellen Features


    Ich habe ein paar Screenshots angehängt. Kann ich die eingentlich auch gleich im Post anzeigen lassen?
    Die neue Version habe ich auch angehängt, bitte wieder in mpv-vdr-streamdev-client.lua umbenennen.


    Da sind wahrscheinlich noch Bugs drin, und einige einfache Features/Tasten fehlen noch,
    aber ich denke es trotzdem eine deutliche Verbesserung gegenüber der letzten Version.


    Es folgt mein erster Post zu dem Prototyp. Nur der Vollständigheit halber.



    Hallo zusammen,


    ich habe mich schon länger gefragt, ob es nicht möglich ist eine VDR-Client
    mit VDR look-and-feel zu programmieren, der nur Standard-Plugins braucht.


    Ich habe mal einen Prototyp dafür gebaut, der auf MPV und eine Lua-Skript
    basiert. Die Audio und Video Daten werden über das Streamdevice geladen,
    Kanäle und EPG über SVDRP.


    Das Ergebnis ist schon sehr viel versprechend, leider ist das OSD auf Text
    beschränkt (es gibt eine Möglichkeit für besseres/graphisches OSD,
    die hab ich mir für den Prototyp nicht näher angesehen).


    Zur Installation braucht man nur MPV installieren, das Skript in den
    Skript-Ordner (unter Unix ~/.confg/mpv/scripts) zu kopieren und dann


    mpv vdrstream://[vdr-host][:streamdev-port]


    aufrufen. Natürlich muss streamdevhosts.conf und svdrphosts.conf die
    Client-IP enthalten. Außerdem muss netcat (nc) installiert sein, da
    Lua standardmäßig keine Sockets unterstützt.


    Wie im VDR üblich kann man mit Hoch, Runter und den Ziffern den Kanal
    wechseln, und bekommt ein Kanalinfo angezeigt. Die Taste i zeigt
    den EPG-Eintrag zum aktuellen Programm.


    Mehr geht noch nicht.
    Einfach hinzufügen kann man, denke ich, noch eine EPG Übersicht für die
    Kanäle, eine Möglichkeit Timer für EPG-Events zu erzeugen und Aufnahmen
    wiederzugeben.


    Der große Vorteil der Lösung mit einem Lua-Skript als MPV-Erweiterung
    ist, dass es im Prinzip unter Windows, Linux und Mac OS laufen
    müsste. Unter Mac Os hab ichs entwickelt. Unter Windows muss man ev. noch die
    Geschichte mit dem Netcat anpassen (schaut euch die Funktion send_svdrp an).
    Wenn das jemand machen will...
    Und natürlich, dass man nicht groß Plugins installieren muss, (ich nehme
    an, dass viele streamdev bereits installiert haben.) und mpv haben
    wahrscheinlich auch schon viele.
    Dafür bekommt man einen Klient der beim zappen sich ziemlich nach VDR
    anfühlt.


    Der große Nachteil ist das im Moment mit nur Text doch sehr beschränkte
    OSD. Ob es unter Lua möglich und mit wieviel Aufwand es verbunden ist, das
    graphische OSD-Overlay zu nutzen, habe ich noch nicht so genau angeschaut.
    Ganz einfach ist es wahrscheinlich nicht.
    Eine alternative wäre es ein Client in C/C++ mit der mpvlib zu programmieren.


    Ich stelle das mal hier rein, vielleicht ist es ja noch für jemand
    nützlich. Beiträge in Form von Patches für weitere Features, Bugfixes
    und Support für Windows sind willkommen ;-)


    Nachtrag: man muss das Skript noch in vdr-streamdev-client.lua umbenennen,
    das Portal mag .lua nicht.


    Viele Grüße,


    Martin

  • Hier mal ein kleines Feedback von der Windows-Front: Es klappt. Cool.


    Ich hatte das Binary runterladen, das Skript dazu gelegt und so gestartet:
    mpv vdrstream://vdr-server-ip:3000 --script vdr-streamdev-client.lua


    Funktionierte sofort.


    austen

  • Hi,


    auch unter Ubuntu(trusy) läuft es ,,,Merci!



    Gruss
    Wolfgang

  • Vielen Dank für das Feedback.


    Ich habe übrigens festgestellt, dass man mit dem OSD auch zeichnen kann. Damit kann man tatsächlich ein ganz ordentliches OSD machen.


    austen :
    Hast du das Linux-Subsystem installiert? Anders kann ich mir nicht erklären, dass es unter Windows gleich funktioniert hat.


    Viele Grüße,


    Martin

  • Funktioniert auch unter OSX Sierra. :tup


    MPV direkt von der Webseite geladen und mittels


    Code
    1. ./mpv.app/Contents/MacOS/mpv vdrstream://<ip>:3000 --script vdr-streamdev-client.lua


    aufgerufen.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Hi,


    vdr-streamdev-client.lua v0.0.2 funktioniert 1a & sieht toll aus!


    P.S
    In der Ansicht "Channel-Info" füllt der Background die Uhrzeit nicht ganz aus - siehe Anhang!
    In Zeile 288

    Code
    1. ass:rect_ccw(0,0,50,23)

    nach

    Code
    1. ass:rect_ccw(0,0,55,23)

    geändert alles Ok
    ..ist wohl von Font abhängig!


    Merci & Gruss
    Wolfgang

    Bilder

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von wolfi.m ()

  • Hi,


    echt Klasse!
    Habs auf einer Windows Maschine aber leider kein EPG usw. Nur die leere Kanalinfo mit Uhrzeit... Hat von Euch jemand schon eine Lösung dafür? - bzw. gibt es überhaupt eine unter Windows?

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Taipan ()

  • Hi,


    echt Klasse!
    Habs auf einer Windows Maschine aber leider kein EPG usw. Nur die leere Kanalinfo mit Uhrzeit... Hat von Euch jemand schon eine Lösung dafür? - bzw. gibt es überhaupt eine unter Windows?


    Hallo Taipan,


    bei austen läuft es wohl, er hat aber cygwin und damit bash und netcat installiert.
    Das Problem ist, dass die Lua-Standardbibliothek keine Netzwerksockets kennt. Deshalb braucht man eine Art svdrpsend.pl (svdrpsend.pl)
    Ich weiß nicht wie man das mit Windows-Standard-Tools nachbauen kann, unter LInux/Mac Os hab ich bash/netcat benutzt.
    Wenn du probieren willst das unter Windows zum laufen zu bekommen, dann schau dir die Funktion send_svdrp() im Lua-Skript an.


    Viele Grüße,


    Martin

  • Manchmal reicht es auch, die wirklich nötigen Cygwin-Dateien einfach mit ins Paket zu stecken, so daß sie im Pfad gefunden werden. Installation nicht zwingend nötig.


    Habe ich hier bei einer TAPI-Geschichte für die Telefonanlage so gemacht.


    Christian