GNU/Linux >> LINUX-Kenntnisse >  >> Linux

7 Linux-Befehlszeilentipps zum Einsparen von Speicherplatz für Mediendateien

Haben Sie Mediendateien auf Ihrem Computer? Sie können wahrscheinlich erheblichen Speicherplatz zurückgewinnen, indem Sie diese Daten in platzsparenderen Dateiformaten speichern.

Dieser Artikel zeigt, wie Sie Linux-Zeilenbefehle verwenden, um die gängigsten platzsparenden Konvertierungen durchzuführen. Ich verwende Zeilenbefehle, weil sie Ihnen die vollständige Kontrolle über die Komprimierungs- und Formatkonvertierungsfunktionen geben. Außerdem müssen Sie Zeilenbefehle verwenden, wenn Sie Skripte schreiben möchten. Dadurch können Sie Programme entwickeln, die auf Ihre individuellen Bedürfnisse zugeschnitten sind.

Während dieser Artikel Terminalbefehle behandelt, gibt es viele andere Möglichkeiten, Dateien zu komprimieren und zu konvertieren. Sie können eine Open-Source-Konvertierungs-GUI-Anwendung auf Ihrem Computer installieren oder sogar Dateiformate mit save as konvertieren und export Funktionen vieler gängiger Anwendungen.

Dieser Artikel behandelt nur eine Handvoll der beliebtesten Dateiformate und Terminalbefehle unter den Hunderten, die es gibt. Das Ziel ist es, Ihnen maximalen Nutzen zu bieten und es gleichzeitig einfach zu halten.

Löschen von Dateien

Bevor Sie mit der Konvertierung des Dateiformats beginnen, ist es hilfreich, alle großen, aber unerwünschten Dateien, die Sie auf Ihrem Computer haben, zu identifizieren und dann zu löschen. Das Löschen von nur einer Handvoll Weltraumschweinen bringt übergroße Vorteile.

Der du , ncdu und dust Befehle listen die größten Unterverzeichnisse unter dem aktuellen Verzeichnis auf. Sie sagen Ihnen, welche Verzeichnisse den meisten Speicherplatz beanspruchen:

$ du -a .  |  sort -n -r  |  head -n 50

Diese Befehlszeichenfolge identifiziert die 50 größten Dateien in ihrem rekursiven Verzeichnisbaum. Es listet die größten Dateien sortiert nach Größe auf:

$ find  -type f  -exec  du -Sh {} +  |  sort -rh  |  head -n 50

Mit diesem Befehl können Sie sofort erkennen, wenn Sie große Dateien an mehr als einem Ort gespeichert haben. Löschen Sie die Duplikate, und Sie können erheblichen Speicherplatz zurückgewinnen. Die Ausgabe hilft Ihnen auch dabei, große Dateien, die Sie nicht mehr benötigen, zu identifizieren und dann zu löschen.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Qualität oder Stauraum

Mediendateien, die Bilder, Audio und Video enthalten, können Hunderte von verschiedenen Dateiformaten verwenden. Oft muss zwischen der Datenqualität einerseits und dem verbrauchten Speicherplatz andererseits abgewogen werden.

Einige Dateiformate sind verlustfrei :Sie bewahren alle ursprünglich erfassten Daten. Verlustfreie Dateiformate können entweder unkomprimiert sein oder komprimiert . Ihre Größe variiert durch diesen und andere Faktoren.

Andere Dateiformate sind verlustbehaftet . Sie sparen Speicherplatz, indem sie geschickt einige der am wenigsten nützlichen Daten eliminieren. Sie sind ideal, wenn Sie die Daten so verwenden, dass Sie geringfügige Datenverluste tolerieren können.

Wenn Sie beispielsweise ein digitales Bild in einem verlustfreien Format wie RAW, PNG oder BMP erfassen, wird eine große Datei erstellt. Das Konvertieren dieses Bildes in eine verlustbehaftete Alternative wie JPG oder WEBP spart viel Platz. Lohnt es sich? Das hängt von der beabsichtigten Verwendung des Bildes ab.

Wenn Sie ein professioneller Fotograf sind, der ein Foto in einem hochwertigen Buch druckt, möchten Sie wahrscheinlich Ihre ursprüngliche verlustfreie Datei behalten. Sie benötigen wahrscheinlich das hochwertigste Bild für Ihr Kunstwerk. Ihre verlustfreie Datei bedeutet auch, dass Sie umfangreiche Bildbearbeitungen ohne Qualitätsverlust durchführen können.

