Warning for iOS 11 - HEIC and HEVC formats unsupported

As of iOS 11, with specific iDevices (those with an A9 chip, AKA iPhone 7 and that generation of devices and newer) Apple has introduced a new “High Efficiency” format for photos and videos. What this means is, when you use the iOS client to sync you will see only HEIC and HEVC files when syncing photo and video. To my knowledge, there are no Windows or Linux programs that can open this file format. Currently, I am unable to open my .heic files on Fedora 26. This means anything you sync will basically be unusable unless there comes a desktop client that will convert all those files to jpeg. This means to avoid these conflicts you will need to disable this functionality on iOS by taking these steps:

  1. Open Settings
  2. Go to Camera
  3. Formats
  4. Select “Most Compatible”

The end result is your files will continue to save on your iPhone and export as jpeg and mov files. This is mainly a problem with file syncing where you get the “high efficiency” original file vs. connecting your iPhone to Windows or macOS where by default your iPhone will do an export to the more compatible jpeg and mov file formats. My hope is my fellow Apple users will read this before taking lots of pictures and finding they are all in a format you probably can’t open, as support for this format is immature.

9 Likes

That deserves a Pin, nicely done @stratacast

1 Like

just as an aside:
i don’t know about the image format, but

“High Efficiency” (“HEVC”)

with video is usually business-lingo for x265 which ffmpeg has been supporting for quite a while as an external library http://ffmpeg.org/general.html#x265 and which most linux distributions can install w/out problems.
debian 9:
~# apt-cache search x265
libx265-95 - H.265/HEVC video stream encoder (shared library)
libx265-dev - H.265/HEVC video stream encoder (development files)
libx265-doc - H.265/HEVC video stream encoder (documentation)
x265 - H.265/HEVC video stream encoder

if you have a videofile of this kind just do
ffmpeg -i <FILE>
and it should give you meaningful info.
Of course, this is not strictly nexcloud-related.
GOOD LUCK!

Well, it is a container for heavily patent encumbered (Free software and software patents are basically mutual exclusive) stuff actually. No wonder there is no software outside the Apple universe for it:

i don’t want to start this old apple-discussion again like when i needed to learn coping with their company-behaviour. as if they wouldn’t earn enough buckazoids already. :frowning:

Can confirm, replicated this just now:

image

One thing I’m not sure about, is I see there is a repo out by nokiatech on heif and there’s supposedly an open source (though doesn’t appear to be very libre) repo for heif reading/writing/etc. I don’t know all the licensing logistics between this and AGPL, but I wonder if there aren’t any conflicts of interest or license breaches having some sort of conversion built into the server or client for heic? Or I also saw that iOS 11 has the ability to auto detect whether to export as an heif file or the more compatible jpeg & mov files. Perhaps there’s some sort of tie that Nextcloud can take advantage of with either one of those two implementations? I’d assume the latter could be easier or at least more respecting of the openness of the Nextcloud platform

One for @jospoortvliet to raise internally.

Here is a lot of discussion on this Nokia repository:

https://news.ycombinator.com/item?id=14489987

So it’s heavily patented, I guess we won’t be seeing support in NC for this - and tbh I’m not totally disappointed by that; it’s simple enough to turn it off in iOS “at the moment”

@ios is it worth putting a warning up on the next update?

i just noticed this while i was checking the photos that were uploaded to my cloud server.

seems to be that if im checking the pictures in the ios app, the HEIC and HEIF work normally, only the web version of the server seems to be affected.

Hopefully on the next update of NextCloud will be able to preview them on the web browser as normal as jpegs.

By the way, im on version 11.0.5

On a positive note…
During the initial beta stage of iOS 11, google photos was unable to backup the heic files, but during the final iOS beta stages, google photos did an update and now the files are in and are still .heic files, so I can view them, print them, they are treated the same as when it was jpg files through the photos.google.com.

So, I believe it is a possibility to see the same in nextcloud.

This is under study.

2 Likes

this website can help you convert the .heic to jpg: http://heictojpg.com/

also, just tested that when using icloud to sync to photos in a mac, the file gets converted to jpeg.

Also, if you download the .heic into your mac, it will not be recognized or able to be imported into photos.

I think with the jankiness of HEIF (and as stated earlier all the patents and non-libre focus of HEIF), it would cause issues with this project which sucks. @ios Does Apple offer a way to tell iOS to switch over to jpeg & mov for that specific app? That way, if users were wanting to take advantage of HEIF on iOS, they could do that and then have Nextcloud sync as jpeg and mov as usual

I’ve turned my heic feature off on my iPhone camera for now, but look forward to a preview option in the app. I do like the idea of increased compression for photos stored on the phone and it would be cool to have a previewer built into nextcloud and convert it to jpg when syncing.

A tiny and free desktop app for Mac and PC which lets you convert Apple’s new iOS 11 photos from HEIC to JPG or PNG. Enjoy!

2 Likes

Good catch!

The HEIC file format seems to break the auto upload feature on my phone, so those pictures weren’t even in my nextcloud in the first place. After seeing this post I had to manually select all photos from the last month and “share” the image using the IOS share feature, which then converted them, and selecting to upload to nextcloud.

We’ll probably rely on general Linux and PHP libraries that enable this for the server, so that’ll take a while. The ecosystem as a whole has to move forward with it… Eg when most image viewers support it out of the box and when browsers do, we will. Until then - well, one could build an app for it with javascript or so of course…