GNU/Linux >> Znalost Linux >  >> Linux

7 tipů pro příkazový řádek Linuxu pro úsporu místa v souborech médií

Máte v počítači mediální soubory? Pravděpodobně můžete získat zpět značné místo na disku tím, že tato data uložíte do formátů souborů s úsporou místa.

Tento článek ukazuje, jak používat řádkové příkazy Linuxu k provádění nejběžnějších převodů, které šetří místo. Používám řádkové příkazy, protože vám poskytují úplnou kontrolu nad funkcemi komprese a převodu formátu. Také budete muset použít řádkové příkazy, pokud chcete psát skripty. To vám umožní vyvíjet programy, které jsou přizpůsobeny vašim vlastním jedinečným potřebám.

I když se tento článek zabývá příkazy terminálu, existuje mnoho dalších způsobů, jak komprimovat a převádět soubory. Do počítače si můžete nainstalovat open source aplikaci pro konverzi GUI nebo můžete dokonce převádět formáty souborů pomocí save as a export funkce mnoha běžných aplikací.

Tento článek popisuje pouze hrstku nejoblíbenějších formátů souborů a příkazů terminálu ze stovek existujících. Cílem je poskytnout vám maximální užitek a přitom to zjednodušit.

Smazání souboru

Než začnete s převody formátů souborů, je užitečné identifikovat a poté odstranit všechny velké, ale nechtěné soubory, které máte v počítači. Smazání jen hrstky vesmírných prasat přináší obrovské výhody.

du , ncdu a dust příkazy vypisují největší podadresáře v aktuálním adresáři. Řeknou vám, které adresáře zabírají nejvíce místa na disku:

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

Tento příkazový řetězec identifikuje 50 největších souborů v jeho rekurzivním adresářovém stromu. Uvádí ty největší soubory seřazené podle velikosti:

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

Pomocí tohoto příkazu můžete okamžitě rozpoznat, kdy máte velké soubory uložené na více než jednom místě. Smažte duplikáty a můžete získat zpět nějaké významné místo. Výstup vám také pomůže identifikovat a následně odstranit jakékoli velké soubory, které již nepotřebujete.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Kvalita nebo úložný prostor

Mediální soubory obsahující obrázky, zvuk a video mohou používat stovky různých formátů souborů. Často dochází ke kompromisu mezi kvalitou dat na jedné straně a spotřebovaným úložným prostorem na straně druhé.

Některé formáty souborů jsou bezztrátové :Zachovají všechna původně zachycená data. Bezztrátové formáty souborů lze buď nekomprimovat nebo komprimovaný . Liší se velikostí podle tohoto a dalších faktorů.

Ostatní formáty souborů jsou ztrátové . Šetří úložný prostor tím, že chytře eliminují některá nejméně užitečná data. Jsou ideální, pokud používáte data tak, že můžete tolerovat menší ztráty dat.

Například pořízení digitálního obrázku v bezztrátovém formátu, jako je RAW, PNG nebo BMP, vytvoří velký soubor. Převedení tohoto obrázku na ztrátovou alternativu, jako je JPG nebo WEBP, ušetří spoustu místa. Stojí to za to? To závisí na zamýšleném použití obrázku.

Pokud jste profesionální fotograf, který tiskne fotografii ve vysoce kvalitní knize, pravděpodobně si budete chtít ponechat svůj původní bezztrátový soubor. Pravděpodobně potřebujete pro své umělecké dílo obraz nejvyšší kvality. Váš bezztrátový soubor také znamená, že můžete provádět rozsáhlé úpravy obrázků bez ztráty kvality.

Pokud jste vývojář webových stránek, můžete se rozhodnout opačně. Menší ztrátové soubory JPG nebo WEBP se stahují do počítačů uživatelů mnohem rychleji než bezeztrátové obrázky, takže se vaše webové stránky načítají rychleji. Tento převod funguje, protože jen málo uživatelů dokáže říct, zda je obraz, který si prohlížejí na obrazovce svého počítače nebo mobilu, bezztrátový nebo ztrátový.

Mějte na paměti, že po převodu z bezztrátového formátu na ztrátový jste některá data odstranili. Nemůžete převést zpět, abyste znovu získali tato data. Můžete převést zpět do předchozího formátu, ale uděláte to bez dat, která jste již obětovali. Původní soubor smažte pouze tehdy, když jste přesvědčeni, že převedený soubor splňuje všechny vaše potřeby! Můžete se rozhodnout původní soubor nevymazat vůbec.