Wenn Sie ein Website-Entwickler sind, treffen Sie möglicherweise die gegenteilige Wahl. Kleinere verlustbehaftete JPG- oder WEBP-Dateien werden viel schneller auf die Computer der Benutzer heruntergeladen als verlustfreie Bilder, sodass Ihre Webseiten schneller geladen werden. Diese Konvertierung funktioniert, weil nur wenige Benutzer erkennen können, ob das Bild, das sie auf ihrem Computer- oder Mobiltelefonbildschirm sehen, verlustfrei oder verlustbehaftet ist.

Denken Sie daran, dass Sie nach der Konvertierung von einem verlustfreien in ein verlustbehaftetes Format einige Daten entfernt haben. Sie können nicht zurückkonvertieren, um diese Daten wiederherzustellen. Sie können in das vorherige Format zurückkonvertieren, aber Sie tun dies ohne die Daten, die Sie bereits geopfert haben. Löschen Sie die Originaldatei erst, wenn Sie überzeugt sind, dass die konvertierte Datei alle Ihre Anforderungen erfüllt! Sie können sich dafür entscheiden, die Originaldatei überhaupt nicht zu löschen.

Manchmal ist Platzsparen eine Frage des Sparens bequem Platz. Wenn Ihnen verlustfreie, unkomprimierte Originaldateien aus irgendeinem Grund wichtig sind, sichern Sie sie an einem separaten Speicherort. Möglicherweise benötigen Sie diese WAV-Datei in voller Qualität nicht jeden Tag auf Ihrem Arbeitscomputer, aber Sie können später gerne darauf zugreifen.

Konvertieren von Bilddateien

Mehrere gängige Bitmap-Dateiformate bieten großartige Möglichkeiten zum Platzsparen, darunter RAW, BMP, GIF und TIFF. Auch das weit verbreitete PNG-Format ist ein guter Kandidat.

Ein mögliches Konvertierungsziel für Bilder ist das verlustbehaftete JPG-Format. Mit seinen Qualitätseinstellungen ermöglicht Ihnen JPG, eine kleinere Dateigröße mit größerem Datenverlust oder eine größere Dateigröße mit weniger Verlust festzulegen. Bei einigen verlustfreien Formaten kann es zu einem Komprimierungsverhältnis von bis zu 10:1 kommen. Wenn Sie jedoch ein JPG-Bild auf einem Computer- oder Telefonbildschirm anzeigen, kann das Auge selten erkennen, dass eine Konvertierung und Komprimierung stattgefunden hat.

Eine WEBP-Datei sieht auf Bildschirmen genauso gut aus wie JPG-Dateien, spart aber noch mehr Platz. Aufgrund dieser Einsparungen wird WEBP zum beliebtesten verlustbehafteten Bildformat, das von allen modernen Browsern und den aktuellsten Apps unterstützt wird. Das WEBP-Format bietet Alpha-Transparenz, Animation und gute Farbbrillanz. Es wird fast immer als verlustbehaftetes Format verwendet, obwohl es auch verlustfrei unterstützt.

Ich habe die meisten meiner PNG- und JPG-Dateien in das WEBP-Format konvertiert und viel Speicherplatz zurückgewonnen. Auf einer Festplatte schmolzen 500 Megabyte PNG-Dateien zu etwa 120 MB WEBP zusammen. Wenn Sie sicher sind, dass Ihre Bilder immer nur auf einem Bildschirm angezeigt werden, bietet die Umstellung auf WEBP klare Vorteile.

Das Open-Source-Dienstprogramm ImageMagick bietet Ihnen Linux-Terminalbefehle zum Konvertieren von Bildern. Sie müssen es wahrscheinlich zuerst installieren:

$  sudo apt install imagemagick

ImageMagick-Zeilenbefehle helfen Ihnen, die Bilddateigröße durch drei Techniken zu reduzieren:

  • Ändern des Dateiformats
  • Ändern des Komprimierungsgrades
  • Bild verkleinern

Hier ist die Syntax von ImageMagick convert Befehl, der Dateiformatkonvertierungen durchführt:

convert  [input options]  input_file   [output options]  output_file

Diese Beispiele haben alle eine reduzierte Dateigröße, wie Sie den Ergebnissen der Beispielläufe entnehmen können:

