MPV Player als Alternativer Player z.B. in Kodi

  • schwer zu sagen ohne deine Vorraussetzungen zu kennen.
    Welche Windowsauflösung nutzt du?

    Testest du gerade mein Script? Falls ja: das ist nur für Cinemascope gedacht. d.h. die Windowsaufösung muss 1920x800 (Full HD) oder 3840x1600 (4K) betragen bei 2.4:1.

    Bei 21:9 benutzt du dann 1920x823 oder 3840x1646 etc. Einfach ausrechnen.

    Vlt kannst du Screenshots machen davon?

    ich habe die Auflösung auf 1920x823, dabei ist das Bild im Vollbildmodus auf 4:3, bei 16:9 Auflösung ist das Bild wieder normal.


    Dabei ist es egal ob ich dein script in dem Order habe oder nicht, da verändert sich nichts.

  • FoLLgoTT Hier ist unter 4.6.3 zu lesen:


    4.6.3 - Relational Operators

    Lua provides the following relational operators:

    < > <= >= ~= ==
    All these return nil as false and a value different from nil as true.

    Equality first compares the types of its operands. If they are different, then the result is nil. Otherwise, their values are compared. Numbers and strings are compared in the usual way. Tables, userdata and functions are compared by reference, that is, two tables are considered equal only if they are the same table. The operator ~= is exactly the negation of equality (==). Note that the conversion rules of Section 4.3 do not apply to equality comparisons. Thus, "0"==0 evaluates to false.

    Demnach hätte das doch funktionieren müssen?

    Code
    [HDR]
    profile-cond=p["video-params/primaries"]=="bt.2020"
    icc-profile=~/icc-profiles/high.icc
    
    [SDR]
    profile-cond=p["video-params/primaries"]~="bt.2020"
    icc-profile=~/icc-profiles/low.icc

    Ich vermute, dass die Rückgabe "true" sein muss, damit das Profil aktiviert wird. Im Falle Rec.2020 Content ist das erste also "nicht-nil" und das zweite "nil". Wird alles, was nicht "false" ist, als "true" gewertet? Es scheint ja kein "true" in dem Sinne zu geben, sondern nur "nicht-nil".

  • Dabei ist es egal ob ich dein script in dem Order habe oder nicht, da verändert sich nichts.

    Hast Du mpv -v auf einem Terminal gestartet? Dann siehst Du ganz genau, was im Hintergrund passiert. Alles andere ist Kaffeegrund lesen. Das ist ja das schöne an dem mpv Ansatz: Da gibt es genaue Informationen zurück, man muss sich halt damit abfinden, dass es mitunter fummelig ist, die relavanten Infos aus der großen menge an Daten raus zu lesen, aber damit hat man dann Gewissheit.

  • Hast Du mpv -v auf einem Terminal gestartet? Dann siehst Du ganz genau, was im Hintergrund passiert. Alles andere ist Kaffeegrund lesen. Das ist ja das schöne an dem mpv Ansatz: Da gibt es genaue Informationen zurück, man muss sich halt damit abfinden, dass es mitunter fummelig ist, die relavanten Infos aus der großen menge an Daten raus zu lesen, aber damit hat man dann Gewissheit.

    Hmm... sorry, ich weiß nicht mal was ein Terminal ist, ich hab ganz normal Windows 10.

  • ich habe die Auflösung auf 1920x823, dabei ist das Bild im Vollbildmodus auf 4:3, bei 16:9 Auflösung ist das Bild wieder normal.


    Dabei ist es egal ob ich dein script in dem Order habe oder nicht, da verändert sich nichts.

    schau mal in der Nvidia systemsteuerung (falls du ne Nvidia GPU hast).
    Unter "Desktop-Größe und -Position anpassen" sollte "Skalierung" auf "Seitenverhältnis" stehen
    Skalierung vornhemen mit Anzeige. Kein Haken bei "Von Spielen und Programmen ..."
    Im Reiter "Größe" ist nichts aktiviert.

  • schau mal in der Nvidia systemsteuerung (falls du ne Nvidia GPU hast).
    Unter "Desktop-Größe und -Position anpassen" sollte "Skalierung" auf "Seitenverhältnis" stehen
    Skalierung vornhemen mit Anzeige. Kein Haken bei "Von Spielen und Programmen ..."
    Im Reiter "Größe" ist nichts aktiviert.

    ja, gerade nachgeschaut, steht alles so wie bei dir beschrieben, trotzdem ist es 4:3 Formar


    Sobald ich die Desktopauflösunf auf "normal" Full HD stelle 16:9, ändert er nichts und alles wird in 21:9 dargestellt.


    Sehr seltsam, habe das mit MadVr getestet, da passiert das nicht, aber MAD VR ändert auch die Desktopauflösung sobald ich den Film starte, das macht der MPV Player nicht.


    was auffällt, für ca. 0,5 sekunden ist das format richtig, dann wird es auf 4:3 umgestellt vom Player


    edit: ohne Config Datei ist das Bild wieder 21:9, allerdings mit Balken rechts und links und oben und unten im Vollbild. Im Fenstermodus ist es korrekt, aber das ist natürlich unschön, wegen dem Fenster, welches man im Sichtfeld hat.


    edit 2: Der Eintrag der das Bild in 4:3 bringt lautet in der Config: d3d11-exclusive-fs=yes

  • Ich vermute, dass die Rückgabe "true" sein muss, damit das Profil aktiviert wird. Im Falle Rec.2020 Content ist das erste also "nicht-nil" und das zweite "nil". Wird alles, was nicht "false" ist, als "true" gewertet? Es scheint ja kein "true" in dem Sinne zu geben, sondern nur "nicht-nil".

    Hier ist die Lösung:


    Code
    [SDR]
    profile-cond=p["video-params/primaries"]~=nil and p["video-params/primaries"]~="bt.2020"


    Das Problem ist, dass der Parameter nicht immer gesetzt sein muss. Er ist wahrscheinlich nil, wenn der Film z.B. noch nicht geladen ist. Die zusätzliche Prüfung auf ungleich nil aktiviert das Profil jetzt nur, wenn "primaries" einen gültigen Wert besitzt. :)

  • Danke, ich war kurz davor, habe aber die Syntax nicht gewusst.

    Ich habe eine ganze Weile gesucht und leider keinen Tag gefunden, der einfach auf HDR hinweisen würde, was mich wundert, da der Player das ja ausliest. Mediainfo zeigt z.B. so was an:
    Format profile : Main 10@L5.1@High

    HDR format : SMPTE ST 2086, HDR10

    Das wäre an sich korrekt, denn ich habe auch schon BT.2020 Filme ohne HDR gesehen, einen. ;)


    Das Gleiche suche ich noch für Kodi, um den Player mit dem parameter HDR oder SDR aufzurufen. Da werde ich später mal reingucken.


    Fast fertig...

  • Mal eben geguckt, ich meine, es müsste sich hier drin eine Abfrage nach z.B. der Auflösung verstecken, aber ich kann sie leider nicht finden. Ich wollte eigentlich mal sehen, was da wie abgefragt wird. Da ja z.B. die Auflösung als Bedingung funktioniert, und die ja aus der Datei an sich kommt, sollte es ja nicht so schwierig sein, an der Stelle nach dem HDR-Flag zu gucken.

  • Das bringt nur leider vermutlich nix.

    Letztlich ist ja relevant, was bei MPV ankommt. Und da kann man nur den Filenamen übergeben. Mehr leider nicht.
    External players@Kodi Wiki


    Ansonsten müsstest du Kodi selbst anpacken und den Aufruf ändern.

    ExternalPlayer.cpp

    "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 ist nicht korrekt. ich übergebe ja einen String in Abhängigkeit der Auflösung an mein Wrapperscript /usr/bin/mpv-starter

    Da kommt also z.B. an: /DATEIPFAD/DATEINAME.ENDUNG HDR

    Was also ehlt, um es richtig sauber zu haben, ist die Auswertung des HDR Flags statt der Auflösung.

  • Stimmt. Da läuft es ja über die Rules und nicht über ein Argument beim Aufruf.

    Dann nehme ich alles zurück....

    "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

  • Hallo Zusammen,


    ich habe eben nochmal alle 20 Seiten des Threads durchgearbeitet und dabei versucht alle relevanten Infos in die Anleitung zu packen.


    https://docs.google.com/docume…zmtj2F1UtmSyYRcVKU8/edit#


    Jetzt bräuchte ich unbedingt Hilfe an ein paar Stellen, um das Ding Einsteigerfreundlich zu machen:


    FoLLgoTT & Atom: Könntet ihr die in dem Dokument enthaltene config mal hinsichtlich eurer bisher herausgetüftelten besten Settings bzgl. Tonemapping/skalieren etc. durchschauen? Ihr habt da viel gemacht, aber was nun das finale Ergebnis war ist mir in den 20 Seiten teils verborgen geblieben.


    Dann habe ich darüber hinaus ein paar offene Punkte, bei welchen ich entweder nichts finales gefunden hatte oder es einfach nicht gesehen habe:


    - Wie lege ich einzelne Parameter aus der conf auf Tastatur um mit den Werten rum zu spielen?

    - Gibt es bzgl. der JVC-Projektorsteuerung nun eine klare Vorgehensweise? atom: überarbeitest du das Python noch? Wie ist der Plan?


    Ich habe potentielle mpv.conf einträge mal in eine seperate Rubrik. Wenn ihr mögt, füge ich die aber auch in die Beispiel-conf ein mit entsprechend auskommentierungen. Was denkt ihr ist besser?

  • Das wäre an sich korrekt, denn ich habe auch schon BT.2020 Filme ohne HDR gesehen, einen. ;)

    Welcher war das?


    Ansonsten kannst du auch "gamma" abfragen. "pq" steht laut Manual für "Perceptual quantizer", also ST.2084.

    Code
    [HDR]
    profile-cond=p["video-params/gamma"]=="pq"


    - Wie lege ich einzelne Parameter aus der conf auf Tastatur um mit den Werten rum zu spielen?


    Hier ein paar Beispiele für die input.conf.


    Boolschen Parameter per Taste setzen:

    Code
    p set pause yes


    Profil per Taste aktivieren (muss mit profile-desc="..." benannt sein):

    Code
    m apply-profile "test"


    Parameter per Taste inkrementieren/dekrementieren (geht auch mit "multiply" statt "add"):

    Code
    + add target-peak 10
    - add target-peak -10
  • FoLLgoTT Uff, das weiß ich gar nicht mehr. Irgend eine Serie, meine ich. Ich meine auch, einige Blurays damit zum Kauf gesehen zu haben, habe aber keine.

    Da gibt es aber einfach zu viele Möglichkeiten:

    - 4k Auflösung in Rec.709 ohne HDR (Lawrence of Arabia erste remasterte Version)

    - 4k Auflösung in Rec.2020 ohne HDR (wie gesagt, hatte ich mal irgendwo was, mag sein, dass es hier noch rumfliegt)

    - 1080p mit Rec.2020 und HDR (Heimvideos, einige Serien)

    - Rec.709 mit HDR, ich meine das ginge auch?!

    - usw.

    Daher wäre es schon gut, wenn man die Sachen wirklich einzeln abfragt und entsprechende Profile aktiviert.

    Ist denn die "pq" Geschichte zwingend bei jedem HDR Content gesetzt? dann wäre das ja ein guter Indikator. ich für meinen teil benötige bei HDR einfach nur den hohen Lampenmodus.

  • Ist denn die "pq" Geschichte zwingend bei jedem HDR Content gesetzt?

    Nach kurzem Test sieht es so aus.


    HD / SDR / BT.709:


    HD / HDR / BT.2020:


    UHD / SDR / BT.709:


    UHD / HDR / BT.2020:



    HDR mit BT.709 und SDR mit BT.2020 sind mir noch nie begegnet. Es wäre wirklich mal interessant, ob sowas existiert. Falls du es noch findest, wäre ich dir sehr dankbar. :)

  • Weiß zufällig jemand wie man ein Vollbild mit dem MPV Player hinbekommt? Wenn ich auf Vollbild klicke, dann sind überall schwarze Ränder, als Links und Rechts und oben und unten.


    Er kommt scheinbar nicht mit der Desktopauflösung von Windows 10 zurecht.


    Bei MadVr war das anders, der hat die Desktopauflösung umgestellt, sobald ich eine Filmdatei angeklickt habe, dass macht der MPV Player nicht.

  • HDR mit BT.709 und SDR mit BT.2020 sind mir noch nie begegnet. Es wäre wirklich mal interessant, ob sowas existiert. Falls du es noch findest, wäre ich dir sehr dankbar. :)

    Da müsste ich meine Seriensammlung komplett durchscannen, also eher nicht, sorry.


    ich denke aber, wenn es gültig ist, sollte man damit rechnen und es berücksichtigen. Ich meine, es ist gültig. Ich meine auch, eine UHD mit Rec.2020 ohne HDR gesehen zu haben.

  • Das ist nicht korrekt. ich übergebe ja einen String in Abhängigkeit der Auflösung an mein Wrapperscript /usr/bin/mpv-starter

    Da kommt also z.B. an: /DATEIPFAD/DATEINAME.ENDUNG HDR

    Was also ehlt, um es richtig sauber zu haben, ist die Auswertung des HDR Flags statt der Auflösung.

    Nur mal so als Idee und Workaround in den Raum geworfen:

    Da Du eh mit einem Wrapperscript arbeitest könntest Du natürlich auch den Film vorab im Script mit mediainfo analysieren

    und anhand der gefundenen Metadaten entsprechend dem MPV starten.

    mediainfo ist ja recht fix, so dass es den Start nur minimal verzögern dürfte ....


    In MPV selbst das zu machen wäre natürlich eleganter...


    Btw: Danke an alle die hier die Entwicklung so intensiv vorantreiben!:sbier::thumbup:

    Derzeit mangelt es an Zeit mich da intensiv mit zu beschäftigen,

    aber über kurz oder lang würde ich hier auch gerne die madvr Installation durch eine Linux Appliance ersetzen.


    Daher werde iach vorerst stiller und sehr interessierter Mitleser bleiben.:sbier:

Jetzt mitmachen!

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