Někdy je úspora místa otázkou úspory pohodlného prostor. Pokud jsou pro vás z jakéhokoli důvodu důležité originální, bezztrátové, nekomprimované soubory, zálohujte je do samostatného úložiště. Možná nebudete tento soubor WAV v plné kvalitě potřebovat na svém pracovním počítači každý den, ale možná budete rádi, že k němu budete mít přístup později.

Konverze obrazových souborů

Několik oblíbených formátů bitmapových souborů představuje skvělé příležitosti pro úsporu místa, včetně RAW, BMP, GIF a TIFF. Široce používaný formát PNG je také dobrým kandidátem.

Jedním z možných cílů konverze obrázků je ztrátový formát JPG. Díky nastavení kvality vám JPG umožňuje zadat menší velikost souboru s větší ztrátou dat nebo větší velikost souboru s menší ztrátou. U některých bezztrátových formátů vám může poskytnout kompresní poměr až 10:1. Pokud však zobrazíte obrázek JPG na obrazovce počítače nebo telefonu, oko jen zřídka zjistí, že došlo ke konverzi a kompresi.

Soubor WEBP vypadá na obrazovkách stejně dobře jako soubory JPG, ale šetří ještě více místa. Tato úspora je důvodem, proč se WEBP stává nejoblíbenějším ztrátovým formátem obrázků, který podporují všechny moderní prohlížeče a nejaktuálnější aplikace. Formát WEBP nabízí průhlednost alfa, animaci a dobré barevné vyzařování. Téměř vždy se používá jako ztrátový formát, ačkoli podporuje i bezztrátový.

Převedl jsem většinu svých souborů PNG a JPG do formátu WEBP a znovu získal spoustu úložného prostoru. Na jednom disku se 500 megabajtů souborů PNG roztavilo na asi 120 megabajtů WEBP. Pokud jste si jisti, že se vaše obrázky budou zobrazovat pouze na obrazovce, převod na WEBP nabízí jasné výhody.

Nástroj ImageMagick s otevřeným zdrojovým kódem vám poskytuje příkazy terminálu Linux pro převod obrázků. Pravděpodobně jej budete muset nejprve nainstalovat:

$  sudo apt install imagemagick

Řádkové příkazy ImageMagick vám pomohou zmenšit velikost souboru obrázku pomocí tří technik:

  • Změna formátu souboru
  • Změna stupně komprese
  • Zmenšení obrázku

Zde je syntaxe ImageMagick convert příkaz, který provádí převod formátu souboru:

convert  [input options]  input_file   [output options]  output_file

Všechny tyto příklady mají zmenšenou velikost souboru, jak můžete vidět z výsledků vzorových běhů:

$ 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

Můžete také převádět obrázky RAW. Při převodu obrázku RAW nesmí mít jeho název souboru příponu pro convert příkaz ke správnému zpracování.

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

Je možné získat značné úspory místa, ale pouze v případě, že je výstup přijatelný pro váš případ použití.

Tento příklad šetří místo změnou velikosti obrázku JPG na co nejblíže 800 x 600 při zachování správného poměru stran. V tomto příkladu převedu vstupní soubor o velikosti 285 kB s rozlišením 1277 x 824 pixelů na výstupní soubor o velikosti 51 kB s rozlišením 800 x 600 pixelů.

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

convert příkaz může měnit obrázky, jak chcete. Můžete například určit kompromis mezi kvalitou obrazu a velikostí. Ale budete se muset prokousat jeho mnoha možnostmi, abyste pochopili jeho plné schopnosti. Pro více informací o ImageMagick si přečtěte Grega Pittmana Začínáme s ImageMagick nebo navštivte web ImageMagick.

Převod zvukových souborů

Stejně jako obrazové soubory jsou i zvukové soubory bezeztrátově nekomprimované , bezeztrátově komprimované a ztrátové formátů.

Stejně jako u obrázků je kompromisem mezi bezztrátovým a ztrátovým především kvalita dat versus úspora místa. Pokud požadujete zvuk nejvyšší kvality, zůstaňte u bezztrátových souborů. To může být případ, kdy upravujete například digitalizovanou hudbu. Pokud chcete poslouchatelnou hudbu, která zabere mnohem méně místa, většina světa se rozhodla, že ztrátové formáty jako MP3, M4A a OPUS jsou nejlepší volbou.

