bilder schnell per cli codieren

  • Imagemagick werd ich mir mal anschauen


    ich merk grad irfanview hat auch eine cli-schnittstelle.
    aber wie konfiguriert man die "codecs"
    in der irfanview-gui z.b. hab ich ein png-plugin, der multipass kann...


    auch interressire ich mich für den optimierten code von jpeg letztens,
    aber wer hat ihn eingebaut? ein "dummer" cli-encoder währ doch was schönes... XD

  • Es kommt darauf an, was gemacht werden soll. Einiges geht mit ffmpeg. Für komplexere Aufgaben wäre das schon erwähnte ImageMagick zu empfehlen, was ohne Einführungsliteratur aber kaum zu beherrschen ist. Gegen dessen Kommandozeilenwürmer sind die von ffmpeg garnix.

  • Im Vergleich dazu ist NConvert recht einfach zu bedienen, gerade wenn es um reines Konvertieren geht. Und selbst für einfache Bildbearbeitungsfunktionen ist die Syntax der Parameter meiner Meinung nach recht offensichtlich. Wenn du was nicht verstehst, dann versuche, die gewünschten Schritte so detailliert wie möglich zu beschreiben, vielleicht sogar als AviSynth-Skript, das die gewünschten Bearbeitungsschritte dokumentiert, dann kriegen wir sicher auch für NConvert die passende Befehlskette hin.


    Davon angesehen gibt es auch XnConvert als Batch-Konverter mit GUI.

  • PNGOUT hat irfanview auch, und eine cli-doku habe ich auch gefunden...
    die anderen vorgeschlagenen tools kommen trozdem in meine programmsammlung, danke dafür.


    ich bin z.z. auf der suche nach einer alten news in der beschrieben wurde,
    dass der jpeg code optimiert wurde...


    daraus sollte sich dann die frage ergeben:
    welches der grafiktools verwendet diesen optimierten jpeg code?

  • Der Nachteil des PNGOUT in IrfanView ist, dass IrfanView transparente Bilder erst mal auf eine Hintergrundfarbe rendert, und PNGOUT danach das Bild übernimmt. Das Ergebnis wird also nicht mehr transparent sein.


    An ein "optimiertes JPEG" erinnere ich mich so nicht. Nur an folgende: xat JPEG Optimizer kann adaptiv quantisierte JPEGs erzeugen; VirtualDub hat einen eigenen MJPEG-Codec eingebaut, muss sich da also nicht auf VfW verlassen; ffdshow hat qualitativ einen der besten MJPEG-Codecs, aber nicht mit Qualitätswert, sondern mit Quantisierungsfaktor.

  • Sieh an, 'pengvado' war es...


    Mir wäre nicht bekannt, dass Mozjpeg irgendwo bereits in einem Bildkonverter verwendet wird (vielleicht eher in einem transparenten Proxy, online sind Perl-Scripte eher in Aktion), aber der jpegcrush-Algorithmus dürfte schon ein wenig verbreitet sein, auch in kommerzieller Anwendung, eventuell etwas abgewandelt. StuffIt und WinZip in aktuellen Versionen könnten so etwas verwenden, um JPEG-Dateien quasi-verlustfrei zu packen. Ein ganzes Stück kleiner kommt man sicher mit adaptiver Requantisierung, aber dafür kenne ich keine komplett kostenlose Software.

  • Mit Sicherheit bisher nur xat.com JPEG Optimizer 3.x, das ist Win95-Ära. Image Optimizer 4 / 5 wird wohl auch noch so was können, aber die Steuerung gefiel mir da nicht so gut. Und was JPEGmini genau tut, weiß ich nicht im Detail, scheint aber auch in die Richtung zu gehen (die unbezahlte Version kann man ein paar Mal pro Tag ohne weitere Einschränkung verwenden).

  • so, ich hatte n bissel zeit und möchte mein ergebnis kund tun.


    ich habe ein paar jpg & png dateien erzeugt und verglichen, mit diesen programmen:
    ImageMagick, IrfanView, XnView, libjpeg-turbo, PNGOUT


    eins vorweg, ich habe die settings nicht so optimieren können,
    da mir die zeit, das wissen und auch lust einfach fehlt (bedingt durch wenig zeit).
    könnte u.u. zum nachteil eines programms sein.


    habe 2 dateien verwendet, ein TV-Testbild (f1) und ein Rauschen-Testbild (f2)


    PNG:
    das ist einfach, da es ja lossless ist brauche ich nur die größen angeben:


    Code
    1. ImageMagick: f1: 26.952B / f2: 3.369.090BXnView: f1: 17.767B / f2: 3.272.619BIrfanView (PNGOUT): f1: 16.144B / f2: 3.263.700BPNGOUT: f1: 15.976B / f2: 3.263.687B


    wie man sieht ist ImageMagick nicht so gut bzw. ich habe keine optimalen settings gefunden.
    XnView copremiert zwar gut, aber ist nicht das beste. auch hier finde ich keine ordentlichen einstellmöglichkeiten.
    auch das cli von IrfanView ist der horror, aber dafür nimmt es die settings aus der .ini, warum ich auch weiß das PNGOUT verwendet wurde.
    PNGOUT direkt von der quelle ist der gewinner und wird sogar noch weiterentwickelt. quasi mein wunschprogramm, weil cli.



    JPG:
    interressanterweise sehen die bilder der jpeg-compression, mit der fehlerkompression alle gleich aus.
    darum entscheidet auch hier nur die dateigröße.
    ich habe sie in qualitätsstufen 75,80,85,89,90,92&95 getestet.
    da das ergebnis überall gleich war, nehme ich 85 als vertreter


    Code
    1. ImageMagick: f1: 74.534B / f2: 608.091B
    2. IrfanView: f1: 72.737B / f2: 570.079B
    3. XnView: f1: 72.594B / f2: 568.993B
    4. libjpeg-turbo: f1: 72.603B / f2: 568.990B


    auch hier sieht man ImageMagick ist nicht so toll.
    die andern liegen sehr nah bei einander, aber IrfanView ist immer ein tick schlechter.
    XnView & libjpeg-turbo sind gleich gut, weil sie wohl den gleichen code verwenden.
    den unterschied zwischen den 2 dateien liegt vielleicht daran,
    dass es untersiedliche version (x86 <--> x64) sind bzw. an jpeg-metadata die ich nicht beeinflussen kann


    mein persönlicher gewinner ist libjpeg-turbo, weil direkt von der quelle und cli.



    die kommerzellen produkte habe ich nicht getestet.

  • Ich hätte nicht die Zuversicht, dass die gleiche Qualitätsstufe bei unterschiedlichen Programmen dennoch die gleiche Bedeutung habe. "Gleich aussehen" würde mir da als Kriterium nicht ausreichen.


    Und mit adaptiver Quantisierung bekommt man sicher unterschiedliche Inhalte, weil unterschiedliche Qualitätsverteilung in Abhängigkeit vom Detailgrad jedes Makroblocks. Dadurch wäre u.U. ein angenehmeres Resultat bei gleicher oder gar geringerer Größe möglich. Hier wird es erst richtig spannend. Übrigens hängt die Effizienz des JPEG Optimizers auch noch davon ab, ob du JPEGs progressiv oder herkömmlich (im Baseline-Format) speicherst.

  • mich hat es auch gewundert, dass sogar die artefakte deckungsgleich sind.
    aber die einstellmöglichkeiten waren bescheiden, bzw. hatten nicht den gewünschten effekt.
    aber wie gesagt, für jedes tool die fehler zu finden bzw. ein optimales rezept zu erfoschen fehlt mir dann doch die zeit dazu. :'(


    aber die komerzellen programme will ich mir dann auch noch anschauen...

  • so hab mal schnell und subjektiv mir die komerzellen tools angeschaut,
    was letzendlich nur 2 sind.


    xat.com (jpeg) Image Optimizer, überzeugt mich nicht wirklich,
    unoptimiert (quali85) ist es besser als ImageMagick aber schlechter als alle anderen
    optimiert ist es zwar kleiner, dann sieht es aber nicht mehr so toll aus
    von der größe her 'quali75', aber besser sieht es nicht aus, ehr anders...weichgezeichnet aber nicht wirklich gut...


    auch JPEGmini kann ich nicht wirklich vorteile erkennen, es scheint auch weichzuzeichnen, aber raffinierter mit weniger detailverlust.
    für große fotos sicherlich sinnvoll, aber für kleinere bilder, die nicht immer fotos sind, scheint es keine vorteile zu bringen.
    bzw zu unbeständig die ergebisse.


    um mein verwendungszweck genauer zu beleuchten:
    ich versuche musik/cd-covers für mp3&co zu optimieren,
    so das sie nicht unnötig zu groß sind. (ca. ~150kb pro cover bei ~700p)



    ich denk mal, das was ich habe stellt mich zufrieden,
    bis ein tool endlich die mozilla-optimierungen verwendet :P



    schade finde ich das schlechte abschneiden von ImageMagick,
    obwohl es so mächtig sein soll.
    naja meinen docktor wollt auch ich nicht daran machen,
    da hat mir ffmpeg auch schon gereicht. :D

  • bei Imagemagick hatte ich 3 png parameter wobei einer nicht funktionierte,
    letzendlich war das ergebnis auch nicht besser.


    ich persönlich halte Imagemagick, auch mit perfekten optimierten settings, nicht besser als PNGOUT.
    allein das multi-pass-verfahren ist das was mich überzeugt.


    OptiPNG werd ich mir trozdem anschauen...



    mein fokus liegt jetzt nur noch auf der jpeg-optimierung,
    wobei ich mich auch hier z.z. auf libjpeg-turbo eingeschossen habe.


    denn die anderen optimierungen die jetzt noch möglich sind,
    sind die vorfilterung mit weichzeichner & co.
    wo ich jetzt schon weiß dass es kein universelles rezept gibt.
    also uninterressant für mich.


    -----------


    edit:


    OptiPNG war so vielversprechend,
    aber als ich ein paar bilder duchgejagt habe,
    ist es leider nicht so gut wie PNGOUT.
    und das in den hardcoresettings mit ~1000 duchläufen ...schade eigendlich

  • Dass die optimierte Ausgabe von xat JPEG Optimizer schlechter aussieht, ist völlig logisch: Von der Basis-Quantisierung aus wird es ja noch schlechter. Du vergleichst also "Qualitätsstufe 85" anderer Programme mit "schlechter als Qualitätsstufe 85" von JPEGOpt, wenn du nicht vor der Optimierung die Qualitätsstufe erhöhst.


    Leider kenne ich kein CLI-Programm, das ähnliches leistet. Aber zumindest hat die registrierte Version einen Batch-Modus. Ich arbeite meist batch-manuell, also jedes Bild einzeln an seine Grenzen bringen, und nach dem Speichern wird das nächste automatisch nachgeladen.


    Manche Betrachter haben übrigens auch das RIOT-Plugin. Das hat vielleicht keine optimale Codierung, hilft aber bei der Automatisierung, Bilder nach bestimmten Regeln wie Verhältnissen oder festen Zielgrößen zu verkleinern.