PSNR, SSIM für Nero Digital-(mp4)-Dateien

  • Hallo,

    ich les immer von PSNR- und SSIM-Messungen bei Nero Digital-codierten mp4-Dateien. Aber wie (zum Teufel) komm ich zu den Werten? Gibts eigene Tools für mp4-Dateien? Und wenn eure Antwort AviSynth ist, könnt bitte gleich jemand das Skript dazu posten? Ich weiß... DirectShow-Befehl... aber habs noch nicht zum Laufen gebracht.

    Und vllt. eine blöde Frage: Wenn ichs dann mit dem Original vergleich, welches Original soll ich nehmen? Ne unkomprimierte avi-Datei?

    Vielen herzlichen Dank für eure Antworten!

  • Danke für den Tipp.

    Hab mir das Programm schon angeschaut. Es kann keine mp4-Dateien öffnen, jedenfalls nicht meine Nero-codierte...

    Quelldatei.. is schon klar, aber kann ich dann avi mit mp4 vergleichen?

  • Die Hülle ist doch egal.

    Ich würde beide Datein mit DirectShowSource() öffnen und dann vergleichen.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Ok, ich schildere alle Details und du/ihr bitte sagen, was falsch: :zunge:

    - Ausgangsmaterial: 1x unkomprimierte avi, 1x Nero-codierte mp4-Datei
    - Ich öffne die avi im PF Comparer als Quelldatei
    - Ich öffne folgende avs-Datei:

    clip1 = DirectShowSource("...\Nero_Digital\12000-14000.mp4")
    AssumeFPS(25.0) // keine Ahnung ob ichs brauch, PF hat gemotzt wegen fps
    return clip1

    - "Unrecognized Exception" bei PF im PF-eigenen avs-File.

    Geh ich das alles grundsätzlich falsch an oder fehlen nur ein paar Angaben? Wenn möglich, erzählt mir bitte die Lösung...

    Danke schön!

  • Was für eine framerate hat denn die MP4?

    Wenn es aber ein Problem im PF-AVS gibt, solltest du mal einen Blick da reinwerfen oder den Autor des Programms kontaktieren (ist auch hier im Board aktiv).

    Hm, erstellt das Programm beim Ausführen ein AVS-Skript? Ich hab's noch nicht benutzt.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Die MP4 hat eine Framerate von 25 fps (beim Abspielen immer ein paar Hundertstel rund um 24.95).

    PF erstellt folgende avs:
    ---
    LoadPlugin("...\DGMPGDec\DGDecode.dll")

    source = DirectShowSource("...\12000-14000.avi").ConvertToYUY2().trim(0,0).loop(1)
    encoded = AVISource("...\Nero_Digital\12000-14000.avs", false).ConvertToYUY2().trim(0,0).loop(1)
    compare(encoded,source,"","...\PF Comparer 0_2_2b\PFcompare_logfile.txt")
    ---

    Gerade erst entdeckt: Der liest avi als DSSource und avs als AVISource?!?! Ich geb im Programm aber ganz normal avi als Quell- und avs als codierte Datei an...


    Das Programm "Video Studio Quality 0.4 RC3" erkennt bei der avs eine äußerst falsche Framesize (1424x366 statt 640x512) und Frameanzahl!?

    Irgendeine Ahnung (bitte)? Kann doch nicht so schwer sein, der Sch...!

  • Juhu, ich habs.

    Die Framerate ist nicht ungefähr 25, sondern folgendermaßen:

    DirectShowSource("...\Nero_Digital\12000-14000.mp4", fps=24.976)

    Die PSNR-Werte sind zwar ungewöhnlich miserabel, aber dafür hab ich 1 Problem weniger.

    Danke originaler Nexus fürs in-die-richtige-Richtung-lenken!
    :cheers:

  • Dann könnte es durchaus sein, dass falsche Frames miteinander verglichen werden. Directshowsource ist nicht für framegenauigkeit bekannt.

    vergleich die beiden Clips mal folgendermaßen:

    source1 = avisource(...)
    source2 = directshowsource(...)

    stackvertical(source1,source2)

    ob auch die gleichen Frames miteinander verglichen werden.

    Es gibt eine Theorie, die besagt, dass das Universum sofort verschwinden und etwas noch Unerklärlicheres und Bizarres an seine Stelle treten wird, sobald jemand herausfindet, wofür es gut ist und warum es existiert.

    Es gibt eine andere Theorie, die besagt, dass das bereits geschehen ist.

  • Danke für den Tipp!

    Aber ich kann den Befehl nicht einbinden, da der PF Comparer die avs-Datei bei jedem Vergleich erstellt bzw. überschreibt. Oder gibts eine andere Möglichkeit?

  • Kopernikus meinte du sollst ein Skript erstellen mit

    Code
    source1 = avisource(...)
    source2 = directshowsource(...)
    stackvertical(source1,source2)

    und das dann beispielsweise mit VirtualDub öffnen und schauen ob die frames übereinstimmen, sprich ob z.B. frame 1000 von der AVI frame 1000 der MP4 entspricht.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Die PSNR-Werte sind trotzdem im Keller, obwohl der Clip sonst gut ausschaut. Aber ich will euch nicht mehr nerven, ich arbeite halt mit diesen weiter. *grfx*

  • Du könntest einen kurzen Teil uploaden (also einmal Original, einmal MP4). Bei rapidshare oder so.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Eine unkomprimierte avi? Ich glaub, die is a bissi zu groß. Na, passt schon, die Werte sind eh besser (Nero is aber immer noch an letzter Stelle unter allen Codecs).
    Trotzdem danke.

  • Zitat von geo6320

    Eine unkomprimierte avi?

    HuffYUV, wird trotzdem riesig, aber es muss ja auch nur ein kleiner Teil sein.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Dickes Danke für eure Bemühungen, es funkt jetzt alles. Nero hat sich wie erwartet an die Spitze gesetzt.
    Der Fehler war, dass ich die mp4 falsch gecroppt hab und die Videos daher unterschiedlich waren. (Dass ich jetzt erst draufkomm.... man lernt nie aus...)

    Nochmals danke. Auf das mit den versetzten Frames wär ich auch nicht gekommen.

  • Das Measurement Tool kenn ich, aber ich beanstande daran, dass es bei PSNR-Messungen Y, U und V einzeln ausliest und man den Durchlauf somit dreimal machen muss.

    Video Quality Studio (http://www.visumalchemia.com/vqstudio/) packt alles auf einmal in eine csv. (VQS ist dafür nicht sehr ausgebaut im Gegensatz zum Measuretool und stürzt z.b. bei Fehlermeldungen gern ab)

    Ich weiß, es ist nur eine Kleinigkeit, aber auch eine Zeitersparnis.

Jetzt mitmachen!

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