MPV Player als Alternativer Player z.B. in Kodi

  • Rechner ist aus, aber aus dem Kopf:

    - Dithering auf Fruit, halbiert schon mal die Last!

    - Statt dem großen FSRCNNX_x2_16-0-4-1.glsl einen der kleineren genommen, halbiert sie in etwa noch mal.

    - adaptive-sharpen.glsl drin gelassen.

    keine weiteren Shader angewandt.

  • Komplette PC's mit der 1650 gibt es neu immer wieder neu im Angebot für <600€. Fand ich daher auch interessant. Ich denke insgesamt fahren gerade Sparfüchse mit einem Komplett-PC günstiger.

    auch gewerblich als User "Speaker Base" unterwegs

  • Richtig geil sind auch die Zotac Magnus Boxen. Kosten halt 'ne Ecke mehr, aber dafür hat man wirklich was schönes. Top-Formfaktor mit hervorragend integrierten Nvidia-Karten. Habe diese jahrelang beruflich genutzt, also dutzende davon in den Fingern gehabt. Stets Top-Performance, ausnahmslos.


    Gibt's natürlich auch gebraucht.

    https://www.ebay-kleinanzeigen…1060k/1960808237-228-3377

    auch eine gute Idee, würde auch wirklich gut ins Heimkino passen. Ich persönlich habe schon einen PC den ich verwenden kann, aber keine Grafikkarte, also falls jemand verkaufen will, immer her damit :zwinker2:

  • Um das mal in einen greifbaren Kontext zu setzen, habe ich mal einige Screenshots gemacht. Jeweils:
    - nur die mpv-internen Scaler

    scale=ewa_lanczos # luma

    cscale=ewa_lanczos # chroma

    scale-antiring=0.4 # luma upscale deringing

    dscale=mitchell

    dscale-antiring=0.4 # luma downscale deringing

    cscale-antiring=0.4 # chroma upscale deringing

    correct-downscaling=yes

    linear-downscaling=yes

    sigmoid-upscaling=yes


    - Den etwas ressourcenfreundlicheren FSRCNN_x2_r2_8-0-2


    - Den GPU-Killer FSRCNNX_x2_16-0-4-1





  • Da liegt mehrfache Rechenleistung zwischen und ich für meinen Teil bin mit dem "günstigen" Shader ganz zufrieden und würze den halt noch etwas nach.

    Das sollte man sich vor Augen führen, bevor man anfängt, über 1000 € zusätzlich nachzudenken.

  • Ich habe oben noch einen Screenshot ergänzt, bei dem ich dann mal "adaptive sharpen" als shader dazu gepackt habe. Der macht dann den eigentlichen Impact und genau so habe ich es dann auch auf meiner 1050 konfiguriert. Die GPU ist damit zu 85 % ausgelastet und hält das stabil, so das man wenig Angst vor Spitzen haben muss.


    Ob einem das zu nah an der Grenze ist, oder ob man da lieber noch eine wenig Sicherheitsreserve kaufen möchte, muss jeder für sich selbst entscheiden.

  • Ich habe oben noch einen Screenshot ergänzt, bei dem ich dann mal "adaptive sharpen" als shader dazu gepackt habe. Der macht dann den eigentlichen Impact und genau so habe ich es dann auch auf meiner 1050 konfiguriert. Die GPU ist damit zu 85 % ausgelastet und hält das stabil, so das man wenig Angst vor Spitzen haben muss.


    Ob einem das zu nah an der Grenze ist, oder ob man da lieber noch eine wenig Sicherheitsreserve kaufen möchte, muss jeder für sich selbst entscheiden.

    der Graph ist jetzt aber ein Film mit SDR Material oder? bleibt die Kurve auch so bei UHD, HDR Filmen?

  • der Graph ist jetzt aber ein Film mit SDR Material oder? bleibt die Kurve auch so bei UHD, HDR Filmen?

    Das habe ich ebenfalls auf ~85% getrimmt, logisch. Da packe ich einzig den Adaptive Sharpen Shader rein, dann passt das genau.


    Ich wollte ja auch nur mal aufzeigen, was für Möglichkeiten man hat, mit seiner Rechenleistung umzugehen und vor allem, was man dafür wirklich bekommt. Ich habe immer den Eindruck, dass die Leute glauben, wenn sie 1000 € mehr ausgeben, wird ihr Bild auch 3x so gut. Wie gesagt, glaube ich, dass MadVR hier einiges zu beigetragen hat.

  • Sind nicht mal 85%. Hier mal ein Screenshot von nvtop mit 13 HDR Filmen, teils 16:9, teils Scope, nacheinander kurz angespielt.


    Das ist der relevante Teil der Config dazu:

    [HDR]

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

    target-trc=auto

    target-peak=200

    hdr-compute-peak=yes

    glsl-shaders-clr

    glsl-shader="~~/shaders/adaptive-sharpen.glsl"


  • Weil @((( atom ))) die Option --video-sync in dem anderen Thread erwähnt hat und bereits Capture-Karten ins Spiel kamen, möchte noch mal etwas zu der Audio/Video-Synchronisation im Allgemeinen erzählen.



    Das Problem ist seit Anbeginn der Zeit dasselbe. Es gibt verschiedene Taktgeber in einem PC und diese Optionen gehen verschieden damit um.


    Bei reiner Wiedergabe gibt es zwei Takte, einen für das Bild und einen für den Ton. Die sind leider nicht synchron und diese Asynchronität variiert auch noch mit den Bildparametern (Pixeltakt usw.). DirectShow unter Windows (und auch MPV) geben standardmäßig Audio den Vorzug, das heißt Bilder werden entsprechend wiederholt oder weggelassen, um die Synchronität beizubehalten. Weil Miniruckler nervig sind, wurde damals ReClock entwickelt, das das Ganze umdreht und dem Bild den Vorzug gibt. ReClock konnte bei analoger Tonausgabe entweder Resampling durchführen oder bei S/PDIF einzelne Samples wiederholen/auslassen. Letzteres war hörbar. Genau diese Optionen bietet MPV auch.


    Die Möglichkeiten zusammengefasst:

    • Ton ist führend, Bild wird korrigiert (Frames wiederholen/weglassen)
      • (es gab unter Windows mal eine Variante, die den Pixeltakt zur Laufzeit korrigiert hat. Das hatte aber selbst bei Röhrenprojektoren ein kurzes Nachsynchronisieren zur Folge und funktionierte daher nicht gut)
    • Bild ist führend, Ton wird korrigiert (Resampling oder Samples weglassen/wiederholen)
    • Bild und Ton laufen unabhängig vor sich hin und es wird irgendwann asynchron


    Die beste Variante war schon immer, die Asynchronität möglichst klein zu halten und Korrekturmaßnahmen innerhalb eines Films komplett zu vermeiden. Wie oben geschrieben, ist die Asynchronität zwischen Audio und Video bei jedem Pixeltakt etwas anders. Bitmonster aus Beisammen (ich habe noch Kontakt zu ihm) hat damals extra ein Tool entwickelt, dass mittels Powerstrip den optimalen Pixeltakt unter allen, von der Grafikkarte unterstützten, heraussucht. Hat man seine Auflösung so optimiert, konnte man teilweise >24 h ohne einen einzelnen Frame Drop/Repeat schauen! madshi hat sowas ähnliches dann in madVR implementiert und das hier dokumentiert.

    Das ist der Königsweg und der war bei Röhrenprojektoren perfekt umsetzbar, da die einfach alle Pixeltakte sehr gnädig akzeptiert haben. Leider ist das bei digitalen Projektoren nicht immer so einfach. Viele Pixeltakte werden einfach nicht akzeptiert und das Bild bleibt schwarz.


    Wie stark die Asynchronität ist, zeigt madVR übrigens an:


    MPV zeigt auf der Kommandozeile je nach Synchronisationsmodus auch etwas an, mit dem ich aber bisher weniger anfangen konnte (zumal der Wert bei jedem Start anders ist):



    So viel zu der Wiedergabe von Videos auf einem Rechner. :)


    Wenn dann noch eine Capture-Karte dazu kommt, bekommen wir einen dritten Takt, nämlich den des angeschlossenen Quellgerätes. Das, was dann idealerweise passieren muss, nennt sich Genlock. Der Takt der Videoausgabe wird an den Takt der Videoeingabe angepasst. Das machen Standalone-Videoprozessoren z.B. so. Das sind aber keine PCs mit verschiedenen Takten und wurden gleich so entwickelt. Ich weiß nicht, wie der Envy das macht. Bei NVIDIA konnte ich zumindest herausfinden, dass die Quadros Genlock unterstützen. Aber so weit ich weiß, sind im Envy keine Quadros verbaut.

    Wenn man das ohne Genlock laufen lässt, wird die Asynchronität zwischen Capture- und Grafikkarte irgendwann zu wiederholten oder verworfenen Bildern führen, also Miniruckler. Man könnte die Asynchronität sicherlich auch per zeitlichem Blenden ausgleichen, also das, was bei madVR als "Smooth Motion" bekannt ist. Die Frage ist, wie stark man das bei sehr ähnlichen Bildraten sieht.


    Jedenfalls bringt eine Capture-Karte eine Variable mehr ins Spiel, die man nicht vernachlässigen sollte. Ich denke, da kann man schon einiges an Zeit drin versenken, bis das richtig sauber läuft.

  • Weil @((( atom ))) die Option --video-sync in dem anderen Thread erwähnt hat und bereits Capture-Karten ins Spiel kamen, möchte noch mal etwas zu der Audio/Video-Synchronisation im Allgemeinen erzählen.

    Ich experimentiere noch etwas aber bis jetzt habe ich diese Optionen und es scheint es gut zu funkionieren mit einer Capture Card:

    Code
    profile=low-latency
    untimed
    framedrop=no
    video-sync=display-desync

    Ich kann noch nicht genau sagen, ob es mit der Zeit asynchron wird oder nicht.
    Rein theoretisch erwarte ich bei einer Abweichung von ca. 1 Frame pro Stunde bei 23,976Hz (Display, PC und Quelle) ca. 80ms Abweichung pro 2h Film (sofern ich das richtig verstehe)

Jetzt mitmachen!

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