Hallo nochmal!
Ich habe ein bisschen gebastelt. Jetzt mit "hübschen" OSD und kann Aufnahmen wiedergeben.
Hier eine kurze Zusammenfassung der aktuellen Features
Quote
-- A script which turns mpv into a client for VDR with the Streamdev-Plugin
--
-- Features:
-- * runs on Windows, Linux and Mac Os. (needs bash and netcat installed)
-- * easy channel switching a la vdr (no channel groups for now)
-- * show current and next epg event if available
-- * watch recordings
--
-- Short instructions:
-- 1. Enable the streamdev-server-plugin in vdr
-- 2. Modify streamdevhosts.conf to contain the clients IP
-- 3. If you want to have channel names and epg info,
-- modify svdrphosts.conf to contain the clients IP.
-- Also netcat ('nc') and bash needs to be installed and in the path.
-- 4. Place this file in one of mpvs script folders
-- ( ~/.config/mpv/scripts/) or call mpv with the --script
-- command line option.
-- For now --script vdr-streamdev-client.lua is prefered.
-- 5. start mpv
-- mpv vdrstream://[vdr-host][:streamdev-port] [--script vdr-streamdev-client.lua]
--
Display More
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