$ convert image.bmp  new_image.jpg   #  7.4MB down to 1.1MB
$ convert image.tiff new_image.jpg   #  7.4MB down to 1.1MB
$ convert image.png  new_image.webp  #  4.8MB down to 515KB
$ convert image.png  new_mage.webp   #  1.5MB down to 560KB
$ convert image.jpg  new_image.webp  #  769KB down to 512KB
$ convert image.gif  new_image.jpg   #  13.2MB down to 10.9MB
$ convert image.gif  new_image.webp  #  13.2MB down to 4.1MB

Sie können auch RAW-Bilder konvertieren. Beim Konvertieren eines RAW-Bildes darf dessen Dateiname keine Erweiterung für den convert haben Befehl, um es korrekt zu verarbeiten.

$ convert image new_image.png #  RAW 67.1MB down to 45.3MB

Es können erhebliche Platzeinsparungen erzielt werden, aber nur, wenn die Ausgabe für Ihren Anwendungsfall akzeptabel ist.

In diesem Beispiel wird Platz gespart, indem die Größe eines JPG-Bilds auf so nahe wie möglich an 800 x 600 angepasst wird, während das richtige Seitenverhältnis beibehalten wird. In diesem Beispiel konvertiere ich eine 285 KB große Eingabedatei mit 1277 x 824 Pixeln in eine 51 KB große Ausgabedatei mit 800 x 600 Pixeln.

$ convert image.jpg  -resize 800x600  new_image.jpg

Die convert Der Befehl kann Bilder beliebig ändern. Sie können beispielsweise den Kompromiss zwischen Bildqualität und Größe angeben. Aber Sie müssen sich durch die vielen Optionen wühlen, um seine vollen Fähigkeiten zu verstehen. Weitere Informationen zu ImageMagick finden Sie in Greg Pittmans Erste Schritte mit ImageMagick oder auf der ImageMagick-Website.

Konvertieren von Audiodateien

Wie Bilddateien werden auch Audiodateien verlustfrei unkomprimiert geliefert , verlustfrei komprimiert und verlustbehaftet Formate.

Wie bei Bildern besteht der Kompromiss zwischen verlustfrei und verlustbehaftet in erster Linie in der Datenqualität gegenüber der Platzersparnis. Wenn Sie die höchste Audioqualität benötigen, bleiben Sie bei verlustfreien Dateien. Das kann zum Beispiel der Fall sein, wenn Sie digitalisierte Musik bearbeiten. Wenn Sie hörbare Musik wünschen, die viel weniger Speicherplatz verbraucht, haben sich die meisten Menschen weltweit entschieden, dass verlustbehaftete Formate wie MP3, M4A und OPUS die beste Wahl sind.

Hier sind die beliebtesten Audioformate. Beachten Sie, dass sich Dateierweiterungen häufig auf Container beziehen, die mehr als ein Audiocodierungsformat unterstützen können, und dass die meisten Technologien mehr als eine einzelne Dateierweiterung beanspruchen. Dieses Diagramm listet die häufigsten Szenarien auf, die Sie sehen werden:

  • Verlustfrei und unkomprimiert
    • WAV
    • PCM
    • AIFF
  • Verlustfrei und komprimiert
    • FLAC
    • ALAC
  • Lossy
    • WEBM
    • OPUS
    • OGG (Vorbis)
    • AAC (einige Implementierungen davon sind keine offenen Formate)
    • MP3
    • M4A
    • WMA (kein offenes Format)

Wenn Sie Speicherplatz sparen möchten, versuchen Sie, von einem verlustfreien Format in ein verlustbehaftetes Format zu konvertieren. Konvertieren Sie nicht von einem verlustbehafteten Format in ein anderes, es sei denn, Sie müssen es tun. Das wird wahrscheinlich die Tonqualität zu sehr verschlechtern.

Ein sehr flexibler Linux-Terminalbefehl zum Konvertieren von Audiodateien ist ffmpeg . So installieren Sie es:

$ sudo apt install ffmpeg

Wie das ImageMagick convert Befehl, ffmpeg unterstützt eine erstaunliche Auswahl an Dateiformaten und Codecs. Zeigen Sie sie alle an, indem Sie Folgendes eingeben:

$ ffmpeg -encoders

Mit ffmpeg ist normalerweise ziemlich einfach. Hier ist die Standard-Syntax. Das -i Flag identifiziert die Eingabedatei und -vn Flag sagt ffmpeg keinen videobezogenen Code aufzurufen, der die Audioausgabe verändern könnte:

$ ffmpeg  -i  audiofile_input.ext -vn audiofile_output.new

