Live photos are not working
Is anyone having problems uploading live photos from iOS? I can see the photo, but the live photo doesn't seem to work. The majority of the photos are not saved as live, just a few
65 Replies
This issue will be fixed in the next release
Okay, thanks! Do you have any idea when it will be released?
either tonight or tomorrow
"live photos" consists of a HEIC phto and a "small" video file . basically two seperate files
@Alex I'm having a similar issue - I can see photo and related video file separately. I bulk uploaded via CLI. Will this also be fixed in the next release?
It seems that when uploading from mobile only uploads the photo if it’s in heic format
How can you use cli with apple photo library?
I downloaded my whole library from iCloud
Also interested in this. I did a bulk upload too but used Google Photos Takeout instead of iCloud
Mobile upload via the app uploads both parts.
That’s the thing, are u using heic or jpeg? With jpeg uploads both parts with heic doesn’t work
The mobile app will upload the still part (HEIC) and motion part (MOV) all together
@Alex will the new release merge media that was uploaded via CLI on 1.79 and became split (HEIC / JPEG)?
I believe you will have to run metadata-extraction job again
that's fine as long as I don't have to delete/reimport things
thanks for fixing!
You can click on the two separate files and then run metadata extraction for just those, if only want to run jobs for the affected files.
It's not working for me :(, i have all my photos taken in HEIC and once uploaded there isn't any live photo, I tried to change the format to jpeg and I took a photo and live works, really strange
Can you describe what exactly you mean by "not working". There is no video portion getting backed-up? It is backed-up but not linked? Both are backed-up, but the video doesn't play on the mobile app?
Specifically on the web, what do you see for the HEIC video you just took?
Are you on version 1.80?
Not yet, I'll update when I get home
and i'll report if it's working or not, I hope so :)
also re-running metadata extraction now
is there any other way to monitor progress besides the reported "waiting" value? unlike other jobs this seems to not report logs except on failures
I believe you can set the log level
LOG_LEVEL=debug
in the .env
file to see more logs but we don't have anything on the UI to monitor besides the countsyou probably thought about this already but having a rate on the web UI might be nice
items/sec or min
Maybe in the future 🙂
the completion rate is varied depends on the CPU power so it is not very trivial to implement somethings like this
what do you mean? the UI already has access to the counter at any given time, in its simplest form it would only need to peek at it once per minute and report the difference between two consecutive measurements
it's abstracted away from the underlying job and type of work it does
You have access to the number of job queue, but you don't know how fast a single job will take to complete
let's say for a 5 minutes videos length, lower power CPU might take 2 minutes to encode, faster CPU might take 30 seconds to encode
For thumbnails, when a job finishes it queues other child jobs. In the count (as is) there is no way to track this, so you can't actually accurately determine the progress.
update: this seems to have fixed things for me, now the HEIC files don't show up as disabled anymore, and the associated EXIF data (creation timestamp) looks accurate
thanks again for fixing
true, if you zoom it at the granularity level of a single task then it's tricky
but if the job queue exported not just current size, but also the number of added/finished tasks, then you could zoom out and just check how many tasks finished within a given period
so instead of knowing "this particular encode will take 30 sec", you end up knowing "over the last minute there were N encodes that finished running"
IMO the TLDR is this isn't trivial because of a few reason (variability, inaccurate/incomplete data, child jobs), but you are free to open a discussion about it on github and/or implement it yourself in a PR.
Completed jobs are not currently tracked, and I'm not sure if we want too. I think we would need server-side changes to expose more data to have anything decent to display in the UI.
got it
I think it's a great idea, it just is a bit complicated right now to implement.
might look into the code when I get a bit of time
FWIW - we've talked about adding a table to immich in the future to track more details about jobs. Specifically with the goal in mind of being able to view job details in the UI itself, instead of digging through the logs. Also, being able to tell when the last time X job ran on Y asset for machine learning and stuff like that. There's quite a few things that would benefit from a bit better job tracking. I think the feature you are describing would be quite a bit easier to implement if/when we implemented something like that.
So there is potentially:
- View failed jobs in the UI
- View what assets were processed with what ML model and when
- Show a notification/indicator for failed jobs int he UI
- Retry a failed job
- Link to the asset for a failed job for download/further troubleshooting
- Potentially view more debug information in the UI itself (full exif tags, etc.)
- More reliably run jobs with "missing" (no last run vs no data) - the difference between images without faces vs images that haven't been processed yet.
- etc.
all of this sounds great to have
update 2: some of the affected photos still have extremely blurry thumbnails which don't change even when running the refresh job on demand
but might be unrelated? not sure
Blurry thumbnail is loaded from the database. It should get replaced with the non-blurry version of the thumbnail. If that isn't happening it is because the thumbnail hasn't been created yet or the file is no longer where it used to be or no longer accessible.
file should be accessible (opening it in full view works properly)
beforehand I ran:
1. extract metadata (all)
2. generate thumbnails (missing)
3. (currently running) generate thumbnails (all)
and "Refresh thumbnails" on the image itself

Do you still have jobs running?
Or are they all complete?
ah, "Refresh thumbnails" on the photo just adds it to the queue?
that would explain it, there are many others pending
ok that was it, I cleared the queue and ran an individual refresh again
now it updated the thumbnail
Yeah, those bottom two options are just single variations of the corresponding jobs in the admin page.
Get added to the back of the queue though.
Would be nice to be able to trigger refreshes at the album or selection level
might look into that as well sometime
You can multi-select assets and then do it.
all I get is this

But only from the main timeline right now I believe (/photos)
ah right
We were conservative where we chose to add this to begin 😛
Ideally stuff "just works" without needing to spam jobs
ok that's much better than the all-or-nothing alternative
thanks!
still doesn't work, some live photos are conserved, but the bast majority don't have the video
i'm checking the library folder and the videos are not being uploaded
Is this iOS LivePhotos or Android MotionPhotos?
iOS, iOS 17
Can you try to reupload them again?
I'm trying it, I have erased all the photos
So when the video is uploaded, it works perfectly, but for the majority of pictures the video is not uploaded
i'm just uploading the live photos album to test
It still doesn’t work :(
strange, I just uploaded some LivePhotos and it is matching up correctly
i erased everything again, and i''m gonna reinstall the app
It doesn’t work :(
Is not a matching problem, the problem is that the videos are not getting uploaded
Is there anything in the mobile app logs?
yes
Catch all error: - HttpException: Invalid statusCode: 500, uri = http://mi_ip/api/asset/thumbnail/6236c2eb-08ae999d214?format=WEBP - image resource service - resolving an image codec -
There's lots of these
Ah. Sounds like some thumbnails encoded videos are missing or not generated yet.
Have you changed the transcoding settings at all? Is the microservices container running? What do the logs say for it?
I activated nvenc
I'd check the logs and/or change it back to default and see if a new heic works correctly.
done it and anything changed :( its not an encoding problem, the videos are not getting uploaded into the server, just for few photos, which I can see them as live correctly
I checked the library folder created by the app in my ubuntu server and that's what is happening, for some reason some videos aren't getting uploaded
Thanks for the help!
I have the theory that the icloud photos that are not actually in my phone are the ones causing issues
you’ll either need to change this setting, or just bulk download via iCloud (which I did). Going to test bulk CLI import on a fresh 1.80 install and report back.

okay
I just came across this thread and am seeing the same thing. In short, if you use the "Optimize iPhone Storage" feature, then there does not seem to be a way to ensure that all Live Photos are uploaded properly from the app. I will need to try the CLI import feature. I don't see this feature on the roadmap, but it would be great if the Immich app could handle downloading offloaded iCloud photos one day. I'm not an iOS dev so I don't know that works, but maybe it's possible (https://support-en.wd.com/app/answers/detailweb/a_id/47458/~/ixpand-wireless-charger-sync%3A-backing-photos-and-videos-with-icloud-photos).
More info on my testing:
I've been running into the same issue where Live Photos are not all uploaded. I created a test album with 10 live photos in it. The photos in this test album were from a couple of weeks ago so they should have been offloaded to iCloud. If I choose the album to upload to Immich then 3 of the 10 have the associated MOV file. I looked in Immich's library after upload and only 3 are there. I do use the "Optimize Phone storage" option since I have many photos. I did load the Live Photos in the Photos app wondering if the issue was that the video portions were not stored locally. Maybe iOS has a feature where it stores the MOV locally temporarily which is why it was not uploaded through the Immich app. I then created another test album of 10 photos I took immediately before adding the album to Immich. In this case, all Live Photos were uploaded with the video portion.
Exactly, I solved it bulk uploading from my computer, but the whatsapp photos changed the date to the day I downloaded them in my computer,. So I had to erase them and upload them again from my phone
Just had a thought... what if we used the share extension within iOS photos? I may be wrong, but I think the expected behaviour is iOS will download 'offloaded' photos back from iCloud before sharing them to another app. This way we can force the uploading of offloaded photos correctly for users looking to bulk upload to Immich
i've written a sample of the share extension code. pls dont roast my code im on like 4 hrs sleep 😆