Video in cloud does not render on IOS #2998

Closed
opened 2026-02-05 07:21:57 +03:00 by OVERLORD · 7 comments
Owner

Originally created by @athiosh on GitHub (Apr 21, 2024).

The bug

I have videos that are in my server but not my phone, on the web I can watch the video but in IOS app it will just be grayed out when play.

The OS that Immich Server is running on

Debian

Version of Immich Server

1.102.3

Version of Immich Mobile App

1.102.0 build 148

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: ['start.sh', 'immich']
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /etc/ssl/certs:/etc/ssl/certs
    env_file:
      - stack.env
    environment:
     - NODE_EXTRA_CA_CERTS=/etc/ssl/certs/local_cert_bundle.crt
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    command: ['start.sh', 'microservices']
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - stack.env
    depends_on:
      - redis
      - database
    restart: always

  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: cpu # 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:
      - stack.env
    restart: always

  redis:
    container_name: immich_redis
    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5
    restart: always

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
       - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: always

  backup:
      container_name: immich_db_dumper
      image: prodrigestivill/postgres-backup-local:14
      env_file:
        - stack.env
      environment:
        POSTGRES_HOST: database
        POSTGRES_CLUSTER: 'TRUE'
        POSTGRES_DB: ${DB_DATABASE_NAME}
        POSTGRES_USER: ${DB_USERNAME}
        POSTGRES_PASSWORD: ${DB_PASSWORD}
        SCHEDULE: "@daily"
        BACKUP_KEEP_DAYS: 7
        POSTGRES_EXTRA_OPTS: '--clean --if-exists'
        BACKUP_DIR: /db_dumps
      volumes:
        - /srv/mergerfs/fspool/backup/immich:/db_dumps
      depends_on:
        - database
volumes:
  model-cache:

Your .env content

DB_HOSTNAME=immich_postgres
DB_USERNAME=immich_admin
DB_PASSWORD=<<REDACTED>>
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
UPLOAD_LOCATION=/srv/mergerfs/fspool/Media/Photos/
IMMICH_VERSION=release
TYPESENSE_API_KEY=<<REDACTED>>
DB_DATA_LOCATION=/appdata/immich/db

Reproduction steps

1.Open any videos in IOS app that is only in the server and not on the phone

Relevant log output

Exception: PlatformException(VideoError, Failed to load video: The certificate for this server is invalid., null, null)
Library: widgets library
Context: building Widget-[<{
  "id": 6771,
  "remoteId": "b9ad43f1-c8a7-4ae2-be49-4be1864283d9",
  "localId": "N/A",
  "checksum": "hp3O6PnVvVlueVH6I8P73OOEK34=",
  "ownerId": 3507242549873192413,
  "livePhotoVideoId": "N/A",
  "stackCount": "null",
  "stackParentId": "N/A",
  "fileCreatedAt": "2023-11-05 14:56:13.000",
  "fileModifiedAt": "2024-03-10 11:17:45.000",
  "updatedAt": "2024-04-16 18:03:35.642",
  "durationInSeconds": 1,
  "type": "AssetType.video",
  "fileName": "IMG_8826.MOV",
  "isFavorite": false,
  "isRemote": true,
  "storage": "AssetState.remote",
  "width": 1920,
  "height": 1440,
  "isArchived": false,
  "isTrashed": false,
  "isReadOnly": false,
  "isOffline": false,
}>]

