FFmpeg unterstützt jetzt animierte JPEG-XL Bilder

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 2 Kommentare

Bei der Unterstützung des JXL-Formats gibt es, insbesondere bei den Webbrowsern, kein klares Bild. Durch Apples Ja zum Bildformat für Safari und die erweiterte Unterstützung durch FFmpeg, ändert sich die Situation eventuell.

ffmpeg unterstützt jetzt animierte jpeg-xl bilder

Worum es sich beim Bildformat JPEG-XL handelt, haben wir bereits in diesem Artikel vor zwei Jahren beschrieben. JPEG-XL (kurz JXL) ist ein lizenzfreies Raster-Grafikformat, welches verlustbehaftete und verlustfreie Komprimierung unterstützt. Als Nachfolger des ursprünglichen JPEG-Formats sollen seine Möglichkeiten die der bisherigen Bildformate übertreffen.

Achtung: das Titelbild ist statisch und kein Test, ob euer Browser JXL unterstützt.

Bei der applikatorischen Unterstützung für das JXL-Format, ergibt sich heute ein durchwachsenes Bild. Viele Bildanzeigeprogramme können damit umgeben, einige Bildbearbeitungsprogramme benötigen Plugins für JXL und die Webbrowser können sich nicht entscheiden. Eine Übersicht findet ihr auf dieser Wikipedia-Seite im Kapitel 'Software-Unterstützung'.

Bei Chromium und Google Chrome konnte die Unterstützung in den Versionen 91 bis 109 durch Einschalten eines Flags getestet werden. Auch in Microsoft Edge ist die vorübergehend vorhandene experimentelle Unterstützung wieder entfernt worden. In Firefox (nur Nightly) gibt es seit Version 90 eine experimentelle Unterstützung, die in about:config über das Flag jxl = true aktiviert werden kann. In der Produktivversion soll die Unterstützung erst aktiviert werden, wenn eine breite Nutzerbasis vorliegt. Mozilla betonte vorerst eine neutrale Einstellung gegenüber dem Format, kündigte dann aber im Februar an, es nicht zu unterstützen.

Beim Safari-Browser hat sich Apple für eine Unterstützung entschieden. Am 6. Juni teilte Apple mit, dass JXL ab der Version 17 von Safari funktionieren wird. Inwieweit das den Druck auf die anderen Browser-Herstellerinnen erhöhen wird, bleibt abzuwarten.

FFmpeg ist seit letztem Jahr in der Lage, JPEG-XL-Bilder zu dekodieren, indem es die libjxl-Bibliothek verwendet. Jetzt kann es auch mit animierten JPEG-XL-Inhalten umgehen. Dieser Commit, der diese Woche vor der Veröffentlichung von FFmpeg 6.1 eingebunden wurde, fügt Unterstützung für die Dekodierung von animierten JPEG-XL-Bildern hinzu, wobei weiterhin die libjxl-Bibliothek verwendet wird. Darauf folgte dieser Commit, der einen neuen animierten JPEG-XL-Demuxer hinzufügt. Insgesamt eine nützliche Ergänzung für Anwendungsentwickler, die FFmpeg nutzen und animierte JPEG-XL-Inhalte unterstützen wollen.

Quelle: https://www.phoronix.com/news/FFmpeg-Animated-JPEG-XL

Tags

JXL, JPEG-XL, Ffmpeg, animiert

Hans Müller
Geschrieben von Hans Müller am 26. Juni 2023 um 16:05

»Als Nachfolger des ursprünglichen JPEG-Formats sollen seine Möglichkeiten die der bisherigen Bildformate übertreffen.« Das Lustige:
»PNG, JPEG, TIFF, GIF, BMP, PNM, PFM, WebP, EXR: yes, JXL can work as a replacement for all of those. In fact it was part of the design rationale that JXL should feature-wise be a superset of these formats. Also it can do a nice chunk of the common denominator between image authoring formats (PSD, XCF, KRA etc), that is, it can do named layers with alpha blending and selection masks. Of course it's not as expressive and open-ended as actual authoring formats (which have tons of features and they change with every new version of the software), but for interchange of layered images, I think it has a lot of potential — currently only TIFF can do that, but TIFF is basically uncompressed (or at least only weakly compressed).«
­— Jon Sneyers

Bessere Links bezüglich unterstützter Software:
https://jpegxl.info/why-jxl.html#software_support
https://github.com/libjxl/libjxl/blob/main/doc/software_support.md
Die Liste im Wikipedia-Eintrag enthält veraltete Informationen (beispielsweise steht da immer noch, dass GIMP nur "inoffizielle" Unterstützung hat) und wird wahrscheinlich nie an diese Listen heranreichen können.

»Mozilla betonte vorerst eine neutrale Einstellung gegenüber dem Format, kündigte dann aber im Februar an, es nicht zu unterstützen.« Das wirkt recht journalistisch unsauber. Zitat aus eurer Quelle: »So bleibt Mozilla dem Format gegenüber nun „neutral“ – indem man es aus Firefox entfernt.« Soweit ich weiß hat Mozilla nie gesagt, sie würden es nicht unterstützen. Auch wenn deren "neutrale" Haltung praktisch erst einmal das Gleiche bedeutet: kein Support im Firefox. Ihr impliziert darüber eigentlich sogar selbst, dass Mozilla die Abkehr ihrer (ach so) "neutralen" Haltung im Betracht zieht, wenn das Format mehr Verbreitung findet und mit Nightly gibt wie geschrieben eben trotzdem noch irgendwie Support von Mozilla (auch wenn die Implementierung, soweit ich gehört habe, nicht so toll sein soll): https://caniuse.com/?search=jpeg%20xl

»Am 6. Juni teilte Apple mit, dass JXL ab der Version 17 von Safari funktionieren wird.« Stimmt, doch Apple hat hier nicht die Wahrheit gesagt. Denn tatsächlich hat das Format bei Apple nun ab den atuellen Beta-iOS- und Beta-MacOS-Versionen Support auf der ganzen Plattform. Beispielsweise kann die Foto-App das Format anzeigen, jedoch können auch dritte Apps, die Bibliotheken von Apple nutzen, das Format nutzen. Und was angeblich auch passiert: Das Format wird automatisch konvertiert, wenn es irgendwo nicht unterstützt wird. Der Support in Webkit ist halt eher nett, wenn man nicht auf den neusten Betriebssystem-Versionen ist.

Abschließende Anmerkung: Warum nutzt ihr das Format nicht? Ich habe glatt die Bildunterschrift übersehen und mich erst gewundert, weshalb das Testbild oben anscheinend nicht richtig funktioniert. Ihr könntet heute auf JXL umsteigen und daraus trotzdem JPG an Clients ausliefern, die JXL noch nicht unterstützen!

Ralf Hersel
Geschrieben von Ralf Hersel am 26. Juni 2023 um 18:20

Danke, Hans, für die weitergehenden Erläuterungen. Warum wir JXL (noch) nicht verwenden? Weil wir bei den vielen Autoren den einfachsten Weg gehen. Weil es für die paar Bildchen keinen Vorteil bringt. Weil wir dann jedes Mal die Bildquelle umformatieren müssten.