Zde jsou nejoblíbenější zvukové formáty. Všimněte si, že přípony souborů často odkazují na kontejnery, které mohou podporovat více než jeden formát kódování zvuku a že většina technologií požaduje více než jednu příponu souboru. Tento graf uvádí nejběžnější scénáře, které uvidíte:

  • Bezztrátové a nekomprimované
    • WAV
    • PCM
    • AIFF
  • Bezztrátové a komprimované
    • FLAC
    • ALAC
  • Ztrátové
    • WEBM
    • OPUS
    • OGG (Vorbis)
    • AAC (některé jeho implementace nejsou otevřené formáty)
    • MP3
    • M4A
    • WMA (není otevřený formát)

Pokud je vaším cílem ušetřit místo na disku, zkuste převést z bezztrátového formátu na ztrátový. Nepřevádějte z jednoho ztrátového formátu do druhého, pokud nemusíte. To pravděpodobně příliš sníží kvalitu zvuku.

Velmi flexibilní linuxový terminálový příkaz pro převod zvukových souborů je ffmpeg . Instalace:

$ sudo apt install ffmpeg

Stejně jako ImageMagick convert příkaz ffmpeg podporuje ohromující řadu formátů souborů a kodeků. Všechny je zobrazíte zadáním:

$ ffmpeg -encoders

Pomocí ffmpeg je obvykle docela jednoduché. Zde je standardní syntaxe. -i příznak identifikuje vstupní soubor a -vn flag říká ffmpeg nevyvolávat žádný kód související s videem, který by mohl změnit zvukový výstup:

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

Všechny tyto příklady převádějí bezeztrátové soubory WAV do ztrátových formátů, aby se ušetřilo místo. Proces převodu souborů AIFF je stejný (ale nahraďte .wav s .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

Všechny příkazy zmenšily velikost bezeztrátových vstupních souborů faktorem 10. Velká otázka:Znějí výstupy jinak než originály? No, to záleží. Pro většinu lidí, kteří poslouchají na většině spotřebitelských zařízení, je rozdíl zanedbatelný. Proto jsou MP3, M4A a další komprimované formáty celosvětově nejoblíbenějšími hudebními formáty. I když to není technicky nejlepší, zvuk je docela dobře poslouchatelný a zabírá zlomek úložného prostoru (nebo šířky pásma při streamování).

Převod video souborů

Převod videa představuje další šanci, jak ušetřit spoustu místa. Vaším cílem by mělo být najít formát videa, který nejlépe vyvažuje kvalitu přehrávání a velikost souboru, aby vyhovoval vašim potřebám.

formát videa je kombinací formátu kontejnerového souboru a kodek . Kodek je software, který kóduje a dekóduje datový tok při jeho přesunu do a ze souboru kontejneru.

Kontejnery lze spárovat s více kodeky. V praxi často existují pouze jeden nebo dva nebo tři oblíbené kodeky spárované s konkrétním kontejnerem. Například u zvukových souborů mohou být soubory WAV kódovány buď jako bezztrátové, nebo jako ztrátové, ale bezeztrátové kódování převažuje nad formátem, takže většina lidí předpokládá, že jakýkoli soubor WAV je bezztrátový.

Toto jsou některé z dnes nejrozšířenějších formátů videa s otevřeným zdrojovým kódem:

  • Formát MP4 obsahující video H.264 a zvuk AAC se používá při streamování BluRay a internetu.
  • Formát WEBM obsahující video VP9 a zvuk Opus je pozoruhodně flexibilní a používá se jak pro soubory v archivní kvalitě, tak pro menší soubory pro streamování.
  • Formát kontejneru Matroska (MKV) může obsahovat téměř jakoukoli kombinaci videa, zvuku a dokonce i stereoskopického (3D) zobrazení. Je to základ pro WEBM.

Hlavní faktory, které určují velikost a kvalitu souboru videa, jsou:

  • Rozlišení (rozměr rámu)
  • Datový tok
  • Kódování

ffmpeg příkaz může změnit všechny tři parametry. Zde je jednoduchý příklad převodu:

$ ffmpeg -i input_video.mov output.webm

Výsledkem této konverze byl výstupní soubor o velikosti 1,8 MB ze vstupu o velikosti 39 MB.

Protože jsem nezadal žádné parametry, ffmpeg zkopíruje většinu existujících atributů vstupního souboru. V tomto příkladu byl mým vstupním souborem soubor MOV obsahující video MJPEG s rozlišením 1280 x 720, snímkovou frekvencí 23,98 a přenosovou rychlostí 40 219 kilobajtů za sekundu (kbps). Výsledný výstupní soubor obsahuje video VP9 se stejným rozlišením a snímkovou frekvencí. Datový tok je však pouze 1 893 kbps.

Stejně jako u převodů zvuku jsou kompresní poměry videa působivé a potenciální úspory místa jsou obrovské. Na mém PC byly tyto konverze zobrazeny tak podobně jako originál, že bylo obtížné určit, zda došlo k nějaké degradaci – což je pro mé účely stejně dobré, jako říci, že k žádné degradaci nedošlo.

Zda je pro vás výstupní kvalita přijatelná, závisí na zamýšleném použití videa, na zařízeních pro sledování a na vašich očekáváních. Nikdy nemažte svůj původní soubor, dokud si převedený soubor nezkontrolujete a nezjistíte, že je vyhovující.

Archivní úložiště

Archivace vyžaduje více vstupních souborů – často různých typů – a shromažďuje je do jednoho výstupního souboru. Komprese je volitelná. Komprimovaný archiv je užitečný pro odesílání souborů přes internet a pro dlouhodobé ukládání dat. Je to skvělý způsob, jak ušetřit místo. Nevýhodou je, že máte omezený způsob zpracování archivovaných souborů, dokud je z archivu nerozbalíte (ačkoli některé nástroje jsou nyní velmi sofistikované v manipulaci se soubory v archivech).

Mezi mnoha formáty archivních souborů patří mezi nejoblíbenější komprimované formáty GZ, BZ2, XZ, ZIP a 7Z. tar příkaz zpracovává mnoho archivních formátů. Podporuje komprimační příkazy včetně gzip , bzip2 , xz a další.

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

Tento příkaz zmenšil 56 MB na 28 MB komprimovaný archiv. Míra komprese se značně liší podle použitých souborů. Některé mediální soubory (zejména ty, které jsou již v komprimovaném formátu) komprimují málo nebo vůbec.

Chcete-li zrušit archivaci souboru TAR, použijte --extract možnost:

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

tar příkaz sdružuje mnoho souborů do jednoho kontejneru (někdy nazývaného tarball). ). Pokud však komprimujete pouze jeden soubor, není potřeba kontejner.

