HEIC/HEIF-Dateien unter Ubuntu und Fedora verarbeiten

Das High Efficiency Image File Format (HEIF) ist ein relativ neues Dateiformat für Bilder und Bildsequenzen. Es ist durch die Moving Picture Experts Group (MPEG) standardisiert und wird seit 2017 vor allem von Apple eingesetzt. Die resultierenden *.heif– bzw. *.heic-Dateien ermöglichen bei gleicher Bildqualität kleinere Dateigrößen. Die Kennung *.heic weist auf die Kombination von HEIF mit dem Video-Codec Efficiency Video Coding (HEVC) hin.

Kürzlich wollte ich ein paar mit dem iPhone aufgenommene Bilder unter Linux mit Shotwell verarbeiten. Dabei bin ich, leider beinahe erwartungsgemäß, auf Probleme gestoßen. Einige ließen sich lösen, aber nicht alle.

Mit etwas Überredungskunst kann Shotwell auch mit HEIC-Dateien umgehen.

Ubuntu

Es beginnt damit, dass das weit verbreitete Foto-Management-Programm Shotwell erst seit April 2023 (Version 0.32) kompatibel mit dem HEIF-Format ist. Ubuntu bis einschließlich Version 23.04 liefert Shotwell aber in der Version 0.30 aus.

Um Version 0.32 zu installieren, müssen Sie zuerst ein Private Package Archive (PPA) aktivieren. Außerdem müssen
Sie die Bibliotheken libheif1 und heif-gdk-pixbuf installieren. (Diese Pakete gelten nicht als Abhängigkeiten und werden daher nicht automatisch installiert.)

sudo add-apt-repository ppa:ubuntuhandbook1/shotwell
sudo apt update
sudo apt install shotwell libheif1 heif-gdk-pixbuf

Sind diese Hürden einmal überwunden, funktioniert der Import von HEIC-Dateien in Shotwell problemlos, wenn auch sehr langsam.

Fedora

Unter Fedora 38 sieht die Lage nicht viel besser aus. Shotwell steht zwar in der aktuellen Version 0.32 wahlweise als Flatpak- oder als RPM-Paket zur Verfügung, scheitert aber in beiden Varianten beim Import von HEIC-Dateien. Schuld sind wiederum fehlende Bibliotheken.

Bei der Flatpak-Variante lässt sich dieses Problem aktuell nicht lösen, weil Shotwell die Bibliotheken aus Framework-Flatpaks liest, auf die Sie als Anwender keinen Einfluss haben. (Habe ich schon einmal erwähnt, dass ich weder von Snaps noch von Flatpaks viel halte?)