Diese Beispiele konvertieren alle verlustfreie WAV-Dateien in verlustbehaftete Formate, um Platz zu sparen. Der Vorgang zum Konvertieren von AIFF-Dateien ist derselbe (ersetzen Sie jedoch .wav mit .aiff ):

$ ffmpeg -i audio.wav -vn audio.ogg  # 38.3MB to 3.3MB
$ ffmpeg -i audio.wav -vn audio.mp3  # 38.3MB to 3.5MB
$ ffmpeg -i audio.wav -vn audio.m4a  # 38.3MB to 3.6MB
$ ffmpeg -i audio.wav -vn audio.webm # 38.3MB to 2.9MB

Alle Befehle reduzierten die Größe der verlustfreien Eingabedateien um den Faktor 10. Die große Frage:Klingen die Ausgaben anders als die Originale? Es hängt davon ab. Für die meisten Menschen, die auf den meisten Consumer-Geräten hören, ist der Unterschied vernachlässigbar. Aus diesem Grund sind MP3, M4A und andere komprimierte Formate die weltweit beliebtesten Musikformate. Obwohl es technisch nicht das Beste ist, ist das Audio gut hörbar und verbraucht einen Bruchteil des Speicherplatzes (oder der Bandbreite beim Streaming).

Konvertieren von Videodateien

Die Videokonvertierung bietet eine weitere Möglichkeit, viel Platz zu sparen. Ihr Ziel sollte es sein, das Videoformat zu finden, das Wiedergabequalität und Dateigröße am besten ausbalanciert, um Ihren Anforderungen gerecht zu werden.

Ein Videoformat ist die Kombination aus einem Container-Dateiformat und einen Codec . Ein Codec ist eine Software, die einen Datenstrom codiert und decodiert, während er sich zu und von der Containerdatei bewegt.

Container können mit mehreren Codecs gekoppelt werden. In der Praxis gibt es oft nur einen oder zwei oder drei beliebte Codecs, die mit einem bestimmten Container gekoppelt sind. Beispielsweise können WAV-Dateien bei Audiodateien entweder verlustfrei oder verlustbehaftet codiert werden, aber die verlustfreie Codierung dominiert das Format, sodass die meisten Leute davon ausgehen, dass jede WAV-Datei verlustfrei ist.

Dies sind einige der heute am häufigsten verwendeten Open-Source-Videoformate:

  • Das MP4-Format, das H.264-Video und AAC-Audio enthält, wird beim BluRay- und Internet-Streaming verwendet.
  • Das WEBM-Format, das VP9-Video und Opus-Audio enthält, ist bemerkenswert flexibel und wird sowohl für Dateien in Archivqualität als auch für kleinere Dateien zum Streamen verwendet.
  • Das Containerformat Matroska (MKV) kann nahezu jede Kombination aus Video, Audio und sogar stereoskopischen (3D) Bildern enthalten. Es ist die Basis für WEBM.

Die Hauptfaktoren, die die Größe und Qualität der Videodatei bestimmen, sind:

  • Auflösung (Abmessung des Rahmens)
  • Bitrate
  • Codierung

Das ffmpeg Der Befehl kann alle drei Parameter ändern. Hier ist ein einfaches Konvertierungsbeispiel:

$ ffmpeg -i input_video.mov output.webm

Diese Konvertierung führte zu einer 1,8 MB großen Ausgabedatei aus einer 39 MB großen Eingabe.

Da ich keine Parameter angegeben habe, ffmpeg kopiert die meisten vorhandenen Attribute der Eingabedatei. In diesem Beispiel war meine Eingabedatei eine MOV-Datei mit MJPEG-Video mit einer Auflösung von 1280 x 720, einer Bildrate von 23,98 und einer Bitrate von 40.219 Kilobyte pro Sekunde (kbps). Die resultierende Ausgabedatei enthält VP9-Video mit derselben Auflösung und Bildrate. Die Bitrate beträgt jedoch nur 1.893 kbps.

Wie bei der Audiokonvertierung sind die Videokomprimierungsraten beeindruckend und die potenziellen Platzeinsparungen enorm. Auf meinem PC sahen diese Konvertierungen dem Original so ähnlich aus, dass es schwierig war zu sagen, ob es eine Verschlechterung gab – was für meine Zwecke so gut wie besagt, dass es keine Verschlechterung gab.

Ob die Ausgabequalität für Sie akzeptabel ist, hängt von der beabsichtigten Verwendung des Videos, Ihren Anzeigegeräten und Ihren Erwartungen ab. Löschen Sie niemals Ihre Originaldatei, bis Sie die konvertierte Datei überprüft und für zufriedenstellend befunden haben.