#1      AsyncError.value (package:riverpod/src/common.dart:494:0)
#2      VideoViewerPage.build (package:immich_mobile/modules/asset_viewer/views/video_viewer_page.dart:37:0)
#3      _ConsumerState.build (package:flutter_riverpod/src/consumer.dart:476:0)
#4      StatefulElement.build (package:flutter/src/widgets/framework.dart:5592:0)
#5      ConsumerStatefulElement.build (package:flutter_riverpod/src/consumer.dart:539:0)
#6      HookElement.build (package:flutter_hooks/src/framework.dart:438:0)
#7      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5480:0)
#8      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0)
#9      Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#10     StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0)
#11     HookElement.update (package:flutter_hooks/src/framework.dart:400:0)
#12     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#13     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#14     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#15     StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0)
#16     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#17     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#18     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#19     ProxyElement.update (package:flutter/src/widgets/framework.dart:5809:0)
#20     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#22     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0)
#23     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#24     StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#26     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#27     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#28     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#29     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#31     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0)
#32     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#33     StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0)
#34     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#35     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#36     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#37     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#38     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#39     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#40     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#41     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#42     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#43     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#44     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#45     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#46     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#47     StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0)
#48     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#49     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#50     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#51     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0)
#52     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#53     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#54     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0)
#55     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#56     StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0)
#57     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#58     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#59     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#60     StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0)
#61     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#62     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#63     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0)
#64     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#65     StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0)
#66     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#67     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#68     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0)
#69     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#70     StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0)
#71     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#72     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0)
#73     Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0)
#74     StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0)
#75     Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0)
#76     _LayoutBuilderElement._layout.layoutCallback (package:flutter/src/widgets/layout_builder.dart:155:0)
#77     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2844:0)
#78     _LayoutBuilderElement._layout (package:flutter/src/widgets/layout_builder.dart:173:0)
#79     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2686:0)
#80     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1097:0)
#81     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2686:0)
#82     RenderConstrainedLayoutBuilder.rebuildIfNecessary (package:flutter/src/widgets/layout_builder.dart:248:0)
#83     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:331:0)
#84     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2414:0)
#85     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1051:0)
#86     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1064:0)
#87     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:582:0)
#88     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:991:0)
#89     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:448:0)
#90     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1386:0)
#91     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1311:0)
#92     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1169:0)
#93     _invoke (dart:ui/hooks.dart:312:0)
#94     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:399:0)
#95     _drawFrame (dart:ui/hooks.dart:283:0)

Additional information

No response

