Programm um Frames zu extrahieren zwecks Qualitätsvergleich

  • Hallo,

    seit vielen Jahren encode ich mit allen möglichen Codecs.
    Was mir jedoch noch fehlt ist ein Programm dem ich sage es soll aus z.B. 4 verschiedenen avis die frames 80-90 extrahieren als jpg.

    Zwecks Qualitätsvergleich möchte ich das Ganze nutzen ;)


    Weiß jemand Rat?

  • :welcome:

    Zunächst erst mal:

    Wieso als JPG? Dabei geht doch zusätzlich Qualität verloren! PNG wäre gut komprimiert, und immer noch verlustlos.

    Ich würde empfehlen: Video in VirtualDubMod öffnen, Bereich von-bis markieren, exportieren als Image-Sequence.

    Oder: Alle vier Videos in AviSynth öffnen, und ihren Inhalt per StackVertical und StackHorizontal neben- und übereinander stapeln. Das Skript in VirtualDubMod öffnen, Bilder speichern (entweder per Umschalt+1 einzeln, oder ^).
    __

    Weiter:

    Qualitätsvergleich - wie? Mal so draufgucken? Oder richtig messen im Vergleich zu einem Original?

  • - JPEG komprimiert gut bei natürlichen Bildern mit weicheren Farbverläufen, aber schlecht bei scharfen Zeichnungen. Dabei kann man die Qualität einstellen, den Verlust der Komprimierung dadurch in Grenzen halten, aber nicht völlig vermeiden.

    - GIF komprimiert gut bei scharfen Zeichnungen und Bildern mit sehr wenigen Farben (z.B. Screenshots von Dialogen ohne Themes, wie unter Windows 9x/2000); dieses Format beherrscht maximal 256 verschiedene einzelne Farben.

    - PNG kann sowohl wie GIF mit Palettenbildern von maximal 256 Farben arbeiten (und komprimiert dabei häufig noch stärker als GIF), als auch natürliche Bilder komprimieren (das zwar nicht so stark wie JPEG, dafür aber verlustfrei).

    - BMP komprimiert bei Vollfarben (24 bit RGB) überhaupt gar nicht. Das ergibt riesige Bilddateien. Damit ärgerst du die armen Leute, die nur Analogmodem oder ISDN haben.

  • :so-nicht:
    Wir woll doch nicht schonwieder Vergessen haben, das JPEG auch verlustlos Compremieren kann. Das dies die meisten Programme nicht anbieten heisst nicht, das es nicht möglich ist. Das ist wie mit MPEG und Auflösungen über CIF/SIF.

    AC-Sama(Robert Vincenz)
    (werde für das -Chan zu alt :zunge: )

  • Ich wollte Newbies eigentlich nicht mit Spitzfindigkeiten verwirren; aber bitte schön...

    Jedenfalls müsste ich schon etwas länger forschen, bis ich ein Programm finde, das verlustlose JPEGs ausgeben kann. Die meisten Programme unterstützen nur Baseline oder eventuell Progressive JPEG. Und die Komprimierung wäre auch kaum wesentlich besser als die von 24-bit-PNG.

  • Niedlich! ;)

    Hier außerdem noch das AviSynth-Skript, das ich gern verwende (bitte anpassen auf eigene Bedürfnisse; 'orig' und 'copy' müssen als YV12 vorliegen; statt ~ bitte sinnvolle Dateinamen einsetzen):

    PHP
    LoadPlugin("CompareYV12.dll")
    LoadPlugin("SSIM.dll")
    orig = ...
    copy = ...
    ssim = SSIM(orig,copy,"~.csv","~.txt",lumimask=true)
    comp = CompareYV12(orig,copy,"YUV","~.log")
    diff = Subtract(orig,copy)
    comp.Overlay(ssim).Overlay(diff)


    Im englischen Forum hat mir mal jemand erklärt, wie es ohne Overlay noch schneller gehen könnte, dazu brauche ich aber noch die MaskTools...

  • Mal noch eine verständnis frage zu "~" in avisynth. Normaler weise nutzt man die Tilde ja für das Homeverzeichnis. Ist das auch bei avisynth so und wenn ja wo ist das für avisynth?

    AC-Sama(Robert Vincenz)
    (werde für das -Chan zu alt :zunge: )

  • Einfach nur ein Platzhalter für "denk dir selber einen sinnvollen Dateinamen aus".

    Unter Windows hat dieses Zeichen keine wesentliche Bedeutung, eventuell noch als Hinweis auf kurze Dateinamen.

Jetzt mitmachen!

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