Dreifache Komprimierung und ich spare nur 1 % Platz?

Dreifache Komprimierung und ich spare nur 1 % Platz?

Ich habe versucht, auf meinem Linux-Server Platz zu sparen, und hatte einen Ordner mit Unterordnern, der 22 GB an Bildern enthielt.

Also habe ich beschlossen, sie zu komprimieren.

Zuerst habe ich Teer verwendet:

tar -zcf folder.tar folder 

Dann gzip

gzip folder

Und schließlich, nur für den Fall, bzip2

bzip2 folder

Und nach all dem waren es insgesamt folder.tar.gz.bzip2immer noch 22 GB! Genauer gesagt, das entspricht einer Platzersparnis von 1 %!

Habe ich hier etwas falsch gemacht? Ich würde mit einer um ein Vielfaches höheren Ersparnis als 1% rechnen!

Wie kann ich die Dateien sonst noch komprimieren?

Antwort1

Das Kompressionsverhältnis beträgtsehrabhängig davon, was Sie komprimieren. Der Grund, warum sich Text so gut komprimieren lässt, ist, dass er nicht einmal ansatzweise den gesamten Zahlenbereich ausnutzt, der im selben Binärraum darstellbar ist. Formate, die dies tun (z. B. komprimierte Dateien), können dieselben Informationen auf weniger Platz speichern, nur weil sie all diese Binärzahlen verwenden, die in Textkodierungen nichts bedeuten, und können ganze Zeichenfolgen effektiv in einem einzigen Byte darstellen und auf diese Weise eine gute Komprimierungsrate erzielen.

Wenn die Dateien bereits komprimiert sind, werden Sie normalerweise keinen großen Vorteil daraus ziehen, sie erneut zu komprimieren. Wenn Sie dadurch tatsächlich zusätzlichen Speicherplatz sparen, ist das wahrscheinlich ein Hinweis darauf, dass der erste Komprimierungsalgorithmus nicht so gut ist. Aufgrund der Art der Frage gehe ich davon aus, dass es sich bei vielen davon um Mediendateien handelt und diese als solche bereits komprimiert sind (wenn auch mit Algorithmen, die die Geschwindigkeit der Dekomprimierung priorisieren), sodass Sie wahrscheinlich nicht viel aus ihnen herausholen werden. Eine Art „Blut aus Stein“-Szenario: Sie sind bereits so klein, wie sie ohne Informationsverlust gemacht werden können.

Wenn ich mir große Sorgen um den Speicherplatz mache, mache ich einfach „bzip2 -9“ und das war’s. Ich habe allerdings Gutes über das Verhältnis von XZ gehört. Ich habe XZ selbst nicht verwendet (außer um die Sachen anderer Leute zu dekomprimieren), aber es soll ein besseres Verhältnis als bzip2 haben, aber das Komprimieren/Dekomprimieren dauert etwas länger.

Antwort2

Ihre Komprimierungsversuche sind fehlgeschlagen, da Ihre Daten bereits stark komprimiert sind und es nicht mehr viel zu gewinnen gibt. Weitere ausführliche Erklärungen finden Sie in den anderen Antworten. Wenn Sie sich jedoch einigen können aufverlustbehaftetKompression, im Gegensatz zuverlustfreiwie du es schon probiert hast, kannst du die Bilder deutlich komprimieren. Da dabei aber Daten weggeschnitten werden, lässt sich das nicht mehr rückgängig machen.

Hier ist ein Beispiel für die erneute Komprimierung aller JPEG-Bilder mit Imagemagick. Beachten Sie, dass Ihre Dateien dadurch überschrieben werden.

find image_directory -type f -name "*.jpg" -exec mogrify -quality 75% {} \+

Antwort3

Die meisten gängigen Bildformate sind bereits komprimiert (wie JPG, PNG, GIF), daher ergibt sich keine große Ersparnis. 1 % klingt ungefähr richtig.

Durch stärkere Komprimierung kann das Ergebnis tatsächlich (etwas) größer werden, da der Komprimierungsalgorithmus bei komprimierten Daten keinen Nutzen hat und das Format (z. B. gzip) der Ausgabe Header- und/oder Strukturinformationen hinzufügen muss.

Tut mir leid! Wenn Sie PNGs verwenden, können Sie versuchen, Ihre Dateien zu verkleinern mitAbonnieren.

Antwort4

Ein weiterer erwähnenswerter Punkt: Die Verwendung mehrerer Komprimierungstools/-algorithmen kann dazu führen, dass Ihr Endergebnis größer wird als nötig. Das bedeutet, wenn Sie 100 GB auf 10 GB komprimieren und dann versuchen, es erneut zu komprimieren, können Sie am Ende etwa 15 GB haben, je nachdem, was Sie komprimieren und womit Sie es komprimieren.

Persönlich mache ich nie mehr, tar cjvf container.tar.bz2 /targeteinfach weil die Menge an Speicherplatz, die durch die doppelte Komprimierung eingespart wird, minimal ist.

verwandte Informationen