Originally created by @athiosh on GitHub (Apr 21, 2024). ### The bug I have videos that are in my server but not my phone, on the web I can watch the video but in IOS app it will just be grayed out when play. ### The OS that Immich Server is running on Debian ### Version of Immich Server 1.102.3 ### Version of Immich Mobile App 1.102.0 build 148 ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML version: "3" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: ['start.sh', 'immich'] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - /etc/ssl/certs:/etc/ssl/certs env_file: - stack.env environment: - NODE_EXTRA_CA_CERTS=/etc/ssl/certs/local_cert_bundle.crt ports: - 2283:3001 depends_on: - redis - database restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding command: ['start.sh', 'microservices'] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - stack.env depends_on: - redis - database restart: always 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: cpu # 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: - stack.env restart: always redis: container_name: immich_redis image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5 restart: always database: container_name: immich_postgres image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data restart: always backup: container_name: immich_db_dumper image: prodrigestivill/postgres-backup-local:14 env_file: - stack.env environment: POSTGRES_HOST: database POSTGRES_CLUSTER: 'TRUE' POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_USER: ${DB_USERNAME} POSTGRES_PASSWORD: ${DB_PASSWORD} SCHEDULE: "@daily" BACKUP_KEEP_DAYS: 7 POSTGRES_EXTRA_OPTS: '--clean --if-exists' BACKUP_DIR: /db_dumps volumes: - /srv/mergerfs/fspool/backup/immich:/db_dumps depends_on: - database volumes: model-cache: ``` ### Your .env content ```Shell DB_HOSTNAME=immich_postgres DB_USERNAME=immich_admin DB_PASSWORD=<<REDACTED>> DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis UPLOAD_LOCATION=/srv/mergerfs/fspool/Media/Photos/ IMMICH_VERSION=release TYPESENSE_API_KEY=<<REDACTED>> DB_DATA_LOCATION=/appdata/immich/db ``` ### Reproduction steps ```bash 1.Open any videos in IOS app that is only in the server and not on the phone ``` ### Relevant log output ```shell Exception: PlatformException(VideoError, Failed to load video: The certificate for this server is invalid., null, null) Library: widgets library Context: building Widget-[<{ "id": 6771, "remoteId": "b9ad43f1-c8a7-4ae2-be49-4be1864283d9", "localId": "N/A", "checksum": "hp3O6PnVvVlueVH6I8P73OOEK34=", "ownerId": 3507242549873192413, "livePhotoVideoId": "N/A", "stackCount": "null", "stackParentId": "N/A", "fileCreatedAt": "2023-11-05 14:56:13.000", "fileModifiedAt": "2024-03-10 11:17:45.000", "updatedAt": "2024-04-16 18:03:35.642", "durationInSeconds": 1, "type": "AssetType.video", "fileName": "IMG_8826.MOV", "isFavorite": false, "isRemote": true, "storage": "AssetState.remote", "width": 1920, "height": 1440, "isArchived": false, "isTrashed": false, "isReadOnly": false, "isOffline": false, }>] #1 AsyncError.value (package:riverpod/src/common.dart:494:0) #2 VideoViewerPage.build (package:immich_mobile/modules/asset_viewer/views/video_viewer_page.dart:37:0) #3 _ConsumerState.build (package:flutter_riverpod/src/consumer.dart:476:0) #4 StatefulElement.build (package:flutter/src/widgets/framework.dart:5592:0) #5 ConsumerStatefulElement.build (package:flutter_riverpod/src/consumer.dart:539:0) #6 HookElement.build (package:flutter_hooks/src/framework.dart:438:0) #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5480:0) #8 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0) #9 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #10 StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0) #11 HookElement.update (package:flutter_hooks/src/framework.dart:400:0) #12 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #13 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #14 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #15 StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0) #16 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #18 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #19 ProxyElement.update (package:flutter/src/widgets/framework.dart:5809:0) #20 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #22 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0) #23 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #24 StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0) #25 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #26 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #27 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #28 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #29 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #31 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0) #32 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #33 StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0) #34 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #35 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #36 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #37 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #38 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #39 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #40 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #41 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #42 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #43 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #44 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #45 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #46 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #47 StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0) #48 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #49 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #50 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #51 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6765:0) #52 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #53 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #54 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0) #55 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #56 StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0) #57 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #58 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #59 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #60 StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0) #61 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #62 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #63 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0) #64 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #65 StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0) #66 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #67 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #68 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5643:0) #69 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #70 StatefulElement.update (package:flutter/src/widgets/framework.dart:5666:0) #71 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #72 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5505:0) #73 Element.rebuild (package:flutter/src/widgets/framework.dart:5196:0) #74 StatelessElement.update (package:flutter/src/widgets/framework.dart:5556:0) #75 Element.updateChild (package:flutter/src/widgets/framework.dart:3824:0) #76 _LayoutBuilderElement._layout.layoutCallback (package:flutter/src/widgets/layout_builder.dart:155:0) #77 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2844:0) #78 _LayoutBuilderElement._layout (package:flutter/src/widgets/layout_builder.dart:173:0) #79 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2686:0) #80 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1097:0) #81 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2686:0) #82 RenderConstrainedLayoutBuilder.rebuildIfNecessary (package:flutter/src/widgets/layout_builder.dart:248:0) #83 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:331:0) #84 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2414:0) #85 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1051:0) #86 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1064:0) #87 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:582:0) #88 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:991:0) #89 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:448:0) #90 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1386:0) #91 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1311:0) #92 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1169:0) #93 _invoke (dart:ui/hooks.dart:312:0) #94 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:399:0) #95 _drawFrame (dart:ui/hooks.dart:283:0) ``` ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Apr 21, 2024):

Do you change the default transcoding option?

