Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with video playback on Android with shared videos from iOS #12730

Open
1 of 3 tasks
eugensuttor opened this issue Sep 16, 2024 · 4 comments
Open
1 of 3 tasks

Problem with video playback on Android with shared videos from iOS #12730

eugensuttor opened this issue Sep 16, 2024 · 4 comments

Comments

@eugensuttor
Copy link

The bug

Videos that have been taken on an iOS device and added to a shared album are not properly played back on Android device.

See screen recording of the issue:
https://github.com/user-attachments/assets/14e4451d-5966-4248-90f6-c9b14d66f32c

The OS that Immich Server is running on

Debian 12

Version of Immich Server

v1.115.0

Version of Immich Mobile App

v1.115.0 built.159

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
#    extends:
#      file: hwaccel.transcoding.yml
#      service: nvenc # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${EXTERNAL_PATH}:/usr/src/app/external
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
#    extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
#      file: hwaccel.ml.yml
#      service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command: ["postgres", "-c", "shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
    restart: always

volumes:
  model-cache:

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variabl>

# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/data/immich
EXTERNAL_PATH=/mnt/data
#THUMBS_LOCATION=/mnt/docker/immich/thumbs
#VIDEO_LOCATION=/mnt/docker/immich/encoded-video

# Path to NAS -> Data for external libraries
#EXTERNAL_PATH=/mnt

# The location where your database files are stored
DB_DATA_LOCATION=./postgres

# The Immich version to use. You can pin this to a specific version like „v1.71.0“
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
DB_PASSWORD=xxx

# The values below this line do not need to be changed
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
TZ=Europe/Berlin

IMMICH_TRUSTED_PROXIES=xxx.xxx.xxx.xxx

Reproduction steps

  1. Record video on iPhone
  2. Upload recorded video to immich server
  3. Add video to a shared album
  4. On an Android device, select video to start playback

Relevant log output

I haven't seen any errors in the logs on my server and Android app.

Additional information

Used mobile phones:

  • iOS: iPhone 13 mini
  • Android: Samsung Galaxy S24

Playback via web-interface works without any issues.

@bo0tzz
Copy link
Member

bo0tzz commented Sep 16, 2024

Have you changed any of the transcoding settings on the server?

@eugensuttor
Copy link
Author

Have you changed any of the transcoding settings on the server?

No, I haven't. Except for storage template and mail all settings haven't been changed.

@bbklopfer
Copy link

bbklopfer commented Sep 16, 2024

Similar issue for me, however, I get a Flutter Error. Additionally, the screen turns grey.

FlutterError - Catch all

Instance of 'FlutterErrorDetails'
Exception: PlatformException(VideoError, Video player had error j1.l: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/dolby-vision, hev1.08.04, -1, null, [1280, 720, 29.998737, ColorInfo(BT709, Full range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES, null, null)
Library: widgets library
Context: Instance of 'ErrorDescription'

...

I tried rolling back to v1.113.1, but same behavior --- old videos play fine, new videos don't.

@DFKnight
Copy link

I'm having this exact same issue. I have android and my partner has iPhone. When viewing her videos using password sharing on the android app, I see the exact same black box but works fine through the web app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants