SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I just went through this exercise recently and did not have much luck. Although Imagemagick states on their web site that it supports HEIC it didn't work. I gave up since it was less work for someone with a Mac to convert the files for me. I don't have a IPhone but would probably set the default to jpeg just so you don't mess with conversion.
I don't have any HEIF images to test with, but I did find these few projects that might do it.
https://github.com/monostream/tifig - requires ffmpeg 3.1+ and libvips 8.6+. SBo has ffmpeg 3.2.4 but only libvips 8.1, so you may be able to manually use a newer version of libvips.
Thanks, michaelk and bassmadrigal, for your answers. I think that ImageMagick is the best bet.
I built the last github version with configure option '--with-heic'.
Libde265 must be installed, or ImageMagick configure builds with no heic support.
so I built and installed the last version at https://github.com/strukturag/libde265.
Now, ImageMagick says it builds with HEIC.
- when I run './magick --version', it lists heic in the built-in delegates list.
'identify zz.heic' (with some zz.heic photo), identifies it correctly as a HEIC image.
'convert zz.heic zz.jpeg' does convert to a jpeg image. (woohoo!)
'convert zz.jpeg zz2.heic' fails with message "no encode delegate for this image format `HEIC'"
So maybe I missed something to also allow HEIC encoding... but for the moment, I don't care. I think that for many of us, the HEIC to JPEG conversion is much more useful!
Hope it helps some of you with the same issue
(and I sure hope the next Slackware will include libde265 and ImageMagick with heic support)
Libde265 must be installed, or ImageMagick configure builds with no heic support.
so I built and installed the last version at GITHUB ...
I'm trying to do this, too! With Ubuntu, however. The problem is, the Makefile for libde265 does not provide an 'install' method, so how did you do it? To work with the ImageMagick build system, the package must be registered as installed somehow. While I built the library successfully, ImageMagick still does not include HEIC because it doesn't see the package as available!
This is a simple problem somebody who knows more about the pkg-config utility and libde265 can probably answer? Help needed here please.
Just an update for others --- I did get libde265 properly installed. The "trick" was to ignore the instructions in the README.md file about using cmake to generate the make in a 'build' subdirectory; if you do it this way, you'll run into my problem of there being no 'install' operation in the Makefile. Instead, I just used the Makefile that was in the main directory, it built somewhat differently there but there also is an 'install' action in that Makefile.
Once libde265 is installed, the ImageMagick configure enables support for heic file format and it all works as was described. I let it install both libde265.so and ImageMagick into /usr/local, though I'm told they more appropriately belong in /opt. Whatever... I just also had to add /usr/local/lib into my LD_LIBRARY_PATH for magick to find the shared library.
Also, Ubuntu actually includes an ImageMagick package in its repositories, but it is ImageMagick 6 and does not have HEIC built-in. That package is also used as a dependency by CUPS for printer services, however, so I had keep that installed too!
Finally, I'd mention that not all HEIC converters are the same. Some strip the image information headers with things like the date/time take and geolocation, and file size of the resulting JPG seem to vary (I guess that's a compression quality issue?) I think everyone has to get with the program, GIF BMP JPG have a new sibling HEIC that needs to be universally adopted; the time has come ...
I'm trying to do this, too! With Ubuntu, however. The problem is, the Makefile for libde265 does not provide an 'install' method, so how did you do it? To work with the ImageMagick build system, the package must be registered as installed somehow. While I built the library successfully, ImageMagick still does not include HEIC because it doesn't see the package as available!
Quote:
Originally Posted by cparke
Just an update for others --- I did get libde265 properly installed. The "trick" was to ignore the instructions in the README.md file about using cmake to generate the make in a 'build' subdirectory; if you do it this way, you'll run into my problem of there being no 'install' operation in the Makefile. Instead, I just used the Makefile that was in the main directory,
Yes I ran into the same issue. I built libde265 in a user directory with ./configure / make.
Then before ./configuring ImageMagick, I just hand-copied the libde265.so files in a system dir --Not as clean as your /usr/local complete install, but it did the job!
Last edited by philanc; 04-13-2018 at 12:07 AM.
Reason: typo
I just hand-copied the libde265.so files in a system dir --Not as clean as your /usr/local complete install, but it did the job!
Really? I had tried that, but it didn't help, because ImageMagick's ./configure isn't searching for the .so shared library, it's searching for the package! For that to detect, a separate .pc file must be generated and copied into the proper system directory where the other .pc files are located. That's why I was fretting...
Really? I had tried that, but it didn't help, because ImageMagick's ./configure isn't searching for the .so shared library, it's searching for the package! For that to detect, a separate .pc file must be generated and copied into the proper system directory where the other .pc files are located. That's why I was fretting...
You are right. I copied the libde265.so, .a, .la files in /usr/lib64 and also the libde265.pc file to /usr/lib64/pkgconfig (and forgot about the .pc file in my last post). libde265.pc is generated by running ./configure.
If you have a newer iPhone, you have the format automatically converted to .jpg on export:
If I happen to have an iphone, I will consider this option (although heic files are more compact). But I do not control how other people do configure their iphone and the photos they send me...
I'm trying to do this on Amazon Linux (I'm building Imagemagick for AWS Lambda), but am having trouble at the `configure` stage.
I'm Installing libde265 from the github source, copying the libde265.so, .a, .la files to /usr/lib64 and libde265.pc file to /usr/lib64/pkgconfig as mentioned above, and configuring Imagemagick with the --with-heic flag, but I still don't get the HEIC delegate in the config output. Any ideas about steps I'm missing or options I'm leaving out? I've been stumped for a week.
But bear in mind that ImageMagic has far from superior heic->jpeg conversion algorithm, resulting images have a lot of artefacts, you can check image quality via service https://heic2jpeg.com/
I stumbled upon this issue yesterday when I wanted to crop&convert some pictures imported from iPhone device. Based on information in this thread and Internet sources I created few slackbuild scripts. If anyone is interested the url is click. I plan to submit libraries to SlackBuilds.org eventually.
Please note that the heic gimp plugin is only meant for gimp < 2.10. Version included in current has it out of the box.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.