@alextran1502 commented on GitHub (Apr 21, 2024): Do you change the default transcoding option?
Author
Owner

@athiosh commented on GitHub (Apr 21, 2024):

I didn't touch the transcoding config on the server but here is the config, let me know if you need other config
{ "ffmpeg": { "crf": 23, "threads": 0, "preset": "ultrafast", "targetVideoCodec": "h264", "acceptedVideoCodecs": [ "h264" ], "targetAudioCodec": "aac", "acceptedAudioCodecs": [ "aac", "mp3", "libopus" ], "targetResolution": "720", "maxBitrate": "0", "bframes": -1, "refs": 0, "gopSize": 0, "npl": 0, "temporalAQ": false, "cqMode": "auto", "twoPass": false, "preferredHwDevice": "auto", "transcode": "required", "tonemap": "hable", "accel": "disabled" }, "job": { "backgroundTask": { "concurrency": 5 }, "smartSearch": { "concurrency": 2 }, "metadataExtraction": { "concurrency": 5 }, "faceDetection": { "concurrency": 2 }, "search": { "concurrency": 5 }, "sidecar": { "concurrency": 5 }, "library": { "concurrency": 5 }, "migration": { "concurrency": 5 }, "thumbnailGeneration": { "concurrency": 5 }, "videoConversion": { "concurrency": 1 } }, "logging": { "enabled": true, "level": "log" }, "machineLearning": { "enabled": true, "url": "http://immich-machine-learning:3003", "clip": { "enabled": true, "modelName": "ViT-B-32__openai" }, "facialRecognition": { "enabled": true, "modelName": "buffalo_l", "minScore": 0.7, "maxDistance": 0.5, "minFaces": 3 } }, "map": { "enabled": true, "lightStyle": "", "darkStyle": "" }, "reverseGeocoding": { "enabled": true }, "oauth": { "autoLaunch": true, "autoRegister": true, "buttonText": "Login with Authentik", "clientId": <<REDACTED>>, "clientSecret": <<REDACTED>>, "defaultStorageQuota": 0, "enabled": true, "issuerUrl": "https://<<REDACTED>>/application/o/immich/", "mobileOverrideEnabled": false, "mobileRedirectUri": "", "scope": "openid email profile", "signingAlgorithm": "RS256", "storageLabelClaim": "preferred_username", "storageQuotaClaim": "immich_quota" }, "passwordLogin": { "enabled": true }, "storageTemplate": { "enabled": true, "hashVerificationEnabled": true, "template": "{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}" }, "image": { "thumbnailFormat": "webp", "thumbnailSize": 250, "previewFormat": "jpeg", "previewSize": 1440, "quality": 80, "colorspace": "p3", "extractEmbedded": false }, "newVersionCheck": { "enabled": true }, "trash": { "enabled": true, "days": 30 }, "theme": { "customCss": "" }, "library": { "scan": { "enabled": true, "cronExpression": "0 0 * * *" }, "watch": { "enabled": false } }, "server": { "externalDomain": "", "loginPageMessage": "" }, "user": { "deleteDelay": 7 } }