Die RPM-Version von Shotwell wird HEIF-kompatibel, wenn Sie die Paketquellen RPM Fusion Free und Nonfree aktivieren (siehe https://rpmfusion.org/Configuration) und das dort enthaltene Paket libheif-freeworld installieren:

sudo flatpak remove shotwell
sudo dnf install shotwell libheif-freeworld

Unter Fedora scheiterte Shotwell jetzt aber am Auslesen der EXIF-Daten. Damit fehlen Informationen, wann die Fotos aufgenommen wurden. Eine Lösung zu diesem Problem habe ich nicht gefunden. Die Sache ist ein wenig unbegreiflich, weil der Import unter Ubuntu mit EXIF-Daten funktioniert.

Nautilus und Gimp

Nicht nur Shotwell zickt, wenn es auf HEIC-Dateien stößt, ähnliche Probleme haben auch Gimp, Nautilus und Co. Bei Gimp besteht die Lösung darin, das Paket gimp-heif-plugin zu installieren.

Nautilus unter Debian/Ubuntu setzt den heif-thumbnailer voraus, der aber ebenfalls nicht automatisch installiert wird. Unter Fedora müssen Sie stattdessen die libheif-tools installieren.

heic-convert

Eine Notlösung besteht darin, HEIC-Dateien vorweg in das JPEG-Dateien umzuwandeln. Dabei hilft das Kommando heif-convert aus dem Paket libheif-tools (Fedora) bzw. libheif-examples (Ubuntu). Das folgende Kommando durchläuft alle *.HEIC-Dateien im aktuellen Verzeichnis und erzeugt JPEG-Dateien in hoher Qualität. Die resultierenden Dateien sind leider wesentlich größer als die HEIC-Originale.

for f in *.HEIC; do heif-convert -q 95 --with-exif $f $f.jpg; done

Fazit

Wenn sich immer wieder einmal jemand wundert, warum aus Linux am Desktop nichts wird — hier ist die Antwort: Aufgrund vieler Kleinigkeiten versagt Linux im praktischen Betrieb und treibt seine Anwender zur Verzweiflung. Und den schwarzen Peter jetzt Apple zuzuschieben, das partout HEIF/HEVC einsetzt, ist nicht ganz fair: Diese Dateiformate kommen nun seit sechs (!) Jahren zum Einsatz, nicht erst seit gestern.

Und tatsächlich sind unter Linux eigentlich alle Puzzle-Stücke schon da. Aber ohne stundenlange Internet-Recherche lassen sie sich nicht zusammenfügen. (Ein verblüffendes Gegenbeispiel ist übrigens KDE Neon, ansonsten eigentlich nicht meine Lieblingsdistribution: Dort werden HEIC-Dateien auf Anhieb im KDE-Dateimanager korrekt angezeigt. Auch Digikam kommt mit den Dateien sofort zurecht. Leider auch nur fast: Digikam scheitert, im Portrait-Modus aufgenommene Bilder richtig zu drehen, obwohl die EXIF-Daten eigentlich da wären.)

Quellen/Links

11 Gedanken zu „HEIC/HEIF-Dateien unter Ubuntu und Fedora verarbeiten“

  1. Hast Du den Bug bei digikam schon gemeldet? Meine Erfahrung dort ist, dass Bugs zeitnah gefixt werden! :-)

  2. Ich habe genau das Problem auch mit Videos von meinem Pixel 5.
    Mein fedora 38 kann diese nicht abspielen. Hast du da evtl. ein Tipp?

    1. Mit Video-Dateien ist es tendenziell noch schlimmer wie mit Bildern, weil es erfahrungsgemäß eine Weile braucht, bis neue Kompressionsverfahren/Codecs unter Linux unterstützt werden. Unter Fedora aktiviere ich die RPM-Fusion-Paketquellen Free + NonFree und installiere dann alles, was ich an Plugin-Paketen finden kann:

      sudo dnf install gstreamer*-plugins-bad* gstreamer*-plugins-ugly*
      

      Wenn es danach nicht funktioniert, wird es schwierig. Ich würde es mit VLC probieren, das häufig mit mehr Codecs zurechtkommt als Gnome.

      Ansonsten musst du herausfinden, welchen Codec deine Pixel-Videos verwenden und ob diese grundsätzlich schon unterstützt werden. Ich habe da kein Rezept :-(

      1. Unter Fedora aktiviere ich die RPM-Fusion-Paketquellen Free + NonFree und installiere dann alles, was ich an Plugin-Paketen finden kann …

        Einige nennen diese Vorgangsweise „Cargo Cult System Administration“ : http://wdoust.blogspot.com/2018/12/on-cargo-cult-system-administration.html Meine Erfahrungen in Unternehmen stützen diese Einschätzung. Die professionellen Administratoren waren zu einem geschätzten Anteil von 80% mit der Behebung von Problemen beschäftigt, die sie mit ihrer Schlampigkeit sich selbst eingebrockt hatten.

        Ich probiere es immer mit „Science Based System Administration“: https://forums.opensuse.org/t/installing-packman-codecs/140906 Systemverwaltung ist keine Wissenschaft und auch keine Hexerei. Doch die Anwendung wissenschaftlicher Methoden verleiht ihrer Effizienz und Robustheit einen erstaunlichen Schub.

        Bleibt hinzuzufügen: Nicht alle Distributionen sind gleich, oder „Your mileage may vary“. Mein System hat keines der oben beschriebenen Probleme. Ich muss nichts machen. Zypper kümmert sich um die Routineangelegenheiten selbständig und braucht nur ganz selten meine Unterstützung, Mein „A dup [dist-upgrade] a day keeps the trouble away“ wurde als Arroganz gescholten. Tatsächlich hält er die Installation fit.

        Mehr:

        „Note that there can be some subtleties with updates, especially with multiple repositories. See for example recent discussion about using zypper dup versus zypper up and zypper dup priorities.“

        https://en.opensuse.org/Portal:Tumbleweed
        https://forums.opensuse.org/t/zypper-dup-priorities/131842

        „Retired from the day job. Chasing fresh air & sunshine“ (das gilt auch für mich).

        https://blog.lastinfirstout.net/2009/11/cargo-cult-system-administration.html

  3. … ich meine, Fedora hat erst vor kurzem aus rechtlichen Bedenken heraus HEIF-/HEIC-relevanten Code entfernt (entfernen müssen); davor hat es damit recht problemlos funktioniert. Unter Pop!_OS braucht’s das qt-heif-image-plugin selbstkompiliert, um Bilder in den KDE-Anwendungen dargestellt zu bekommen. Generell funktionieren HEIF/HEIC sehr schön unter Gentoo, wenn das HEIF-Use-Flag aktiviert ist. Tatsächlich habe ich deswegen neulich Gentoo auf noch mehr Geräten installiert.

  4. Wobei die Situation unter Windows auch nicht besser ist. Es gibt zwar eine Erweiterung von Microsoft für Windows. Die habe ich auf dem Rechner meiner Freundin unter Windows 10 aber nicht dazu bewegen können zu funktionieren. Ich musste dann irgendein Programm zur Konvertierung verwenden (weiß nicht mehr welches).

  5. Ich weiß nicht – ich habe überhaupt kein Problem. Ich habe libx265 bereits in Ubuntu 18.04 installiert und entsprechend auch HVEC-Videos abgespielt / codiert. OK., das Paket ist nicht standardmäßg vorinstalliert, aber in den Repos seit mindestens 5 Jahren. Jetzt bin ich auf 22.04.

    Obowhl ich als Firmentelefon ein iPhone habe, bin ich erst jetzt auf HEIF aufmerksam geworden. (Das Ding fotografiert nämlich nach wie vor standardmäßig in JPEG; ich habe auf die Schnelle nicht mal die Auswahl von HEIF gefunden.) Gut, pobiert. HEIF wird anstandslos von GIMP verarbeitet – Öffnen und Abspeichern.

    Nur, das mit der Größe… Ich habe es mal schnell mit einem 45-Mpx-RAW-Bild probiert, über Rawtherapee, so wie immer, nur halt als TIFF abgespeichert und im GIMP dann als 8-bit-HEIF mit 95 %. Das HEIF ist doppelt so groß (33 MB) wie das 95-%-8-bit-JPEG (16 MB), das ich normalerweise erzeuge… GIMP schreibt übrigens brav raus: „verwende libx265 zum Speichern“.

    Das deckt sich übrigens auch mit meiner bisherigen Erfahrung mit diversen neuartigen Bildcodecs, dass vom angekündigten „Riesenunterschied“ in der Größe nicht viel Praxisrelevantes übrig bleibt. (Ich beschäftige mich immerhin schon seit 25 Jahren mit Bildbearbeitung.) Bei Video hingegen stimmt’s; bei gleicher Qualität ist x265 um zwei Drittel kleiner als x264.

    1. Ich bin mit WebP sehr zufrieden. Es ist verlustfrei deutlicher kleiner als PNG, und verlustbehaftet kleiner und besser als JPEG. Der Großteil der User arbeitet sicherlich mit gescannten Dokumenten sowie mit Grafiken, die per E-Mail versandt oder ins Web gestellt werden sollen. Und hier ist WebP auf jeden Fall ein riesiger Fortschritt gegenüber den alten Formaten. Es wird auch von der Software breit unterstützt: damit meine ich nicht nur Browser, sondern auch GIMP, LibreOffice und CMS-Systeme.

  6. Die Erwartungshaltung, dass ein exotisches Spezialformat von Apple „bequem“ unterstützt werden müsse, kann ich nicht nachvollziehen. Zum einen fragt man sich doch automatisch, warum man nicht einfach webp benutzt?!

    Und die Can I Use-Tabelle belegt sehr eindrücklich, dass wirklich niemand HEIC unterstützt, die einzige Ausnahme ist Apple:
    https://caniuse.com/heif

    Can I use? No! Als weiterer Grund ist dort zu lesen: „It is hard for browsers to support HEIC because it is complex and expensive to license.“ Gerade im Bereich freier Software legt man doch Wert auf möglichst freie Standards mit möglichst weiter Verbreitung.

Kommentare sind geschlossen.