Od iOS11 se můžete v iPhonech či iPadech setkat s formátem fotografií HEIC. Je to formát používaný Applem pro HEIF standard. To je zas zkratka pro High Efficiency Image Format, což je, jak název napovídá, nový formát, který umožňuje pomocí moderních metod komprese uložit fotografie či video o velmi vysoké kvalitě (např. 4k při 60fps) do souboru o podobné velikosti jako je JPG.

Je to super, dokud nepotřebujete tyto fotky zobrazovat mimo Apple ekosystém 🙂 Neumí si s tím poradit například NASky od Western Digital, pro Windows 10 je sice k dispozici plugin, ale ten je za 29,- (WTF?!) a neumí ho ani můj oblíbený mediaserver Plex. A protože občas chci na nějaké ty fotky mrknout z pohodlí gauče na chytré televizi, rozhodl jsem fotky (resp. jejich kopii) za poslední dva roky kvůli kompatibilitě převést do JPG. Originály jsem zabalil do archivu a odlil do záloh.

Hledal jsem různá řešení, většina uměla ale převést jen jeden snímek, nebo to byly online konvertory. Což na mých více než 5000 fotek nebylo vhodné 🙂 .

Na Linuxu

Nejprve si vytvořte složku, kam nakopírujete své fotky (pro sichr je lepší pracovat s kopiemi) ale pokud se nebojíte, můžete použít i tu, kde jsou originály. Jakmile bude složka vytvořena, otevřete terminál a přepněte se do ní. Slouží k tomu příkaz cd, takže například takto:

cd /home/spajk/fotky/

Jakmile jste ve vaší složce, nainstalujte si konverter HEIF. Na Debianu/Ubuntu/Minu to provedete příkazem:

sudo apt-get install libheif-examples

Na Archu/Manjaru pak stačilo:

sudo pacman -S libheif

Z domácí složky pak budeme spouštět heif-convert který soubory převede. Nejprve si to zkusíme na jednom souboru:

heif-convert soubor1.heif soubor1.jpg

Jakmile víme, že se soubor úspěšně zkonvertoval (zkuste si jeho *. jpg verzi otevřít) je čas připravit si skript. Použijeme třeba terminálový editor Nano:

nano convert.sh

Jakmile je editor nano otevřen, zkopírujte do něj následující skript. Není potřeba v něm nic upravovat, prostě copy and paste:

#!/bin/bash
for f in *.HEIC
do
echo "Working on file $f"
heif-convert $f $f.jpg
done

Uložte soubor stiskem kláves CTRL + O, potvrďte stiskem Enter a ukončete nano klávesovou zkratkou CTRL + X. Ještě je potřeba učinit soubor spustitelným, což provedete příkazem:

chmod +x convert.sh

Konečně je vše připraveno a teď už můžeme spustit skript. Mějte prosím na paměti, že skript musí být spouštěn ze stejné složky, ve které jsou fotky v HEIC. Pro spuštění použijte příkaz:

./convert.sh

A to je vše. Skript poběží a bude konvertovat jeden soubor za druhým a vytvářet nové soubory se stejným názvem ale s koncovkou .jpg.

Jakmile je vše hotovo, raději ověříme, že se převedly všechny požadované soubory. Provedeme to příkazy:

ls *.HEIC | wc -l

a druhým

ls *.jpg | wc -l

Jestliže součty sedí, můžeme již nepotřebné kopie původních HEIC odstranit. Požijeme k tomu (opět ve složce se soubory) příkaz:

rm *.HEIC

A je dokonáno 🙂

Komprese

Jen si tu tak odložím jeden příkaz na kompresi. Poté, co jsem si z HEIC udělal JPG a nechal je ležet na NASce pro snadné prohlížení ze všech zařízení, originály jsem zkomprimoval do archivu pro pozdější použití. A protože půjde kopie i do cloudu (šifrovaná), archivu jsem narval maximální kompresi 🙂

7z a test_zaloha.7z Pictures -mx=9

V příkazu výše je syntaxe následující: 7z je název komprimačního programu, a je parametr určující že se bude komprimovat, test_zaloha.7z je název výsledného archivu, Pictures je název složky jež se komprimovala, -mx=9 je option nastavující maximální kompresi.

Aktualizace:

Maximální komprese (ano, HEIC je už holt komprimovaný dost) zmenšila 15.1 GB fotek o celých 100 MB 🙂

 

Na Windows

Na Windows si dovoluji odkázat na skript Davida Ansona z Githubu. Stáhněte si soubor ConvertTo-Jpeg.ps1 a poté v PowerShellu spusťte (ze složky kde je skript) příkaz:

PS C:\T> dir C:\T\Pictures | .\ConvertTo-Jpeg.ps1

Skript bude, stejně jako v linuxu, konvertovat jeden soubor za druhým. Výsledek by pak měl vypadat třeba takto:

Až budu na Windows a bude li zájem, rozepíšu to klidně více, zatím vás ale pro více dotazů či příkladů odkáži na zmiňovaný Github.

Facebook komentáře