Místo toho můžete soubor pouze komprimovat pomocí příkazů jako gzip , bzip2 , xz , zip , 7z a další.

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

K dekomprimaci komprimovaného souboru můžete obvykle použít "un" verzi příkazu, který jste použili ke komprimaci souboru:

$ unxz bigfile.xcf.xz

Někdy je zde také --decompress možnost:

$ xz --decompress bigfile.xcf.xz

Ne všechny distribuce Linuxu obsahují všechny tyto příkazy, takže možná budete muset některé z nich nainstalovat.

Tipy pro skriptování

Chcete-li převést všechny soubory v adresáři, jednoduše vložte příkaz pro převod do for smyčka. Umístěte dvojité uvozovky kolem proměnné název souboru, abyste zvládli všechny názvy souborů, které obsahují vložené mezery. Tento skript převede všechny soubory PNG v adresáři na soubory WEBP:

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

Chcete-li zpracovat všechny soubory v adresáři a všech jeho podadresářích, musíte rekurzivně procházet adresářovou strukturou. Použijte pushd a popd stack příkazy nebo příkaz find.

Závěr

Obezřetně používané příkazy Linuxu, které komprimují a přeformátují mediální soubory, vám mohou ušetřit gigabajty úložiště. Určitě máte nějaké vlastní skvělé tipy, tak je prosím přidejte do komentářů.


Linux
  1. 3 tipy pro tisk s Linuxem

  2. Zkopírujte soubory v terminálu Linux

  3. Přesunout soubory v terminálu Linux

  1. Přesouvání souborů na Linuxu bez mv

  2. KRename – výkonný dávkový přejmenovávač souborů pro Linux

  3. Binární rozdíl/patch pro velké soubory na linuxu?

  1. Android File Transfer pro Linux – odesílání souborů do Linuxu bez omezení velikosti

  2. Jak auditovat změny souborů a spouštění souborů v Linuxu

  3. Linux:Odeberte přípony souborů pro více souborů