MPV Player als Alternativer Player z.B. in Kodi

  • Passt schon, das läuft ja erst mal und ich werde das vermutlich bei Gelegenheit neu auf Arch Linux aufsetzen.

  • Ich habe mich den Abend über mal mit den Scalern/Shadern beschäftigt, einfach mal visuell. Der FSRCNN Shader ist schon richtig gut, ich hatte ihn wohl mit einer zu scharfen Basis-Skalierung benutzt. Das war dann too much. Ich verstehe nicht ganz, was der Shader wirklich genau macht, da das eigentliche Scaling ja z.B. Lanczos macht. Auf eine 4K Quelle, also nur als Schärfer kann man ihn aber nicht anwenden, also doch ein Scaler. Seltsam.. Lanczos/FSRCNN ist übrigens die Kombi, bei der ich hängen geblieben bin. Damit lässt sich absolut alles gucken, von modern bis uralt. Moderne Sachen gehen in Richtung 4K Optik und alte Sachen bekommen prima Details, ohne, dass Artefakte störend werden. Habe ich tatsächlich bei keinem getesteten Film gesehen und ich hatte selbst Humphrey Bogard auf der Leinwand. ;)


    Die Optionen sind:
    fbo-format=rgba16hf # braucht der folgende Shader

    glsl-shader="~~/FSRCNN_x2_r2_8-0-2.glsl" # schnlle Version, bin immer noch mit der 1050er unterwegs.


    scale=ewa_lanczos # luma

    cscale=ewa_lanczos # chroma

    scale-antiring=0.4 # luma upscale deringing

    dscale-antiring=0.4 # luma downscale deringing

    cscale-antiring=0.4 # chroma upscale deringing

    correct-downscaling=yes

    linear-downscaling=yes

    sigmoid-upscaling=yes


    Evtl. mag das ja mal einer von Euch gegenchecken.


    Dann habe ich mal mein Audio Delay fein eingestellt und festgestellt, dass die 100 ms Schritte, die man mit CTRL+/CTRL- setzen kann, natürlich viel zu groß sind. Das lässt sich mit einem Eintrag in der input.conf beheben:
    ctrl++ add audio-delay 0.010

    ctrl+- add audio-delay -0.010


    Das mit einem brauchbaren Testvideo - ich habe eins von hier genommen - ist dann schon ziemlich auf den Punkt.


    Ich update mal meine config auf der ersten Seite.

    Systemaufrufe aus LUA heraus klappen prima, zumindest unter Linux - und ich habe wieder Pausenbeleuchtungs-Regelung.


    EDIT:

    Mit save-position-on-quit=yes bekommt man das gewohnte Kodi-verhalten, dass es exakt da weiter geht, wo man aufgehört hat, zu gucken.

  • MPV lässt sich unter Ubuntu 21.10 doch sehr einfach kompilieren.

    Aktuelle Release-Version (derzeit V0.34):

    Code
    sudo apt-get install devscripts equivs
    cd ~
    git clone https://github.com/mpv-player/mpv-build.git
    cd mpv-build
    ./use-mpv-release
    ./update
    mk-build-deps -s sudo -i
    dpkg-buildpackage -uc -us -b -j4
    sudo dpkg -i ../mpv_0.34.0_amd64.deb 

    Aktuelle Master-Version:

    Code
    sudo apt-get install devscripts equivs
    cd ~
    git clone https://github.com/mpv-player/mpv-build.git
    cd mpv-build
    ./update
    mk-build-deps -s sudo -i
    dpkg-buildpackage -uc -us -b -j4
    sudo dpkg -i ../mpv_<version>_amd64.deb

    Die so kompilierten und installierten MPV-Versionen beinhalten jeweils gleich die aktuellen master Versionen von ffmpeg und libass

  • Oh, wie hübsch, vielen Dank dafür! Was mir aber nicht klar ist, ist dass ein Paket der Dependencies doch zu alt war und nicht mit drin wäre. Das war glaube ich vulkan, also essentiell. Oder erledigen die build-deps das? Bist Du da zufällig drüber gestolpert? In jedem Fall werde ich dass dann morgen mal so probieren.

  • Wie läuft das mit MPV eigentlich mit den verschiedenen Auflösungen? HD und UHD. Schaltet er dann die GPU genauso um wie es madVR macht?

    Standardmäßig Nein. Auch madvr macht das standardmäßig nicht, sondern nur wenn du das in madvr einstellst.

    Bei mpv ist es möglich, aber nur über externe Scripte.

    Es ist völlig dir überlassen, wie du das machen möchtest.
    Ich möchte zum Beispiel alles was HD ist auf UHD hochskalieren mit mpv shadern. D.h. Ich habe immer UHD eingestellt und möchte keinen Wechsel der Auflösung haben.

    Es ist allerdings evtl sinvoll dies für Bildwiederholungsraten zu tun (werde ich demnächst bei mir hinzufügen)

  • Da bin ich auch schon am überlegen. Ich denke, ich werde immer auf die Filmwiederholrate gehen und nach Filmende dort bleiben. Erspart mir die ewige Zurückschalterei, wenn ich Serien gucke und zündet also nur, wenn auch wirklich ein Wechsel ansteht. Das hat madVR/Windows bei mir nie zufriedenstellend hinbekommen. Mit einem Script und xrandr easy-peasy.


    Den MPV habe ich sogar vor ein paar Monaten selber auf minimal Konfiguration kompiliert, in einem Buildroot Projekt bei mir auf der Arbeit. Fragt bitte nicht nach dem Aufwand, die passende Zusammenstellung zu finden, Abhängigkeiten zu erfüllen usw. Tage...

  • Ich hatte mich jetzt noch etwas mit Emby Theater beschäftigt, da das eigentlich mein Wunschsystem gewesen wäre. D.h. ein Ubuntu mit Emby Theater als Frontend, das sich die Daten vom schon bestehenden Emby Server lädt und dann per MPV wiedergibt.

    Das hätte den Vorteil, dass der Player dann wieder schön integriert wäre und nicht die Nachteile eines externen Players (Resume, GUI,...).


    Leider scheint MPV dort nicht richtig integriert zu sein. Zumindest lassen sich "erweiterte" Features wie HDR und externe Shader nicht nutzen:angry:

    Ich hatt es auf Linux und Windows probiert. Aber jedesmal wird der integrierte MPV und nicht der bereits installierte MPV genutzt. Nur bei der Version 3.0.11 (aktuell 3.0.15) ging es, da die noch die externe MPV Installation nutzt.
    Eine Nachfrage im Emby Forum wurde nur knapp beantwortet und hat auch nicht weitergeholfen.

    Ich werde die Entwicklung zwar noch im Auge behalten. Momentan ist der Weg aber erst mal gedanklich zu und ich schaue mich nach anderen Möglichkeiten um.


    Was mir bei der fertigen 0.34 aus dem Uvt-Repo noch aufgefallen ist, ist das die Version keine Samba-Unterstützung hat. Wenn man über einer Windows-Freigabe abspielen will, klappt das nicht. Als Workaround kann man die Freigabe zumindest ins lokale Filesystem mounten und so abspielen.

    Das wäre vermutlich ein Vorteil des selbst kompilierens, dass man bestimmen kann, welche Features enthalten sind.

    "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

  • Zur Integration kann ich berichten, dass - zumindest in Kodi - die Sache bei mir dahin geht, dass die Integration für mich inzwischen besser ist, als der native Kodi Player.

    Wie kann das sein?

    - Ich kann exakt bestimmen, wann welche Overlays mit welchen Informationen mit welcher Durchsichtigkeit, Schriftart, etc. kommen. Das geht sicherlich mit Kodi auch, ich finde es aber wesentlich freundlicher zu konfigurieren mit MPV.

    - Der Player ist abgekoppelt. Sollte der also mal crashen (Null Mal bisher!), reißt er nicht das gesamte Kodi mit runter. Kodi ist nur noch der "Dateibrowser" und wirkt auf misch viel schlanker.

    - Kodi als Session statt dem Desktop. Sollte Kodi ansich also mal crashen, wird es einfach neu gestartet, Vollbild und korrekt im Focus.

    - Viel viel schneller! - Ich klicke auf einen Film und der startet gefühlt ohne jegliche Verzögerung. Spulen ist einfach nur absurd: Die Keyframes werden so schnell angesprungen, als wären die laufendes Video. Ideal für das so beliebte Filmsushi. :)


    Der einzige große Wehrmutstropfen ist die scheint's unvollständig implementierte 3D-LUT Unterstützung, aber da bin ich guter Dinge, dass man die nachgerüstet bekommt.

  • Ich habe noch eine schädlichen Parameter gefunden:


    target-trc=gamma2.2


    Der ändert das Gamma bei SDR! :shock:

    Ich habe es gemessen und auch im Bild mit madVR verglichen. Laut Dokumentation wird HDR ohne die explizite Angabe dieses Parameters immer auf Gamma 2,2 konvertiert und SDR bleibt unangetastet. Das sieht dann richtig aus und misst sich auch korrekt. @((( atom ))): der Parameter sollte dann wohl auch raus.


    Noch ein Tipp: man sollte sich eine Sektion für HDR anlegen, da target-peak auch SDR beeinflusst. So z.B.:


    Code
    [HDR]
    profile-cond=p["video-params/primaries"]=="bt.2020"
    target-peak=120


    Ansonsten klappt das mit dem Script, dass die Bildwiederholfrequenz bzw. Auflösung unter Windows ändert, gut, allerdings kommt meine Warping-Software damit nicht klar und deaktiviert das Warping. Das ist beim Wechsel mit madVR komischerweise nicht so. Ich muss mal schauen, ob ein anderes Tool als nircmd da besser funktioniert. Aber das sind Detailprobleme, die die meisten von euch nicht haben werden.


    3D-LUT habe ich auch noch mal nachgemessen. Mit der Desktop-Variante könnte ich leben. So gut wie die native Unterstützung von madVR ist das aber nicht. Auch wenn die Graustufen passen, bekommt man die Farben damit nicht so genau auf den Punkt bei BT.709 und DCI-P3. Schade.

  • Das mit dem Gamma muss ich mir auch mal angucken, danke.


    Ich habe doch längst SDR und HDR Profile in meiner Config?


    Da ich ja kein Windows mehr benutze, kommt für mich die Desktop-LUT App leider nicht in Frage. Möglicherweise finde ich was ähnliches für Linux, aber davon ab mal eine Verständnisfrage: Du schreibst, dass die 3D-LUT in MPV den Gamut und nicht das Gamma beeinflusst. Im Falle SDR gehe ich ja mit Gamma 2.2 rein in die LUT und will auch mit 2.2 ausgeben. Da ich meinen Projektor per Autacal korrekt auf Gamma 2.2 halte, hätte ich doch eigentlich kein Problem, wenn ich das einfach durchreiche, oder? Was das für HDR bedeutet ist mir allerdings noch ganz klar, denn da gibt's ja eigentlich kein Gamma in der Art und unsere HDR->SDR Wandlung benutzt wieder das geläufige 2.2er Gamma.




    Kannst Du mir da ein wenig auf die Sprünge helfen?

  • Ich habe doch längst SDR und HDR Profile in meiner Config?

    Hatte ich nicht gesehen. :)

    Aber du prüfst mit der Auflösung und nicht den Primärfarben. Es gibt auch ganz wenige UHD-Scheiben die in BT.709 gemastert sind und umgekehrt gibt es BT.2020-Streams von einigen Serien in 1080p.


    Kannst Du mir da ein wenig auf die Sprünge helfen?

    Im Moment nicht ganz, da meine Versuche auf dem "Aus"-Profil, also ohne AutoCal, beruhen. Aber deine Überlegungen klingen für mich erstmal richtig. Muss man einfach mal validieren.


    Ich meine aber, selbst die Primärfarben waren mit dem ICC-Profil nicht so richtig passend. Mit der 3D-LUT über den Desktop sah das besser aus. Ich kann aber auch noch mal nachmessen.

  • Aber du prüfst mit der Auflösung und nicht den Primärfarben. Es gibt auch ganz wenige UHD-Scheiben die in BT.709 gemastert sind und umgekehrt gibt es BT.2020-Streams von einigen Serien in 1080p.

    Genau, ich wollte es erst mal nur zum laufen kriegen und wusste nicht den korrekten Bezeichner. Kommt noch. :)

    Ich häng einfach mal den EODIS ran und mache eine LUT unter Linux. Displaycal bietet dann an, das .ICCProfil gleich ins Betriebssystem zu integrieren, oder aber zu speichern. Also speichern und MPV drauf verweisen. So habe ich das auf meinem (deutlich zu blauen) Notebook gemacht und die Farben sind damit deutlich besser. Was da jetzt aber genau passiert im hintergrund, ist eben derzeit völlig unklar. Na, man wird es rausfinden. Wenn's denn nur die Farben wären, wäre das ja schon mal besser, als nix.

  • Das ist alles etwas merkwürdig mit dem ICC/ICM-Profil. Wenn ich ein synthetisches erzeuge, bei dem ich z.B. Gamma 3,0 angebe, dann wird sowohl Gamma als auch Gamut anscheinend korrekt angewendet (ist ja sofort sichtbar). Wenn ich jedoch das ICC-Profil benutze, dass DisplayCAL aus der Kalibrierung ausspuckt, dann wird nur der Gamut korrigiert, nicht aber Gamma. Ich sehe aber in dem Profil-Viewer von DisplayCAL, dass dort drei 1D-LUTs mit Korrekturen enthalten sind und wenn ich davon eine 3D-LUT (.cube oder .3dlut) erstelle, dann funktioniert die auch richtig (Desktop oder madVR). Es gibt also einen Unterschied zwischen dem synthetischen und dem durch eine Messung erzeugtem ICC-Profil.


    Alles sehr undurchsichtig...

Jetzt mitmachen!

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