[Announce] mpv Plugin 0.0.4

  • Der Parameter muss in einem Format sein wie mpv in versteht. Das -a vom mpv_plugin wird als --ao direkt an den mpv player durchgereicht. Du kannst mal -a alsa:device=pcm.stereo probieren.


    Der Segfault im graphtft passiert auch erst wenn der mpv player schon wieder am beenden ist. Anscheinend bekommt graphtft nicht schnell genug mit das der Player aus ist und versucht weiterhin den Status anzuzeigen.

  • Geht auch damit nicht: :(




    BT: --> https://paste.lugons.org/show/8891/

  • So geht's:


  • Erst mal muss ich sagen das mir das Plugin sehr gut gefällt.


    Jedoch habe ich ein Problem mit dem Plugin wenn ich Skin nOpacity verwende. Dann stürzt mir der VDR ab wenn ich die Menü Taste drücke.


    Dann ist mir der VDR auch beim Drücken der Blauen Taste eingefroren.
    Dieses scheint an einem LUA Skipt zuliegen, welches ich verwendete um dem MPV in Verbindung mit dem alten Mplayerplugin etwas mehr wie den VDR steuern zu können.
    Wenn ich das Skipt aus dem MPV Player entferne tritt der Fehler nicht auf. Das merkwürdige ist jedoch das die Skipte die ich sonst mit dem MPV Player verwende gar nicht verwendet werden wenn ich das mpv Plugin verwende.

  • Hallo,


    habe mir das plugin auch mal für yavdr 0.5 kompiliert und erhalte über xineliboutput leider kein Bild, lediglich den Ton:


    Nutze vdpau und das ist auch einkompiliert. Das Display 0.0 sollte stimmen. Noch einen Tip ?

    VDR: E-Q5I Gehäuse, Zotac Ion, mit YaUsbIR Einschalter, Easyvdr 3.0, TBS5990
    VDR2: Asrock Q1900-ITX, DD-Octopus, DD-Duoflex S2, Easyvdr 3.5

  • Das Display 0.0 sollte stimmen. Noch einen Tip ?

    Bei yaVDR läuft der X-Server auf dem DISPLAY :1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke seahawk, mit der Änderung in der config.c des X11 auf 1:0 ist das Bild da.
    Es kommt jedoch zum Absturz nach drücken der OK Taste. Nit STOP läßt sich das
    Plugin normal beenden.

    VDR: E-Q5I Gehäuse, Zotac Ion, mit YaUsbIR Einschalter, Easyvdr 3.0, TBS5990
    VDR2: Asrock Q1900-ITX, DD-Octopus, DD-Duoflex S2, Easyvdr 3.5

  • 3PO : Eigenartig, dann sollte das eigentlich auch mit dem Plugin funktionieren. Ich guck mir nochmal an ob da mit der Parameter Übergabe irgendwas falsch laufen kann. Du kannst aber nochmal versuchen als Parameter "-a alsa:device=[pcm.stereo]" zu setzen.


    swer : Das Script sollte nach meinem Verständnis gar nicht erst geladen werden, laut mpv Manual muss man jedes Script mit --script übergeben. Ist das ein selbstgeschriebenes LUA-Script? Wenn du es verwendest übergibts du es dann per --script oder passierte das vorher auch schon automatisch?


    Imsadi : xineliboutput wird nicht untersützt (auch wenn es funktonieren könnte). Wenn du möchtest kannst du aber mal einen Backtrace posten, dann kann ich mal drauf gucken ob da eine einfache Lösung möglich ist.

  • @sewr: Mir ist gerade aufgefallen das Scripts doch automatisch geladen werden:
    --load-scripts=<yes|no>
    If set to no, don't auto-load scripts from the scripts configuration subdirectory (usually ~/.config/mpv/scripts/). (Default: yes)

  • Mit "-a alsa:device=[pcm.stereo]" funktioniert es auch nicht: :(



  • @Maniac


    Mit load-scripts=no kann ich das laden der Scripte unterbinden. Nur möchte ich die eigentlich laden wenn ich MPV ohne dein Plugin verwende. Kannst du fieleicht eine Möglichkeit einbauen beliebige Parameter an den MPV weiter zureichen?


    Dann muss ich nur noch herausfinden warum eines meiner Scripte mit dem Plugin nicht geladen werden kann aber mit dem MPV solo schon.

    Code
    1. Jul 6 22:32:53 vdrhw vdr[2883]: [3144] [mpv]: Lua error: error loading module 'lfs' from file '/usr/lib64/lua/5.1/lfs.so':
    2. Jul 6 22:32:53 vdrhw vdr[2883]: [3144] [mpv]: /usr/lib64/lua/5.1/lfs.so: undefined symbol: lua_gettop


    Da dieses Script mit dem Plugin nicht funzt hatte ich zuerst den Eindruck Scripte würden grundsätzlich nicht funktionieren.


    Ich nutze das Script um automatisch unter bestimmten Bedingungen weitere Dateien automatisch in die Playlist zu laden, und gesehene Dateien umzubenennen damit ich weiß was ich mir bereits anschaut habe.

  • Mir persönlich hilft das.
    Ich hatte nur allgemein gedacht. Da meine Anforderung wahrscheinlich etwas speziell ist, und wahrscheinlich sonst keiner ausgerechnet diese Option braucht.
    Man könnte dann eventuell doch besser die Option "--config-dir" mitgeben. Wenn ich mit dem Plugin eine alternative Config hätte, könnte jeder dort Optionen setzen die er mit dem Plugin anders braucht als normal.

  • If you're talking about adding mpv command line options to the plugin, why not have the ability to pass any of them like this:


    --cli opt1=abc,opt2=bcd,opt3=cde


    Split the "," with " --". A real example could look like:


    --cli no-cache,fullscreen,no-config,input-file=/dev/stdin,input-terminal=no,demuxer=mkv,demuxer-mkv-subtitle-preroll,vo=vdpau,hwdec=vdpau,ao=alsa:device=default,audio-channels=6,aid=1,no-sub-visibility,sub-paths=subs


    The is a real mpv command line my script generated:
    --no-cache --fullscreen --no-config --input-file=/dev/stdin --input-terminal=no --demuxer=mkv --demuxer-mkv-subtitle-preroll --vo=vdpau --hwdec=vdpau --ao=alsa:device=default --audio-channels=6 --aid=1 --no-sub-visibility --sub-paths=subs


    Also, about script. A lot of guys use a script to generate their mpv command line based on things like file extention (mkv, avi, mp4, jpg, etc).. Showing a still image uses a different command line from playing a video. Playing an mkv might use a different demuxer than avi. Playing interlaced video might add deinterlace commands to the command line that you wouldnt want with progressive video.. I think a good idea would be to support running an external script (the way vdr-mplayer launches mplayer.sh) except instead of the script launching mpv, it returns the generated command line that vdr-mpv should start mpv with. This way people can still completely customize settings and all vdr-mpv has to do is format the command line correctly before passing it to mpv.

  • 3PO : Ich konnte dein Problem jetzt nachstellen, aus irgendeinem Grund macht libmpv hier anscheinend etwas anders als mpv cli. Die Ursache konnte ich aber noch nicht finden. Du kannst aber erstmal direkt angeben was zur Ausgabe genutzt wird und im Setup Stereo Downmix aktivieren. Also z.B. -a alsa:device=[hdmi:CARD=NVidia,DEV=7]


    swer : Parameter -s wird jetzt genutzt um load-scripts=no zu setzen, bitte probier mal ob es funktioniert. Ich hatte jetzt kein mpv LUA zur Hand um das zu testen.


    @All: Funktioniert es bei euch ohne -a und dem in der asound.conf konfigurierten Default device? Das hatte nämlich bei meinen Tests für 3PO auch nur auf cli und nicht im Plugin funktioniert.

  • Hi Maniac,


    Toll das es weiter geht!


    Ich hab noch das hier gefunden:


    pi@slaapkamer ~/src/vdr-2.2.0/PLUGINS/src/mpv $ svdrpsend plug mpv
    220 slaapkamer SVDRP VideoDiskRecorder 2.2.0; Fri Jul 10 15:07:59 2015; UTF-8
    214-Plugin mpv v0.0.4-GITfee68b1 - mpv player plugin
    214 This plugin has no SVDRP commands
    221 slaapkamer closing connection


    Sollte der Play Befehl zeigen. Nicht wichtig, nur zum Vollständigkeit ;)


    Carel

  • Also ich kann bestätigen das der Parameter -s wie gewünscht arbeitet.


    Jedoch musste ich feststellen das der VDR mir manchmal immer noch einfriert wenn ich das Plugin mit der Blauen Taste verlasse.


    In dem Zusammenhang ist mit das neu verhalten der Blauen taste aufgefallen. Während der Wiedergabe blendet die Blaue Taste jetzt die Optionen ein (Die es Momentan noch nicht gibt). Also muss ich die Wiedergabe erst pausieren bevor ich das Plugin mit der Blauen Taste verlassen kann. Mir erschließt sich das Konzept nicht. Warum sollen die Optionen abhängig von der Wiedergabestatus eingeblendet werden?


    Und gibt es eventuell eine Idee warum es eine unterschied macht ob ich das Plugin über die Blaue taste verlasse oder eine der anderen Optionen nehme (Menü -> Wiedergabe beenden, Taste zurück).
    Solange kein DVD Menü offen ist müssen sich doch die zurück und die blaue Taste gleich verhalten oder?


    Scheinbar gibt es mit dem OSD Probleme wenn ich die Blaue taste zum verlassen verwende.



    Ich kann dann den VDR in den normal Zustand bringen indem ich ein svdrpsend plug softhddevice DETA / ATTA mache.


    [EDIT]


    jetzt ist mir doch gerade der VDR eingefroren als ich das MPV plugin mit der zurück Taste verlassen habe.


    Dabei ist mit noch aufgefallen, das wenn ich einen Skin verwende, der Remote Timer anzeigen kann, sich der VDR etwas anders verhält.
    Jetzt bekomme ich nach dem verlassen des Plugins die Meldung:

    Code
    1. Jul 10 17:19:49 vdrhw vdr[10807]: [10807] [mpv] OsdClose
    2. Jul 10 17:20:03 vdrhw vdr[10807]: [10874] SvdrpService: connected to 192.168.11.253:6419
    3. Jul 10 17:20:33 vdrhw vdr[10807]: [10874] SvdrpService: connected to 192.168.11.253:6419
    4. Jul 10 17:21:03 vdrhw vdr[10807]: [10874] SvdrpService: connected to 192.168.11.253:6419


    In diesem zustand kann der VDR dann nicht über svdrpsend gesteuert werden.
    Ich glaube jedoch das das eigentliche Problem auch hier das OSD ist welches nicht angezeigt werden kann. Auch wenn eine entsprechende Meldung ausbleibt.

  • carel : Danke für den Hinweis. Baue ich ein.


    swer : Blau ist nicht mehr zum Beenden, sondern für die Optionen. Dort ist bisher nur eine Kapitel Anzeige/Auswahl implementiert. Bei Dateien ohne Kapitel ist es derzeit leer. Da kommt aber noch ein bischen mehr rein. Bei Pause beendet sich mpv bei der blauen Taste? Das ollte eigentlich nicht passieren, eventuell hab ich da was im Key Handling übersehen.


    Die Stop und Zurück Taste haben im Code das gleiche Verhalten. Menü->Wiedergabe beenden sollte auch das gleiche tun.


    SVDRP wird nur genutzt um dem Plugin ein PLAY Kommando geben zu können. Beim beenden des Players kann da nichts blocken, kann aber gut sein das das mit dem OSD zusammenhängt wenn die Remote Timer ihre Nachricht ans OSD nicht loswerden und diese dann blocken.


    Wenn du den VDR über DETA / ATTA retten kannst vermute ich das der mpv Shutdown irgendwo hängenbleibt. Passiert das nur in Verbindung mit dem OSD?

  • Also bei mir beendet die Blau taste unter bestimmten Bedingungen das mpv Plugin.
    Wenn ich die Wiedergabe mit Runter pausiere und direkt im Anschluss blau drücke wird das Plugin beendet.



    Auch jetzt konnte ich den VDR mit DETA / ATTA retten. Der unterschied zum durchgang mit remotetimer ist halt nur das der svdrp Port nicht blockkiert ist und ich deshalb die DETA / ATTA Kommandos an den VDR bekomme.
    Ich denke das es nichts zu bedeuten hat, das die Meldung der VDR würde aufs dummy OSD auswichen ausblieb. Vermutlich kann der skindesigner gar nicht mit dem dummy OSD umgehen und daher kann das OSD auch nicht umgeleitet werden.


    Der Vollständigkeit halber muss ich erwähnen das ich auf der Taste Blau normalerweise ein keymacro habe um den Teletext auf zu rufen. Aber auch ohne dieses macro verändert sich nichts an dem verhalten.
    Zusätzlich habe ich auf die Taste 4 und die Taste 6 mit die Funktionen Kapitel vor/zurück gelegt da ich auf meiner FB kein Next Prev habe.


    Dann gibt es noch den Fall das ich das Plugin mit der zurück taste verlasse und der VDR nicht mehr reagiert


    Code
    1. Jul 10 21:49:17 vdrhw vdr[3401]: [3401] [mpv] OsdClose
    2. Jul 10 21:49:17 vdrhw vdr[3401]: [3495] [mpv]: event: 17 video-reconfig


    Jetzt bekomme ich keine svdrp comandos durch, und kann daher kein DETA / ATTA machen.
    Da dieses verhalten seltener ist habe ich noch kein Muster erkannt. Hier ist aber in allen Fällen bisher das event 17 das lätzte was der VDR von sich gibt. Jetzt hielt nur noch kill -9.