Archivierung

Die Archivierung nimmt mehrere Eingabedateien – oft mit unterschiedlichen Dateitypen – und sammelt sie in einer einzigen Ausgabedatei. Die Komprimierung ist optional. Ein komprimiertes Archiv ist nützlich, um Dateien über das Internet zu versenden und um Daten langfristig zu speichern. Es ist eine großartige Möglichkeit, Platz zu sparen. Der Nachteil ist, dass Sie archivierte Dateien nur eingeschränkt verarbeiten können, bis Sie sie aus dem Archiv extrahiert haben (obwohl einige Tools inzwischen ziemlich ausgeklügelt in der Manipulation von Dateien innerhalb von Archiven sind).

Unter den vielen Archivdateiformaten sind GZ, BZ2, XZ, ZIP und 7Z die beliebtesten komprimierten Formate. Der tar Der Befehl verarbeitet viele Archivformate. Es unterstützt Komprimierungsbefehle einschließlich gzip , bzip2 , xz , und andere.

$ tar --xz --create --file myarchive.tar.xz bigfile.xcf bigfile.tiff

Dieser Befehl reduzierte 56 MB auf ein komprimiertes Archiv mit 28 MB. Wie stark die Komprimierung erfolgt, hängt stark von den beteiligten Dateien ab. Einige Mediendateien (insbesondere solche, die bereits in einem komprimierten Format vorliegen) werden wenig oder gar nicht komprimiert.

Um eine TAR-Datei zu dearchivieren, verwenden Sie --extract Möglichkeit:

$ tar --extract --file myarchive.tar.xz

Der tar Der Befehl bündelt viele Dateien in einem Container (manchmal auch als Tarball bezeichnet). ). Wenn Sie jedoch nur eine Datei komprimieren, ist kein Container erforderlich.

Stattdessen können Sie die Datei einfach mit Befehlen wie gzip komprimieren , bzip2 , xz , zip , 7z , und andere.

$ xz bigfile.xcf
$ ls
bigfile.xcf.xz

Um eine komprimierte Datei zu dekomprimieren, können Sie normalerweise eine "un"-Version des Befehls verwenden, den Sie zum Komprimieren der Datei verwendet haben:

$ unxz bigfile.xcf.xz

Manchmal gibt es auch ein --decompress Möglichkeit:

$ xz --decompress bigfile.xcf.xz

Nicht alle Linux-Distributionen enthalten alle diese Befehle, daher müssen Sie möglicherweise einige davon installieren.

Skripttipps

Um alle Dateien in einem Verzeichnis zu konvertieren, betten Sie einfach Ihren Konvertierungsbefehl in ein for ein Schleife. Setzen Sie doppelte Anführungszeichen um die Dateinamenvariable, um alle Dateinamen zu behandeln, die eingebettete Leerzeichen enthalten. Dieses Skript konvertiert alle PNG-Dateien in einem Verzeichnis in WEBP-Dateien:

#!/bin/bash
for file_name in *.png ; do  
  convert "$file_name"  "$file_name".webp
done

Um alle Dateien in einem Verzeichnis und allen seinen Unterverzeichnissen zu verarbeiten, müssen Sie die Verzeichnisstruktur rekursiv durchlaufen. Verwenden Sie den pushd und popd Stack-Befehle oder den Find-Befehl dafür.

Schlussfolgerung

Umsichtig eingesetzt, können Linux-Befehle, die Mediendateien komprimieren und neu formatieren, Gigabyte an Speicherplatz sparen. Ich bin mir sicher, dass Sie selbst einige tolle Tipps haben, also fügen Sie sie bitte in den Kommentaren hinzu.


Linux
  1. 3 Tipps zum Drucken mit Linux

  2. Kopieren Sie Dateien im Linux-Terminal

  3. Verschieben von Dateien unter Linux ohne mv

  4. Linux:Dateierweiterungen für mehrere Dateien entfernen

  5. Benötigen Sie einen guten Hex-Editor für Linux

Tipps zum Auflisten von Dateien mit ls in der Linux-Befehlszeile

Cp-Befehl in Linux (Dateien kopieren)

ls-Befehl in Linux zum Auflisten von Dateien

So benennen Sie eine Datei (en) in Linux um

Vim-Tipps – Bearbeiten Sie Remote-Dateien mit Vim unter Linux

So komprimieren Sie eine Datei unter Linux