2016-03-18 12 views
0

Von dem, was ich verstehe, ist JPEGTRAN mit libjpeg-Turbo enthalten und wird beim Speichern eines Bildes mit optimize=True verwendet. Jpegoptim verwendet einen identischen Algorithmus wie jpegtran, erfordert aber, dass das Bild vorübergehend auf der Festplatte gespeichert wird, bevor es optimiert werden kann, und jpegoptim kann zusätzlich verlustbehaftet komprimiert werden.Wie steht jpegtran zu libjpeg-turbo, jpegoptim und mozjpeg?

Mit Blick auf die Mozjpeg Repo auf Github, es gibt viele Hinweise auf libjpeg-Turbo, und es hat viel mehr Sterne, so ist meine Frage, wie sind sie verwandt? Ist mozjpeg eine Gabelung von libjpeg-turbo, die alles und mehr macht? D. h., Ist es möglich, bestimmte Funktionen in mozjpeg zu deaktivieren und am Ende identische Leistung und Ergebnisse wie libjpeg-turbo?

+1

Warum möchten Sie bestimmte Funktionen in mozjpeg deaktivieren und am Ende mit identischen Leistung und Ergebnisse als libjpeg-Turbo? – Smrity

Antwort

0

Ja, mojjpeg ist eine Gabel von libjpeg-turbo. In mozjpeg v1.0 bestätigen sie es. Eigentlich ist es eine Kombination aus drei Technologien (progressive JPEG-Codierung, jpgcrush und Trellis-Quantisierung), um die Größe von JPEG-Bildern zu reduzieren. Progressive JPEG wird in libjpeg-turbo unterstützt, aber jpgcrush und trellis quantisieren nicht.

mozjpegs Implementierung der libjpeg-API enthält ein Erweiterungsrahmenwerk, mit dem neue Funktionen hinzugefügt werden können, ohne die transparenten libjpeg-Komprimierungs-/Dekomprimierungsstrukturen zu ändern.

Die JPEG-Dateien, die mozjpeg generiert, benötigen viel mehr Zeit zum Komprimieren als zum Dekomprimieren. Wenn die Standardeinstellungen verwendet werden, ist mozjpeg erheblich langsamer als libjpeg-turbo oder sogar libjpeg beim Komprimieren von Bildern. Daher ist es im Allgemeinen nicht für eine Echtzeitkomprimierung geeignet. Es wird am besten als Teil eines Web-Encoding-Workflows verwendet.

Weitere Informationen finden Sie unter here.