[BUG] Some videos from Google Pixel 6 Pro are not uploading, the others upload but don't play in web UI #398

Closed
opened 2026-02-04 20:16:17 +03:00 by OVERLORD · 9 comments
Owner

Originally created by @bstrochkov on GitHub (Nov 2, 2022).

Describe the bug
Some of the videos are not uploading. The app keeps retrying, but never succeeds.
Some other videos taken on the same phone are uploading and playing in the app, but not in the web ui.

Task List

Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.

  • I have read thoroughly the README setup and installation instructions.
  • I have included my docker-compose file.
  • I have included my redacted .env file.
  • I have included information on my machine, and environment.

To Reproduce
Steps to reproduce the behavior:

  1. Take multiple videos on google pixel 6 pro
  2. Enable background upload
  3. Some of them will not upload

Expected behavior
All videos upload and play in web ui

Screenshots
Video of the upload process (it seems like it goes up to a certain percent and then skips)
https://drive.google.com/file/d/1F_r9uCR206hsKg7JvMZxMJT05YVkitQ_/view?usp=sharing

System

  • Phone OS: Android 13
  • Server Version: v1.33.1
  • Mobile App Version: 1.33.0 build 52

Additional context

Example video that is not uploading: https://drive.google.com/file/d/1FR6xtZZSBQw3yr02jCCMTEOoTNOT0wKq/view?usp=share_link

Example video that is uploading but not playing: https://drive.google.com/file/d/1WFXDlcy2r7YYVDv_aEIaQ5fjS5Kdg22-/view?usp=share_link

Installed with tipi

docker-compose


