V práci používáme ufouny, což přináší jistou komplikaci: ufouni vy výchozím nastavení ukládaj fotky v bláznivém formátu HEIC, a né v JPG, jako normální telefony pro slušný lidi.
Dáda chtěla stáhnout fotky za uplynulej rok, aby mohla udělat tradiční kalednář na rok příští. Tož, stáhl jsem, akurát že ty HEICy nejdou nijak zobrazit ani zkonvertovat. Zobrazovač v Microsoft Store sice existuje, ale je placenej a to se člověk musí přihlašovat a vůbec, obstrukce. Pročež jsem se rozhodl fotky nahrát do Fedora Linuxu, zkonvertovat je do JPG a vrátit zpátky.
Krok 1.: FTP server
Můj nejmilejší způsob, jak na Linux nahrát nějaký dato, je VSFTPD = Very Simple File Transfer Protocol Daemon. Instalace takhle easy:
#sudo dnf install vsftpd
#sudo systemctl enable --now vsftpd
A ještě otevřít port na firewallu a ztrvalit ho:
#sudo firewall-cmd --add-service=ftp
#sudo firewall-cmd --runtime-to-permanent
Navalit fotky na FTP server pomocí vašeho oblíbenýho FTP klienta. V mém případe Total Commander.
Krok 2.: Instalace konvertoru
Tohle byla ta pikoška, kvůli které to píšu. Vyzkoušel jsem mnoho návodů a postupů, včetně stažení zdrojáků a kompilace jednoho nástroje, ale nakonec se ukázalo, že easy does it:
#sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
#sudo dnf install libheif-tools libheif-freeworld
Libheif-freeworld, to je ten správnej balíček, kterej do konvertoru heif-convert doplnil kodely. Pro kontrolu:
#heif-dec --list-decoders
Krok 3.: Skriptík na konverzi HEIC do jpg ve všech podadresářích
Nebudu vám lhát, s tímhle mi pomohla KeckaGPT
out="output_jpg"
mkdir -p "$out"
find . -type f -iname "*.HEIC" -print0 | while IFS= read -r -d "" f; do
base=$(basename "${f%.*}")
heif-convert -q 90 "$f" "$out/$base.jpg"
done
Et voila, po pár hodinách máme dokonvertováno.
Některý fotky připomínaj moc hezký chvíle, a bohužel i odešlý kámoše.