mpv LUA Script-Sammlung

  • Das mit dem UDP String empfangen klappt, aber ich verstehe nicht den Ablauf des LUA Scripts. Laut mpv Anleitung läuft das Script erst mal durch und der Start von mpv wird zurück gehalten, bis ein mp_event_loop aufgerufen wird. Das kann ich bestätigen: Wenn ich einen Loop baue, der auf das UDP-Paket wartet und bei Eingang irgend eine Aktion ausführt, wird der Start des Players bis zum Eingang der UDP-Nachricht verzögert. Wenn ich es richtig lese, muss das Script hier explizit auf Events warten, die es von mpv abzufragen hat. Ich habe ja den umgekehrten Fall: Ich will, dass das Script auf ein externes Event wartet und dann ein Aktion Richtung mpv ausführt.

  • Ist bekannt, ja. Damit kann man auch den gesamten mpv fernsteuern, benutze ich an anderer Stelle, also nicht hier zu Hause. Nur für den Textstring wollte ich mpv aber für meinen Player hier nicht so starten und würde es daher lieber mit LUA lösen. Die Pipes habe ich aber als Notlösung im Hinterkopf.


    An der Stelle wundere ich mich: Wie lasst Ihr Euch denn alle Eure eingestellte Lautstärke anzeigen? Die meisten hier dürften die AVRs ja im Technikraum verbaut haben.

  • Ich benutze dafür "Home Remote Designer". Dafür habe ich eine Oberfläche für Windows + Android gebastelt.
    Siehe erster Post hier: Hallo from Bodensee

    Ich steuer das dann entweder über Handy oder Tablett.

    Aber Achtung .. da muss man ganzschön arbeit reinstecken.


    Oben link steht der aktuelle Audio Modus und unten rechts die Lautstärke.
    Der Denon ist nativ eingebunden. Der Rest über Hue und Logitech Harmony.
    Du kannst z.B. auch den PC einbinden, indem man den PC in Harmony als Bluetooth Tastatur simuliert.

  • Ich will, dass das Script auf ein externes Event wartet und dann ein Aktion Richtung mpv ausführt.

    Bekommst du so ein Event auch geschickt, oder lässt sich der Wert nur abfragen?

    Wenn es geschickt wird, könntest du eine Socketverbindung aufmachen und warten, bis was kommt. Könnte nur mit einem Timeout oder dem Blocken des Players problematisch werden.

    Oder man fragt einfach in einem bestimmten Intervall ab. Dafür gibt es ja die "mp.add_timeout" Funktion.

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Das Event wird aktiv vom Convolver an den mpv-PC geschickt, sobald ich die am Convoler Lautstärke ändere. Form und Format sind beliebig, da selber programmiert.


    Mir wäre am liebsten eine Schleife, die oben wartet, ob etwas kommt und bei Empfang von Daten eine Aktion auslöst. Die müsste halt im Hintergrund laufen. Zyklisch abfragen vermeide ich bislang überall erfolgreich. Liegt mir gar nicht, diesr Pollerei überall.


    Timeout muss man sehen, da gehn meist große Werte oder direkt -1, das Blocken des Players ist mein aktuelles Problem.

  • Wenn es eine TCP Abfrage ist, kann man ja eine Verbindung aufmachen (hoffen, dass sie lange genug offen bleibt) und dann immer mit receive schauen, ob was da ist.
    Sieht zwar wie Polling aus. Löst aber keinen Netzwerkverkehr aus, da der Empfänger nur bei sich schaut, ob was da ist.

    Das dann mit einem Timer. Eine Schleife würde ja wieder den Player lahmlegen.

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Na das ist ja Polling, mir geht es nicht um den Netzwerkverkehr, sondern darum, dass ich so Schleifen mit Sleep und dauernder Abfrage versuche, zu vermeiden und lieber auf Interrupts gehe, die unmittelbar auslösen, wenn was reinkommt.


    Schleife im Hintergrund kann LUA nicht?

  • Ich stelle leider fest, dass das dynamic_crop Script sowohl bei Filmstart, leider vor allem aber auch nach Szenenwechsel per Fernbedienung mitunter einige Sekunden die Wiedergabe zum stottern bringt. Das ist je nach Film mehr oder weniger auffällig. Am heftigsten ist es mit HDR-Filmen. Habt Ihr das auch?

  • Ich stelle leider fest, dass das dynamic_crop Script sowohl bei Filmstart, leider vor allem aber auch nach Szenenwechsel per Fernbedienung mitunter einige Sekunden die Wiedergabe zum stottern bringt. Das ist je nach Film mehr oder weniger auffällig. Am heftigsten ist es mit HDR-Filmen. Habt Ihr das auch?

    bei mir sind es vlt 1-2 Frames beim Umschalten. Es kann sein, dass das an der Hardware/Performance liegt.

  • Das ist merkwürdig, da ich ja längst auf die 1080 umgestiegen bin. Ich werde mal meinen gesamten Config-Ordner auf den Backup-Rechner kippen und gucken, wie der sich verhält.

  • Interessanterweise ruckelt es nur bei vom Benutzer ausgelösten Kapitelsprüngen. Bei normalem Vor- und zurückskippen läuft sofort alles flüssig weiter.


    Reagiert das Script evtl. anders auf Kapitelsprünge?

  • Ich finde nix, habe mich heute eigentlich den halben Tag nur mit so Sachen beschäftigt und alles nacheinander mal auskommentiert.

  • hast du irgenwas in Richtung Buffer/Cache/Timing/Sync in der config?


    Ich habe das bei mir gerade nochmal getestet mit Bild hoch/runter und würde es als sehr flüssig bezeichnen.
    Allerdings habe ich auch den absoluten Overkill PC mit ner 3090 und nem 5950X

  • Nee, da habe ich nix. Ich kann das übrigens auf der 1080 und der 1050 gleichermaßen nachvollziehen.

  • können wir gerne. Es kann auch an linux (atom) vs Windows (ich) liegen


    meine aktuelle Config:

Jetzt mitmachen!

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