services:
  immich:
    container_name: immich
    image: altran1502/immich-proxy:release
    ports:
      - ${APP_PORT}:8080
    depends_on:
      - immich-web
      - immich-server
    restart: unless-stopped
    networks:
      - tipi_main_network
    labels:
      traefik.enable: ${APP_EXPOSED}
      traefik.http.routers.immich.rule: Host(`${APP_DOMAIN}`)
      traefik.http.routers.immich.entrypoints: websecure
      traefik.http.routers.immich.service: immich
      traefik.http.routers.immich.tls.certresolver: myresolver
      traefik.http.services.immich.loadbalancer.server.port: 8080

  immich-server:
    container_name: immich-server
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-server.sh"]
    volumes:
      - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
    environment:
      - NODE_ENV=production
      - DB_HOSTNAME=immich-db
      - DB_USERNAME=tipi
      - DB_PASSWORD=${DB_PASSWORD}
      - ENABLE_MAPBOX=false
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich-redis
      - JWT_SECRET=${JWT_SECRET}
    depends_on:
      - immich-redis
      - immich-db
    restart: unless-stopped
    networks:
      - tipi_main_network

  immich-microservices:
    container_name: immich-microservices
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-microservices.sh"]
    volumes:
      - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
    environment:
      - NODE_ENV=production
      - DB_HOSTNAME=immich-db
      - DB_USERNAME=tipi
      - DB_PASSWORD=${DB_PASSWORD}
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich-redis
      - JWT_SECRET=${JWT_SECRET}
      - ENABLE_MAPBOX=false
    depends_on:
      - immich-redis
      - immich-db
    restart: unless-stopped
    networks:
      - tipi_main_network

  immich-machine-learning:
    container_name: immich-machine-learning
    image: altran1502/immich-machine-learning:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    volumes:
      - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
    environment:
      - NODE_ENV=production
      - DB_HOSTNAME=immich-db
      - DB_USERNAME=tipi
      - DB_PASSWORD=${DB_PASSWORD}
      - DB_NAME=immich
      - DB_DATABASE_NAME=immich
    depends_on:
      - immich-db
    restart: unless-stopped
    networks:
      - tipi_main_network

  immich-web:
    container_name: immich-web
    image: altran1502/immich-web:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    restart: unless-stopped
    networks:
      - tipi_main_network

  immich-redis:
    container_name: immich-redis
    image: redis:6.2
    restart: unless-stopped
    networks:
      - tipi_main_network

  immich-db:
    container_name: immich-db
    image: postgres:14
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: tipi
      POSTGRES_DB: immich
      PG_DATA: /var/lib/postgresql/data
    volumes:
      - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
    restart: unless-stopped
    networks:
      - tipi_main_network```
Originally created by @bstrochkov on GitHub (Nov 2, 2022). **Describe the bug** Some of the videos are not uploading. The app keeps retrying, but never succeeds. Some other videos taken on the same phone are uploading and playing in the app, but not in the web ui. **Task List** *Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.* - [x] I have read thoroughly the README setup and installation instructions. - [x] I have included my `docker-compose` file. - [ ] I have included my redacted `.env` file. - [x] I have included information on my machine, and environment. **To Reproduce** Steps to reproduce the behavior: 1. Take multiple videos on google pixel 6 pro 2. Enable background upload 3. Some of them will not upload **Expected behavior** All videos upload and play in web ui **Screenshots** Video of the upload process (it seems like it goes up to a certain percent and then skips) https://drive.google.com/file/d/1F_r9uCR206hsKg7JvMZxMJT05YVkitQ_/view?usp=sharing **System** - Phone OS: `Android 13` - Server Version: `v1.33.1` - Mobile App Version: `1.33.0 build 52` **Additional context** Example video that is not uploading: https://drive.google.com/file/d/1FR6xtZZSBQw3yr02jCCMTEOoTNOT0wKq/view?usp=share_link Example video that is uploading but not playing: https://drive.google.com/file/d/1WFXDlcy2r7YYVDv_aEIaQ5fjS5Kdg22-/view?usp=share_link Installed with [tipi](https://github.com/meienberger/runtipi) docker-compose ```version: "3.7" services: immich: container_name: immich image: altran1502/immich-proxy:release ports: - ${APP_PORT}:8080 depends_on: - immich-web - immich-server restart: unless-stopped networks: - tipi_main_network labels: traefik.enable: ${APP_EXPOSED} traefik.http.routers.immich.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.immich.entrypoints: websecure traefik.http.routers.immich.service: immich traefik.http.routers.immich.tls.certresolver: myresolver traefik.http.services.immich.loadbalancer.server.port: 8080 immich-server: container_name: immich-server image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload environment: - NODE_ENV=production - DB_HOSTNAME=immich-db - DB_USERNAME=tipi - DB_PASSWORD=${DB_PASSWORD} - ENABLE_MAPBOX=false - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich-redis - JWT_SECRET=${JWT_SECRET} depends_on: - immich-redis - immich-db restart: unless-stopped networks: - tipi_main_network immich-microservices: container_name: immich-microservices image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload environment: - NODE_ENV=production - DB_HOSTNAME=immich-db - DB_USERNAME=tipi - DB_PASSWORD=${DB_PASSWORD} - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich-redis - JWT_SECRET=${JWT_SECRET} - ENABLE_MAPBOX=false depends_on: - immich-redis - immich-db restart: unless-stopped networks: - tipi_main_network immich-machine-learning: container_name: immich-machine-learning image: altran1502/immich-machine-learning:release entrypoint: ["/bin/sh", "./entrypoint.sh"] volumes: - ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload environment: - NODE_ENV=production - DB_HOSTNAME=immich-db - DB_USERNAME=tipi - DB_PASSWORD=${DB_PASSWORD} - DB_NAME=immich - DB_DATABASE_NAME=immich depends_on: - immich-db restart: unless-stopped networks: - tipi_main_network immich-web: container_name: immich-web image: altran1502/immich-web:release entrypoint: ["/bin/sh", "./entrypoint.sh"] restart: unless-stopped networks: - tipi_main_network immich-redis: container_name: immich-redis image: redis:6.2 restart: unless-stopped networks: - tipi_main_network immich-db: container_name: immich-db image: postgres:14 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: tipi POSTGRES_DB: immich PG_DATA: /var/lib/postgresql/data volumes: - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data restart: unless-stopped networks: - tipi_main_network```
Author
Owner

@alextran1502 commented on GitHub (Nov 2, 2022):

This is a known issue. Right now only MOV get decoded to h264 so it can be played on the web. If your file is in mp4 and is H265 it won't be detected yet to get decoded.

For the case that video don't get uploaded, do you have a reverse proxy that limit the body size?

@alextran1502 commented on GitHub (Nov 2, 2022): This is a known issue. Right now only MOV get decoded to h264 so it can be played on the web. If your file is in mp4 and is H265 it won't be detected yet to get decoded. For the case that video don't get uploaded, do you have a reverse proxy that limit the body size?
Author
Owner

@bstrochkov commented on GitHub (Nov 2, 2022):

Thanks @alextran1502, I will investigate about the proxy and come back

@bstrochkov commented on GitHub (Nov 2, 2022): Thanks @alextran1502, I will investigate about the proxy and come back
Author
Owner

@Bodyes26 commented on GitHub (Nov 3, 2022):

same problem with a Pixel 6, some videos just don't get uploaded. I don't have a reverse proxy but I'm using cloudflare tunnel that has a body size limit of 500 MB (I think, not sure)
Had the same problem with Nextcloud client app and with that it's possible to set a max chunk size, so if the file is bigger than 500MB it divides the upload in smaller chunks. should work also here as a workaround.

@Bodyes26 commented on GitHub (Nov 3, 2022): same problem with a Pixel 6, some videos just don't get uploaded. I don't have a reverse proxy but I'm using cloudflare tunnel that has a body size limit of 500 MB (I think, not sure) Had the same problem with Nextcloud client app and with that it's possible to set a max chunk size, so if the file is bigger than 500MB it divides the upload in smaller chunks. should work also here as a workaround.
Author
Owner

@jpmiller25 commented on GitHub (Nov 4, 2022):

I've noticed the same thing- I have 12 videos trying to reupload every time I start a backup, but never completes. No photos are hanging up. I'm also connecting through a cloud flare tunnel. Do you know if we can adjust something in cloudflare to allow the uploads?

@jpmiller25 commented on GitHub (Nov 4, 2022): I've noticed the same thing- I have 12 videos trying to reupload every time I start a backup, but never completes. No photos are hanging up. I'm also connecting through a cloud flare tunnel. Do you know if we can adjust something in cloudflare to allow the uploads?
Author
Owner

@jpmiller25 commented on GitHub (Nov 4, 2022):

Ok I just confirmed on my install by connecting client to the local IP address and they properly uploaded. Sometimes I wish there was a feature like in the home assistant app, where we can enter a local connection and remote connection, and the local would have priority if available. Then, a setting for only upload on local might be preferred by many users.

@jpmiller25 commented on GitHub (Nov 4, 2022): Ok I just confirmed on my install by connecting client to the local IP address and they properly uploaded. Sometimes I wish there was a feature like in the home assistant app, where we can enter a local connection and remote connection, and the local would have priority if available. Then, a setting for only upload on local might be preferred by many users.
Author
Owner

@alextran1502 commented on GitHub (Nov 4, 2022):

@jpmiller25 The method you are describing is called Split DNS. The domain is configured externally as usual, but on your local network you run a DNS server that resolves it to the local IP.

@alextran1502 commented on GitHub (Nov 4, 2022): @jpmiller25 The method you are describing is called `Split DNS`. The domain is configured externally as usual, but on your local network you run a DNS server that resolves it to the local IP.
Author
Owner

@bstrochkov commented on GitHub (Nov 14, 2022):

Thanks everyone for the support, it turns out to be the limitation of cloudflare proxy I use. I didn't find any way to change it on their side, so I guess I should use some other way to access my server.

@bstrochkov commented on GitHub (Nov 14, 2022): Thanks everyone for the support, it turns out to be the limitation of cloudflare proxy I use. I didn't find any way to change it on their side, so I guess I should use some other way to access my server.
Author
Owner

@jpmiller25 commented on GitHub (Nov 14, 2022):

Hi bstrochkov, I'm also using cloudflare for my external facing installation and I have the same issue with longer videos not uploading. I followed Alex's suggestion of using a custom dns locally to reroute my url to the internal ip of the server. (I did have to spin up a caddy reverse proxy for https locally, and reset the ports to 80 and 443 on the local installation) But in the end it solved the problem locally so the last few videos do upload when I'm at home. I have had some trouble running a local dns server as I'm a bit new to this, I'm running pihole on 2 different machines for some redundancy and I set config same on both. Hope that helps, of course the other way would just be to access through a vpn while remote.

@jpmiller25 commented on GitHub (Nov 14, 2022): Hi bstrochkov, I'm also using cloudflare for my external facing installation and I have the same issue with longer videos not uploading. I followed Alex's suggestion of using a custom dns locally to reroute my url to the internal ip of the server. (I did have to spin up a caddy reverse proxy for https locally, and reset the ports to 80 and 443 on the local installation) But in the end it solved the problem locally so the last few videos do upload when I'm at home. I have had some trouble running a local dns server as I'm a bit new to this, I'm running pihole on 2 different machines for some redundancy and I set config same on both. Hope that helps, of course the other way would just be to access through a vpn while remote.
Author
Owner

@bstrochkov commented on GitHub (Nov 14, 2022):

Hi @jpmiller25 , thanks for the advice! I will definitely try the local dns

@bstrochkov commented on GitHub (Nov 14, 2022): Hi @jpmiller25 , thanks for the advice! I will definitely try the local dns
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#398