@athiosh commented on GitHub (Apr 21, 2024): I didn't touch the transcoding config on the server but here is the config, let me know if you need other config ` { "ffmpeg": { "crf": 23, "threads": 0, "preset": "ultrafast", "targetVideoCodec": "h264", "acceptedVideoCodecs": [ "h264" ], "targetAudioCodec": "aac", "acceptedAudioCodecs": [ "aac", "mp3", "libopus" ], "targetResolution": "720", "maxBitrate": "0", "bframes": -1, "refs": 0, "gopSize": 0, "npl": 0, "temporalAQ": false, "cqMode": "auto", "twoPass": false, "preferredHwDevice": "auto", "transcode": "required", "tonemap": "hable", "accel": "disabled" }, "job": { "backgroundTask": { "concurrency": 5 }, "smartSearch": { "concurrency": 2 }, "metadataExtraction": { "concurrency": 5 }, "faceDetection": { "concurrency": 2 }, "search": { "concurrency": 5 }, "sidecar": { "concurrency": 5 }, "library": { "concurrency": 5 }, "migration": { "concurrency": 5 }, "thumbnailGeneration": { "concurrency": 5 }, "videoConversion": { "concurrency": 1 } }, "logging": { "enabled": true, "level": "log" }, "machineLearning": { "enabled": true, "url": "http://immich-machine-learning:3003", "clip": { "enabled": true, "modelName": "ViT-B-32__openai" }, "facialRecognition": { "enabled": true, "modelName": "buffalo_l", "minScore": 0.7, "maxDistance": 0.5, "minFaces": 3 } }, "map": { "enabled": true, "lightStyle": "", "darkStyle": "" }, "reverseGeocoding": { "enabled": true }, "oauth": { "autoLaunch": true, "autoRegister": true, "buttonText": "Login with Authentik", "clientId": <<REDACTED>>, "clientSecret": <<REDACTED>>, "defaultStorageQuota": 0, "enabled": true, "issuerUrl": "https://<<REDACTED>>/application/o/immich/", "mobileOverrideEnabled": false, "mobileRedirectUri": "", "scope": "openid email profile", "signingAlgorithm": "RS256", "storageLabelClaim": "preferred_username", "storageQuotaClaim": "immich_quota" }, "passwordLogin": { "enabled": true }, "storageTemplate": { "enabled": true, "hashVerificationEnabled": true, "template": "{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}" }, "image": { "thumbnailFormat": "webp", "thumbnailSize": 250, "previewFormat": "jpeg", "previewSize": 1440, "quality": 80, "colorspace": "p3", "extractEmbedded": false }, "newVersionCheck": { "enabled": true }, "trash": { "enabled": true, "days": 30 }, "theme": { "customCss": "" }, "library": { "scan": { "enabled": true, "cronExpression": "0 0 * * *" }, "watch": { "enabled": false } }, "server": { "externalDomain": "", "loginPageMessage": "" }, "user": { "deleteDelay": 7 } } `
Author
Owner

@alextran1502 commented on GitHub (Apr 21, 2024):

Can you help share the trouble video if possible?

@alextran1502 commented on GitHub (Apr 21, 2024): Can you help share the trouble video if possible?
Author
Owner

@athiosh commented on GitHub (Apr 21, 2024):

it is every videos not just one and only those that is not on my phone. I don't really have one that i can share at the moment as they are all family videos.

@athiosh commented on GitHub (Apr 21, 2024): it is every videos not just one and only those that is not on my phone. I don't really have one that i can share at the moment as they are all family videos.
Author
Owner

@alextran1502 commented on GitHub (Apr 21, 2024):

Are you using a reverse proxy? Is there any chance you can try with a local IP?

@alextran1502 commented on GitHub (Apr 21, 2024): Are you using a reverse proxy? Is there any chance you can try with a local IP?
Author
Owner

@athiosh commented on GitHub (Apr 21, 2024):

it is working on local ip. I am using NPM, any suggestion on what i should put there to get it working. Adding the header from the document page doesnt seem to fix the issue. Looks like its the same issue as #4757

@athiosh commented on GitHub (Apr 21, 2024): it is working on local ip. I am using NPM, any suggestion on what i should put there to get it working. Adding the header from the document page doesnt seem to fix the issue. Looks like its the same issue as [#4757](https://github.com/immich-app/immich/discussions/4757)
Author
Owner

@alextran1502 commented on GitHub (Apr 23, 2024):

Are you using a self-signed cert or something from Letsencrypt, also are you using CloudFlare?

@alextran1502 commented on GitHub (Apr 23, 2024): Are you using a self-signed cert or something from Letsencrypt, also are you using CloudFlare?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#2998