[BUG] Exif metadata 'Rotation: 180' ignored for videos on mobile app #783

Closed
opened 2026-02-04 22:28:25 +03:00 by OVERLORD · 16 comments
Owner

Originally created by @andresbono on GitHub (Mar 30, 2023).

Originally assigned to: @jrasm91 on GitHub.

The bug

Videos recorded in horizontal by turning the phone 90 degrees clockwise (how a left-handed would typically record the video with one hand) are reproduced upside down in the mobile app.

At least with my phone, the raw data of the videos is the same no matter the orientation of recording, except for the exif metadata Rotation, that would be 0, 90 or 180 depending on the case.

Videos with 0, 90 (even 270) values are reproduced correctly, only 180 is buggy.

The thumbnail (web browser and mobile app), reproduction in the web browser and preview in the web browser are all displayed correctly for all videos.

The OS that Immich Server is running on

Host is Debian amd64 (container images ghcr.io/immich-app/*)

Version of Immich Server

v1.52.1

Version of Immich Mobile App

v1.52.0

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

https://github.com/immich-app/immich/releases/download/v1.52.1/docker-compose.yml

Your .env content

https://github.com/immich-app/immich/releases/download/v1.52.1/example.env

Reproduction steps

  1. Prepare videos with different rotations. For example, download test video and set Rotation values with exiftool:
$ wget -O 0.mp4 https://freetestdata.com/wp-content/uploads/2022/02/Free_Test_Data_1MB_MP4.mp4
$ cp 0.mp4 90.mp4 
$ cp 0.mp4 180.mp4
$ cp 0.mp4 270.mp4
$ exiftool -Rotation=90 90.mp4
$ exiftool -Rotation=180 180.mp4
$ exiftool -Rotation=270 270.mp4
$ exiftool -Rotation *.mp4
======== 0.mp4
Rotation                        : 0
======== 180.mp4
Rotation                        : 180
======== 270.mp4
Rotation                        : 270
======== 90.mp4
Rotation                        : 90
    4 image files read
  1. Play the videos in the mobile app (Android), after uploading them to the server or before backing-up, makes no difference.

Additional information

No response

Originally created by @andresbono on GitHub (Mar 30, 2023). Originally assigned to: @jrasm91 on GitHub. ### The bug Videos recorded in horizontal by turning the phone 90 degrees clockwise (how a left-handed would typically record the video with one hand) are reproduced upside down in the mobile app. At least with my phone, the raw data of the videos is the same no matter the orientation of recording, except for the exif metadata `Rotation`, that would be `0`, `90` or `180` depending on the case. Videos with `0`, `90` (even `270`) values are reproduced correctly, only `180` is buggy. The thumbnail (web browser and mobile app), reproduction in the web browser and preview in the web browser are all displayed correctly for all videos. ### The OS that Immich Server is running on Host is Debian amd64 (container images ghcr.io/immich-app/*) ### Version of Immich Server v1.52.1 ### Version of Immich Mobile App v1.52.0 ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML https://github.com/immich-app/immich/releases/download/v1.52.1/docker-compose.yml ``` ### Your .env content ```Shell https://github.com/immich-app/immich/releases/download/v1.52.1/example.env ``` ### Reproduction steps 1. Prepare videos with different rotations. For example, download test video and set Rotation values with exiftool: ```bash $ wget -O 0.mp4 https://freetestdata.com/wp-content/uploads/2022/02/Free_Test_Data_1MB_MP4.mp4 $ cp 0.mp4 90.mp4 $ cp 0.mp4 180.mp4 $ cp 0.mp4 270.mp4 $ exiftool -Rotation=90 90.mp4 $ exiftool -Rotation=180 180.mp4 $ exiftool -Rotation=270 270.mp4 $ exiftool -Rotation *.mp4 ======== 0.mp4 Rotation : 0 ======== 180.mp4 Rotation : 180 ======== 270.mp4 Rotation : 270 ======== 90.mp4 Rotation : 90 4 image files read ``` 2. Play the videos in the mobile app (Android), after uploading them to the server or before backing-up, makes no difference. ### Additional information _No response_
OVERLORD added the 🗄️server📱mobile labels 2026-02-04 22:28:25 +03:00
Author
Owner

@andresbono commented on GitHub (Jun 8, 2023):

@jrasm91 I think this is more of a https://github.com/immich-app/immich/labels/%F0%9F%93%B1mobile related issue.

Actually, it seems to be derived from flutter and the video_player package: https://github.com/flutter/flutter/issues/122276. Is pinning video_player to version 2.3.4 an option? At least until https://github.com/flutter/flutter/issues/122276 is resolved.

@andresbono commented on GitHub (Jun 8, 2023): @jrasm91 I think this is more of a https://github.com/immich-app/immich/labels/%F0%9F%93%B1mobile related issue. Actually, it seems to be derived from flutter and the `video_player` package: https://github.com/flutter/flutter/issues/122276. Is pinning `video_player` to version `2.3.4` an option? At least until https://github.com/flutter/flutter/issues/122276 is resolved.
Author
Owner

@uhthomas commented on GitHub (Jul 9, 2023):

Possibly resolved by #2908? Might need some adjustment to the transcoder too.

@uhthomas commented on GitHub (Jul 9, 2023): Possibly resolved by #2908? Might need some adjustment to the transcoder too.
Author
Owner

@waclaw66 commented on GitHub (Jul 26, 2023):

Noticed that problem too, seems like player problem. Immich Web and other web/mobile players play such videos correctly.

@waclaw66 commented on GitHub (Jul 26, 2023): Noticed that problem too, seems like player problem. Immich Web and other web/mobile players play such videos correctly.
Author
Owner

@nguypaul commented on GitHub (Aug 1, 2023):

I also have this problem on the Android mobile app. Rotation 0 and 90 play correctly but 180 is upside down. When viewing on a web browser it plays correctly.

@nguypaul commented on GitHub (Aug 1, 2023): I also have this problem on the Android mobile app. Rotation 0 and 90 play correctly but 180 is upside down. When viewing on a web browser it plays correctly.
Author
Owner

@kkmaslowski commented on GitHub (Feb 4, 2024):

Issue still exists on latest version.
@uhthomas yes, it's specific to android app. Videos are rotated upside down only on mobile app, look normal on web page. I'm left handed and all my videos recorded using phone are upside down in Immich android app.

@kkmaslowski commented on GitHub (Feb 4, 2024): Issue still exists on latest version. @uhthomas yes, it's specific to android app. Videos are rotated upside down only on mobile app, look normal on web page. I'm left handed and all my videos recorded using phone are upside down in Immich android app.
Author
Owner

@sbkg0002 commented on GitHub (Mar 22, 2024):

Since it seems dead at the Flutter's end; can it be fixed at the Immich side of things?

@sbkg0002 commented on GitHub (Mar 22, 2024): Since it seems dead at the Flutter's end; can it be fixed at the Immich side of things?
Author
Owner

@dgtal1 commented on GitHub (May 13, 2024):

Same here - it's wrong only in the Android mobile app; iOS is fine, so is the web version.

@dgtal1 commented on GitHub (May 13, 2024): Same here - it's wrong only in the **Android** mobile app; iOS is fine, so is the web version.
Author
Owner

@Tywele commented on GitHub (May 18, 2024):

I experience the same bug on a Pixel 7. The web version displays the video in the correct rotation.

@Tywele commented on GitHub (May 18, 2024): I experience the same bug on a Pixel 7. The web version displays the video in the correct rotation.
Author
Owner

@m-GDEV commented on GitHub (Jun 23, 2024):

I'm also having this issue on a Samsung S22+ with the android immich client app

@m-GDEV commented on GitHub (Jun 23, 2024): I'm also having this issue on a Samsung S22+ with the android immich client app
Author
Owner

@ec0li82 commented on GitHub (Jun 24, 2024):

Same here, S20FE.

@ec0li82 commented on GitHub (Jun 24, 2024): Same here, S20FE.
Author
Owner

@WizenThorne commented on GitHub (Jul 29, 2024):

I'm having this issue as well on the Fold 4.

@WizenThorne commented on GitHub (Jul 29, 2024): I'm having this issue as well on the Fold 4.
Author
Owner

@illmouse commented on GitHub (Aug 3, 2024):

Can confirm this on 1.111.0 with MiMix 2s with lineage 21 (android 14) onboard.

@illmouse commented on GitHub (Aug 3, 2024): Can confirm this on 1.111.0 with MiMix 2s with lineage 21 (android 14) onboard.
Author
Owner

@AtmosphericIgnition commented on GitHub (Aug 31, 2024):

Same here on a Pixel 8 Pro with GrapheneOS, running Immich 1.113.0

@AtmosphericIgnition commented on GitHub (Aug 31, 2024): Same here on a Pixel 8 Pro with GrapheneOS, running Immich 1.113.0
Author
Owner

@jrasm91 commented on GitHub (Sep 4, 2024):

Can someone upload a zip of a file with this issue?

@jrasm91 commented on GitHub (Sep 4, 2024): Can someone upload a zip of a file with this issue?
Author
Owner

@jrasm91 commented on GitHub (Sep 4, 2024):

Ah nevermind, I see this is reproducible with exiftool commands. Will try to reproduce.

@jrasm91 commented on GitHub (Sep 4, 2024): Ah nevermind, I see this is reproducible with exiftool commands. Will try to reproduce.
Author
Owner

@andresbono commented on GitHub (Nov 14, 2024):

I tried Immich on Android again after a while and it looks like this issue is gone 🎉 I'm using 1.120.2 build.167.

Can someone else confirm the issue is fixed with the latest version of the Android app?

And just curious, any clue about what was the fix?

@andresbono commented on GitHub (Nov 14, 2024): I tried Immich on Android again after a while and it looks like this issue is gone 🎉 I'm using `1.120.2 build.167`. Can someone else confirm the issue is fixed with the latest version of the Android app? And just curious, any clue about what was the fix?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#783