MPV Player als Alternativer Player z.B. in Kodi

  • Bei MadVR nutze ich eine eigene 3D-LUT statt „is calibrated to BT.2020“. Ich werde es auch mal ohne LUT testen. Habe aber in Erinnerung, dass es auch ohne LUT längst nicht so blass ist, wie mit MPV.


    Zudem scheint leidr auch das mit Displaycal erstellte ICC-Profil diesbezüglich mit MPV keine Verbesserung zu bringen.


    Im Moment ist mir nicht klar wo das Problem liegt.

  • Habe gerade Folgendes gefunden: Link Ist somit zumindest kein neues Thema.

    Das ist genau das, was ich hier erwähnt hatte (mit Screenshots). MPV konvertiert so, dass der Sättigungsverlauf nicht zur nativen Primärfarbe hin abknickt. Eigentlich ist das auch nicht unbedingt falsch, weil Hue komplett erhalten bleibt. Im Testbild ist der Unterschied extrem auffällig, im Filmbild dagegen deutlich weniger.


    Euer Problem kann ich aber nicht nachvollziehen. Ich habe extra noch mal die Ausgabe der drei Farbräume (BT.709, DCI-P3 und BT.2020) verglichen. Die Sättigungen von MPV und madVR sind jeweils identisch und verhalten sich wie erwartet. Das kann kein grundsätzliches Problem sein.

  • Das ist genau das, was ich hier erwähnt hatte (mit Screenshots). MPV konvertiert so, dass der Sättigungsverlauf nicht zur nativen Primärfarbe hin abknickt. Eigentlich ist das auch nicht unbedingt falsch, weil Hue komplett erhalten bleibt. Im Testbild ist der Unterschied extrem auffällig, im Filmbild dagegen deutlich weniger.


    Euer Problem kann ich aber nicht nachvollziehen. Ich habe extra noch mal die Ausgabe der drei Farbräume (BT.709, DCI-P3 und BT.2020) verglichen. Die Sättigungen von MPV und madVR sind jeweils identisch und verhalten sich wie erwartet. Das kann kein grundsätzliches Problem sein.

    zwischen mpv und madvr ist es in etwa indentisch. "in etwa" weil mir mir momentat das Tone mapping unterschiedlich eingestellt ist.
    Wahrscheinlich ist es identisch.

    Es ging eher darum, dass sich das Bild ändert mit dem Farbraum


    zum Testen:

    Code: input.conf
    b apply-profile "b"
    m apply-profile "m"
    n apply-profile "n"

    zusatz am Ende der mpv.conf:

    dann einfach mit b,n und m durchschalten. Man sieht sofort, dass "n" mit bt.2020 am wenigesten Farbe beinhaltet

  • Es ging eher darum, dass sich das Bild ändert mit dem Farbraum

    Ja, genau das habe ich verglichen. :)


    Die Sättigung sinkt in dieser Richtung: BT.709 -> DCI-P3 -> BT.2020. Das ist auch völlig korrekt. Das Anzeigegerät muss das dann entsprechend interpretieren. Zumindest mein JVC macht das auch, wenn man das richtige Farbprofil wählt. Ich konnte nie einen großen Unterschied zwischen DCI-P3 (ich glaube, es heißt "Referenz" am JVC) und BT.2020 ("BT.2020") am Projektor sehen. Die Unterschiede sind marginal.

  • Ja, genau das habe ich verglichen. :)


    Die Sättigung sinkt in dieser Richtung: BT.709 -> DCI-P3 -> BT.2020. Das ist auch völlig korrekt. Das Anzeigegerät muss das dann entsprechend interpretieren. Zumindest mein JVC macht das auch, wenn man das richtige Farbprofil wählt. Ich konnte nie einen großen Unterschied zwischen DCI-P3 (ich glaube, es heißt "Natürlich" am JVC) und BT.2020 ("BT.2020") am Projektor sehen. Die Unterschiede sind marginal.

    Ich bin auch der Meinung, dass es normal ist.

    Der Unterschied am JVC zwischen DCI-P3 und BT.2020 ist sehr klein, aber der Unterschied in mpv zwischen target-prim=bt.2020 und target-prim=dci-p3 ist deutlich sichtbar.

  • Den Sony kann man leider nur auf BT.2020 und Rec.709 stellen. Normal ist es definitiv bei mir nicht, das sieht man ohne Vergleichsbilder mit einem Auge und so würde ich auch keine UHDs schauen wollen.
    Nur wenn ich in der mpv.conf auf DCI-P3 setze, dann sieht es vergleichsweise passend aus, so wie es Mdann ja auch schreibt und das dürfte meiner Meinung nach doch gar nicht sein, oder?
    Und wie schon geschrieben, gibt es das Problem mit anderen Playern (Standalone UHD-Player, MadVR, Coreelec) auch nicht. MPV muss da irgendetwas anders machen (zumindest mit sonstigen Standardeinstellungen).

  • So, ich bin weitergekommen was die Farbsättigung angeht. Und zwar hatte ich das falsche ICC-File aus Displaycal erwischt. Hintergrund: Nachdem die Kalibrierung unter Displaycal durchgelaufen ist, befindet sich im Profilverzeichnis bereits eine ICC-Datei. Displaycal fragt aber zusätzlich noch, ob man eine ICC-Datei speichern möchte. Ich war bisher davon ausgegangen, dass die letztere die zu verwendende wäre. Ist sie aber nicht. Nimmt man die erstgenannte, dann passen die Farben auch mit Einstellung BT.2020 in der mpv.conf.


    Einziges Problem welches ich nun aber noch nach dem laden des ICC-Profils habe, ist Blackcrush. Auch mit dem Parameter target-peak habe ich das noch nicht richtig in den Griff bekommen.

  • Nachdem ich weiter im MPV github herumgestöbert habe liegt das schlechte Abschneiden von bt.2446a (dunkel/Grauschleier) wohl am Fehlen eines ICC Profils.

    Wäre mal interessant, wenn jemand, der ein solches eingebunden hat, den Vergleich zu z.B. bt.2390 oder gar MadVR vornimmt :)


    Ich habe mich mal kurz in die Erstellung eines LUT mit Displaycal (Anleitung hier im Forum) eingelesen und werde mich mal dran versuchen. Soweit ich das Verstanden habe kann man aus dem LUT dann ein ICC Profil erstellen?

    Zumal mit gpu-next ja auch die Einbindung eines LUT möglich sein soll.


    Oder sind die Probleme mit ICC Profilen noch aktuell? Wurde hier im Thread ja mal angesprochen.

  • Ich hab zwar innerhalb des Setupguides alles vorgesehen, wie es bisher hier im Thread beschrieben wurde, aber die richtige Vorgehensweise mit Displaycal ist mir noch nicht wirklich klar und auch Nachfragen von Usern diesbezüglich im Displaycal-Forum (u.a. auch von Folgott) sind, zumindest für mich, bisher nicht wirklich eindeutig klar beantwortet worden
    So scheitert es bei mir derzeit daran, daas MPV zwar das ICC-Profil nimmt und anscheinend das Gamut-Mapping auch korrekt arbeitet (Farben passen zu MadVR). Dafür scheint aber etwas mit dem Gamma nicht zu passen, da ich wie zuvor geschrieben erheblichen Blackcrush habe.

    Für die Gamut-Umsetzung habe ich es bisher so verstanden, dass für MPV lediglich ein entsprechendes Display-Profil mit Displaycal erstellt werden muss. MPV übernimmt dann das Mapping des Source-Farbraums auf das Gamut des Display-Profil (ist sozusagen ein custom target-prim).
    Mir ist aber noch nicht wirklich klar, wie die ICC-Datei für dispwin erzeugt werden muss und ob das wirklich notwendig und richtig ist, denn wenn man ein ICC-Profil unter mpv verwendet, dann wird neben target-prim auch der Parameter target-trc laut Manual ignoriert und deshalb würde ich sagen, dass MPV auch das Gamma-Profil aus einem ICC-Profil nutzt, was aber dem bisher hier im Thread geschilderten widerspricht, da hier das Gamma eigentlich über dispwin auf OS-Ebene geladen werden soll, da es unter MPV keine Wirkung zeigt. Per dispwin konnte ich bisher aber umgekehrt auch noch keine Wirkung feststellen. Eventuell erstelle ich aber auch das ICC-Profil mit Displaycal falsch.

    Ich habe mittlerweile noch einen Beitrag von Florian Höch gefunden, in dem er kurz darauf eingeht, wie eine 3D-Lut in ein ICC-Profil durch Erzeugung eines syntethischen ICC-Profils verpackt werden kann. Dies sollte dann von ICC kompatibler Software, wie eben MPV, verwendet werden können (siehe Link ). Das werde ich in jedem Fall nochmal testen.


    Ansonsten danke für den Hinweis bzgl. bt.2446a und dem ICC-Profil.

  • Ich habe bis heute kein gemessenes ICC-Profil erzeugen können, das gleichzeitig Gamut und Gamma korrigiert. Gamma muss anscheinend immer mit dem Profile Loader auf das Betriebssystem in die 1D-LUTs der Grafikkarte angewendet werden (was minimales Banding erzeugen kann). MPV wendet dann nur die Matrix für den Gamut auf das Bild an.


    Das Problem mit dem Absaufen untenrum kann ich nachvollziehen. Das kann man umgehen, wenn man das ICC-Profil in den Synthetic Profile Creator zieht (Drag & Drop), den Schwarzwert auf 0 cd/m² setzt und dann ein neues abspeichert. So richtig schön ist das aber nicht, da umständlich.


    Am besten zwei Profile mit Hotkeys erstellen. Einmal mit und einmal ohne Profil. Dann kann man direkt auf Knopfdruck sehen, was es tut.


    Ich bleibe bisher bei meiner Lösung mit der 3D-LUT für den Desktop. Die funktioniert perfekt und bandingfrei. Aber eben nur unter Windows.

  • Habe mal Teile von Tone-mapping-mode und Gamut-mapping-mode verglichen.


    Wäre cool wenn jemand ein paar MadVR Screenshots der aktuellen Version beisteuern könnte.

    tone-mapping-mode=luma

    gamut-mapping-mode=desaturate

    tone-mapping-mode=luma

    gamut-mapping-mode=auto

    tone-mapping-mode=auto

    gamut-mapping-mode=auto

    tone-mapping-mode=auto

    gamut-mapping-mode=desaturate


    Was davon nun richtig(er) sein soll ist mir nicht ganz klar. Habe leider keine SDR Version von Mad Max mehr um mal zumindest grob zu vergleichen.

    Luma+auto bzw darken gefällt mir am Besten.

    Welcher Modus gamut-mapping-mode=auto hier ist habe ich vergessen, überprüfe ich direkt... Gamut-mapping-mode=darken


    Code
    "darken: Linearly darken the entire image, then clip to the color volume. Unlike clip, this does not destroy detail in saturated regions, but comes at the cost of sometimes significantly lowering output brightness. (--vo=gpu-next only)"

    Den letzten Satzteil Konnte ich bei meinen kurzen Testsichtungen bisher nicht nachvollziehen.


    Eine grundsätzliche Frage:

    Nutzt MPV pro Szene/Bild einen unterschiedlichen Modus wenn ich "auto" einstelle? Oder einen pro Film?


    Zitat von Mule

    Ansonsten danke für den Hinweis bzgl. bt.2446a und dem ICC-Profil.

    Ich habe eben auch mal mit dem synthetischen Profil tool aus Displaycal gespielt, generische Profile erstellt und muss das zurücknehmen. Das wird ja noch dunkler, egal was ich im Tool einstellen. (hätte erwartet, dass "white level" was ändert?) Mit bt2390 wurde es auch dunkler aber nicht in dem gleichen Maße.. Ob da jetzt ein Profil auf Basis einer Messung wirklich so viel ändert? Mal schauen....


    Oder muss man noch mehr setzen als "icc-profile=Pfad zum Profil" ?

  • Das Problem mit dem Absaufen untenrum kann ich nachvollziehen. Das kann man umgehen, wenn man das ICC-Profil in den Synthetic Profile Creator zieht (Drag & Drop), den Schwarzwert auf 0 cd/m² setzt und dann ein neues abspeichert. So richtig schön ist das aber nicht, da umständlich.

    Gerade einmal ein synthetisches Profil erstellt. Problem dabei: Es wird die LUT auf Basis der Messungen entfernt und es bleiben nur noch die "Eckkoordinaten", was man schon an der Dateigröße erkennen kann. Das ICC-File, welches ich als Grundlage genommen hatte, hatte fast 1MB. Das synthetische nur noch 3KB. Somit ist das leider kein gangbarer Weg.
    Ich schaffe es auch nach wie vor nicht, dass eine per dispwin geladenes Profil irgendeine Auswirkung auf das Gamme hätte. Dispwin lädt alles fehlerfrei, aber es schlicht keine erkennbaren Auswirkungen.

    Ich hoffe, dass jemand anderes hier noch Input liefern kann. Hier fehlt mir schlicht das Hintergrundwissen, wie man mit Displaycal eine korrekte Kalibrierung mit dispwin und MPV herstellt. Wer übernimmt?

  • Ich gebe auf: Ich bekomme es nicht hin eine 3D-LUT korrekt zu verwenden. Bezüglich Gamut sieht es grundsätzlich korrekt aus, aber leider nur mit erheblichem Blackcrush.

    Sofern niemand mehr eine Idee hat, werde ich das Projekt Mediacenter mit MPV unter Linux ruhen lassen, da es so für mich leider nicht nutzbar ist. Dann bleibe ich doch lieber bei MadVR und Windows.

  • Problem dabei: Es wird die LUT auf Basis der Messungen entfernt und es bleiben nur noch die "Eckkoordinaten", was man schon an der Dateigröße erkennen kann. Das ICC-File, welches ich als Grundlage genommen hatte, hatte fast 1MB. Das synthetische nur noch 3KB. Somit ist das leider kein gangbarer Weg.

    Das würde ja auch reichen, solange dein ICC-Loader die Gammakorrektur in den 1D-LUTs anwendet.


    Es gibt ja grundsätzlich zwei Möglichkeiten, den Farbraum zu korrigieren (siehe hier).

    1. 3 x 1D-LUTs + Matrix
    2. 3D-LUT

    1. wird von MPV unterstützt, indem es den Matrixanteil anwendet. Der Schwarzwert gehört anscheinend auch dazu. Gamma wird komplett ignoriert. Letzteres kann aber der ICC-Loader des Betriebssystems anwenden. Das heißt, das einzige, das bei dir fehlt, ist das Laden der drei 1D-LUTs in die Grafikkarte. Das durch den Synthetic Profile Creator erzeugte Profil kann MPV anwenden und damit den Gamut korrigieren. Eine 3D-LUT benötigst du also gar nicht.


    Hast du displaycal-apply-profiles mal probiert?

  • FoLLgoTT : Danke für die Infos und Erläuterungen. Ich gebe auch noch nicht auf (war gestern wohl etwas frustriert). Wenn ich es richtig verstanden habe, dann bleibt die Matrix beim Erstellen eines synthetischen Profils auf Basis eines nicht synthetischen Profils erhalten, korrekt? Meine Befürchtung war, dass auch diese entfernt werden würde. Somit könnte man also ohne Verlust, wie von Dir zuvor beschrieben, das Problem mit dem Blackcrush korrigieren, korrekt?

    displaycal-apply-Profiles habe ich noch nicht getestet. Dafür habe ich gestern allerdings noch xcalib (bspw. unter Link zu finden) getestet. Hierbei habe ich dann auch von dem dortigen git-Repository die Testprofile genutzt und konnte nach Aktivierung des bluish.icc-Profils auch eine komplette Verschiebung der Farben Richtung blau sofort erkennen. Daraufhin habe ich dieses bluish.icc-Profil auch mit dispwin getestet und auch dort wurde das Bild sofort bläuclich.
    Komisch ist aber weiterhin, dass ich keine Gammaveränderungen wahrnehmen kann. So habe ich aus dem git-Repository auch das gamma_1_0.icc sowohl mit dispwin, als auch mit xcalib getestet und es gab erneut überhaupt keine Veränderungen im Bild, obwohl ein Gamma von 1 ja sofort ins Auge stechen sollte. Ich kann mir ehrlich nicht erklären was da nicht stimmt. Wie kann es sein, dass es mit entsprechenden Profilen eine Farbverschiebung gibt, aber keine Gammaveränderung?
    Vermutlich sitzt das Problem vor dem Bildschirm, aber ich komm nicht drauf.

Jetzt mitmachen!

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