Display heic/heif files

Wondering if anybody was able to open an heic or heif file

Installed all the relevant codecs from openrepos but i’m still unable to open those

does the gallery even show heic files? Or with which other app would you try to open them?

There’s at least this plugin:

but I (at least) havent been able to get it work. Plus, libheif (its core dependency) is GPL3

Also a supposed requirement of Qt 5.14.

The plugin claims LGPL 2.1. But which is quite odd since libheif is LGPL 3.
And libheif seems to have dependencies to at least a handful of other libraries.

1 Like

With the gallery of course,

What are the packages on openrepos for then?

1 Like

you’ll need imageSDLview | OpenRepos.net — Community Repository System to display heic files as well as libheif from libheif | OpenRepos.net — Community Repository System (some other libheif out in the internet will do only avif and cannot use HEVC) and gdk-pixbuf-loader-libheif | OpenRepos.net — Community Repository System

2 Likes

As much as i thank you, i guess that using the terminal for opening a photo is too much

I thought that after having all the required codecs installed they would open in gallery, but unfortunately not, so i solved the thing, for the moment, by uploading heic files to flickr, not without issues, but it works

I hope jolla will bake the support into the system one day…

1 Like

I also received such files recently and could not open them. Then one day by accident i found them opening in whatsapp.

So it might be that whatsapp can deal with them, or the required libs are part of aliendalvik and all android apps can deal with them.

So android apps like whatsapp could be a workaround while we are waiting for native support.

no, you don’t have to wait:
you only have to tell xdg-open to open files e.g. with the .heic extension with (keyword: xdg-mime )
python3 /usr/lib/python3.8/site-packages/imageSDLview/imageSDLview.py
et voilà you can now open heif files with filebrowser/browser/… (all apps using the xdg-open command)

1 Like

I actually might have a question:
how do I create a .desktop launcher for a python app (imagesdlview) for sailfishos?
what values do I set in X-MeeGo-Logical-Id/X-MeeGo-Translation-Catalog/X-Maemo-Service/X-Maemo-Object-Path/X-Maemo-Method ?

what I have done:
create a imagesdlview.desktop file in ~/.local/share/applications/ with:
[Desktop Entry]
Type=Application
Name=imagesdlview
NoDisplay=true
MimeType=image/heif;image/heic;
Exec=python3 /usr/lib/python3.8/site-packages/imageSDLview/imageSDLview.py %u

then:
xdg-mime default imagesdlview.desktop image/heif

finally:
update-desktop-database ~/.local/share/applications/

and it should work now
(jpegxl .jxl should work the same way, but you’ll have to create a image/jxl mimetype first:
xdg-mime install jpeg-jxl.xml
giving mime scheme in a xml file)

1 Like
  • X-MeeGo-Logical-Id, - X-MeeGo-Translation-Catalog

You don’t need to set these, unless you have Qt-style “.qm” files with translations. If you do, you set X-MeeGo-Logical-Id to the translation key/Id, and X-MeeGo-Translation-Catalog to the base file name of the .qm file. You can use this to “hijack” existing translations if they contain a key you want to use (example).
All this is irrelevant for a pure python app generally.

If you want to support translated names for your app, you can use Name[xx]=TranslatedAppName, where xx is the language code (e.g. de, sv etc.).

  • X-Maemo-Service, - X-Maemo-Object-Path, X-Maemo-Method

These are used to define DBus service, path, and method names. Unless you have a DBus listener/handler prepared in your app, you don’t need to set those. (The example uses these keys to launch the Settings application at a certain page if clicked, but this only works because the Settings app has a DBus interface with these properties.)

1 Like

okay, thanks a lot for your reply

newest ffmpeg 7 is able to display (via ffplay) heic / heif files:
https://openrepos.net/content/sailffmpg/ffmpeg