#[Question] How Does Immich Select Video Thumbnails? (Deduplication Issue with Google Photos Imports)

1 messages · Page 1 of 1 (latest)

smoky dirge
#

Hey all,
I've been migrating my library from Google Photos using Google Takeout and uploading everything to existing Immich via the CLI.

In going through my Immich library, I'm trying to clean up duplicated videos—particularly where both the original and the Google Photos–exported (compressed) version exist. Immich's duplicate detection is doing a great job with photos, but with videos, it’s much less reliable.

Here's my observation:
Two videos with identical content and length (original and Google Photos–exported), but different file sizes/codecs, don’t get the same thumbnail.

Comparing the thumbnails, it appears that the larger file's thumbnail is taken a bit earlier (by a few hundred milliseconds) than with the compressed Google Photos file. The result: thumbnails look different, even though the videos themselves are visually identical when played.

Because of these thumbnail differences, Immich's deduplication isn't flagging them as duplicates.

My questions:
How, exactly, does Immich decide which frame to use for video thumbnails? Is it always at the exact first frame, first keyframe, or does it attempt to find a "representative" (non-black) frame further in?

Is this frame selection affected by the file’s encoding/compression/keyframe map, or by timing offsets introduced by transcoding when exporting from Google Photos?

Has anyone figured out a reliable way to force Immich to generate matching thumbnails for such duplicate videos—or is there a way to base deduplication on something more robust than the thumbnail?

Any tips (regenerating thumbnails, settings tweaks, scripts, etc.) for deduplicating videos imported from Takeout, where the original and exported files are visually identical?

Thanks for any advice or technical detail you can share!

pale spindleBOT
#

:wave: Hey @smoky dirge,

Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich immich.

References

#

Checklist

I have...

  1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time).
  2. :ballot_box_with_check: read applicable release notes.
  3. :ballot_box_with_check: reviewed the FAQs for known issues.
  4. :ballot_box_with_check: reviewed Github for known issues.
  5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy).
  6. :ballot_box_with_check: uploaded the relevant information (see below).
  7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable

(an item can be marked as "complete" by reacting with the appropriate number)

Information

In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:

  • Your docker-compose.yml and .env files.
  • Logs from all the containers and their status (see above).
  • All the troubleshooting steps you've tried so far.
  • Any recent changes you've made to Immich or your system.
  • Details about your system (both software/OS and hardware).
  • Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h).
  • The version of the Immich server, mobile app, and other relevant pieces.
  • Any other information that you think might be relevant.

Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)

If this ticket can be closed you can use the /close command, and re-open it later if needed.

pale spindleBOT
spiral gulch
#

It's intended to be the first useful (non black) frame

#

I don't think there's really any way to tune this