What version of GPTH are you using?
6.1.3
What flag combination did you use?
--input "G:\takeout-2026-04-18" --output "G:\takeout-2026-04-18-out" --albums "shortcut" --hardlink --update-creation-time
Is Exiftool installed?
Yes
What is the current output/result?
I believe this problem may be related to the Google Takeout setting I used, i.e., 2GB ZIP files.
I downloaded 177 files from Google Takeout and the majority of them were ZIP files, but some of them were MP4 instead. I suppose Google did that because these MP4s are already larger than 2GB setting I used.
The file names on the screenshot above are exactly what Google gave me - they don't follow the ZIP name pattern, but they seem to consist of <original_file_name>-<takeout_part_number_just_like_in_case_of_zips>.
I suppose this is an edge case that is not supported by GPTH right now because these files were simply ignored - they are still in the input dir, next to the ZIPs and the .gpth-unzipped dir. Also, progress.json doesn't mention these files at all.
I do see e.g. .gpth-unzipped\Takeout\Google Photos\Photos from 2019\GH010015.MP4.supplemental-metadata.json so it should be possible to work with these large files normally, e.g., to update their timestamps, etc.
Since there were not too many of them, I would like to move them by hand instead of repeating the whole process (unzipping these 300+ GB took a few hours), but the problem I'm facing now is that they weren't updated with their respective JSON metadata (e.g., timestamps). Maybe once this edge case gets covered, I could simply re-run GPTH on the remaining files to get them updated? 🤔
What is the expected output/result?
Those large files should be processed by GPTH instead of being left out in the input directory.
Relevant log output
[ INFO ] ===== GPTH Logging started 2026-04-20T01:55:55.570812 =====
[ INFO ] Log file: G:\takeout-2026-04-18-out\gpth_v6.1.3_20260420-015555.log
[ INFO ] Platform: windows (Dart SDK 3.11.5)
[ INFO ] GPTH Version: 6.1.3
[ INFO ] Invocation:
[ INFO ] Executable: C:\Program Files\gpth\gpth_neo-6.1.3-release-windows-x64.exe
[ INFO ] CWD: C:\Program Files\gpth
[ INFO ] Args (argv): ["--input","G:\\takeout-2026-04-18","--output","G:\\takeout-2026-04-18-out","--albums","shortcut","--hardlink","--update-creation-time"]
[ INFO ] Command (approx): "C:\\Program Files\\gpth\\gpth_neo-6.1.3-release-windows-x64.exe" --input "G:\\takeout-2026-04-18" --output "G:\\takeout-2026-04-18-out" --albums shortcut --hardlink --update-creation-time
[ INFO ] ExifTool initialized.
[ INFO ] Messages Log will be saved to: G:\takeout-2026-04-18-out\gpth_v6.1.3_20260420-015555.log
[ INFO ] Exiftool found! Continuing with EXIF support...
[ INFO ] JSON Dates Dictionary not loaded. Missing JSON dates will be extracted from EXIF info or other fallback methods.
[ INFO ] --json-dates argument not given; skipping external dates dictionary load.
[ INFO ] --keep-input = false, inputExtractedFromZip = true => shouldClone = false
[ INFO ]
[ INFO ] ▶️ --- Step 1/8: Fix Extensions ---
[ INFO ] [Step 1/8] Fixing file extensions (this may take a while)...
[ INFO ] ✅ Fix Extensions completed in 3m 38s
[ INFO ] Fixed 6 file extensions
[ INFO ]
[ INFO ] ▶️ --- Step 2/8: Discover Media ---
[ INFO ] [Step 2/8] Discovering media files (this may take a while)...
[ INFO ] ✅ Discover Media completed in 1m 12s
[ INFO ] Discovered 20120 media files (19984 from year folders, 136 from albums)
[ INFO ]
[ INFO ] ▶️ --- Step 3/8: Merge Media Entities ---
[ INFO ] [Step 3/8] Merging identical media entities and removing duplicates (this may take a while)...
[ INFO ] [Step 3/8] Processing 20120 media entities from media entities collection
[ INFO ] [Step 3/8] 120 media entities will be merged (entities with multiple file paths for the same file content)
[ INFO ] [Step 3/8] 20000 final media entities left
[ INFO ] [Step 3/8] No duplicates files (within-folder) to remove
[ INFO ] [Step 3/8] === Telemetry Summary ===
[ INFO ] [Step 3/8] Files total : 20120
[ INFO ] [Step 3/8] Size buckets : 19953
[ INFO ] [Step 3/8] Ext buckets : 164
[ INFO ] [Step 3/8] Quick buckets : 208
[ INFO ] [Step 3/8] Hash groups : 117
[ INFO ] [Step 3/8] Merged media entities (by content) : 120
[ INFO ] [Step 3/8] Primary files in collection : 20000
[ INFO ] [Step 3/8] Secondary files in collection : 120
[ INFO ] [Step 3/8] Canonical files (ALL_PHOTOS/Year) : 19984
[ INFO ] [Step 3/8] Non-Canonical files (Albums) : 136
[ INFO ] [Step 3/8] Duplicate files removed (I/O) : 0
[ INFO ] [Step 3/8] Time total : 16188 ms
[ INFO ] [Step 3/8] - Find duplicates : 15839 ms
[ INFO ] [Step 3/8] - Size scan : 239 ms
[ INFO ] [Step 3/8] - Ext bucketing : 0 ms
[ INFO ] [Step 3/8] - Quick signature : 64225 ms
[ INFO ] [Step 3/8] - Hash grouping : 50295 ms
[ INFO ] [Step 3/8] - Merge/replace : 185 ms
[ INFO ] [Step 3/8] - Remove/IO : 44 ms
[ INFO ] [Step 3/8] === Merge Media Entity Summary ===
[ INFO ] [Step 3/8] Initial Entities in collection : 20120
[ INFO ] [Step 3/8] Duplicate files removed/moved : 0
[ INFO ] [Step 3/8] Primary + Secondary files : 20120
[ INFO ] [Step 3/8] Primary files in collection : 20000 (19984 canonical | 16 from albums)
[ INFO ] [Step 3/8] Secondary files in collection : 120 (0 canonical | 120 from albums)
[ INFO ] [Step 3/8] Canonical + Non-Canonical files : 20120
[ INFO ] [Step 3/8] Canonical files (within year folder) : 19984 (19984 primary | 0 secondary)
[ INFO ] [Step 3/8] Non-Canonical files (Albums) : 136 (16 primary | 120 secondary)
[ INFO ] [Step 3/8] Total Entities merged : 120
[ INFO ] [Step 3/8] Media Entities remain in collection : 20000
[ INFO ] ✅ Merge Media Entities completed in 17s
[ INFO ] Media Entities remain in collection: 20000
[ INFO ]
[ INFO ] ▶️ --- Step 4/8: Extract Dates ---
[ INFO ] [Step 4/8] Extracting metadata (this may take a while)...
[ INFO ] [Step 4/8] Starting 32 threads (exif concurrency)
[WARNING] [Step 4/8] Native exif_reader failed to extract DateTime from G:\takeout-2026-04-18\.gpth-unzipped\Takeout\Google Photos\Photos from 2025\received_850086244414253(1).jpeg (image/jpeg). Falling back to ExifTool.
[WARNING] [Step 4/8] ExifTool did not return an acceptable DateTime for G:\takeout-2026-04-18\.gpth-unzipped\Takeout\Google Photos\Photos from 2025\received_850086244414253(1).jpeg.
[ INFO ] [Step 4/8] Date extraction completed
[ INFO ] [Step 4/8] === Telemetry Summary ===
[ INFO ] [Step 4/8] [READ-EXIF]
[ INFO ] [Step 4/8] Total Calls : 13 (videos=4 | nativeSupported=9 | unsupported=0) - Total Time: 1s
[ INFO ] [Step 4/8] Native Direct : 9 (Success: 8, Fails: 1) - Time: 0s - (headReads: 9, fullReads: 0)
[ INFO ] [Step 4/8] Exiftool Total : 5 (Success: 4, Fails: 1) - Time: 0s
[ INFO ] [Step 4/8] Direct : 4 (Success: 4, Fails: 0)
[ INFO ] [Step 4/8] Fallback (enabled) : 1 (Success: 0, Fails: 1)
[ INFO ] [Step 4/8] === Date Extraction Summary ===
[ INFO ] [Step 4/8] json: 19987 files
[ INFO ] [Step 4/8] exif: 12 files
[ INFO ] [Step 4/8] guess: 0 files
[ INFO ] [Step 4/8] jsonTryHard: 0 files
[ INFO ] [Step 4/8] folderYear: 1 files
[ INFO ] [Step 4/8] none: 0 files
[ INFO ] [Step 4/8] Checking for truncated filenames...
[ INFO ] [Step 4/8] Fixed 18 truncated filename(s)
[ INFO ] ✅ Extract Dates completed in 18s
[ INFO ] Extracted dates for 20000 files, fixed 18 truncated filename(s)
[ INFO ]
[ INFO ] ▶️ --- Step 5/8: Find Albums ---
[ INFO ] [Step 5/8] Finding albums (this may take a while)...
[ INFO ] [Step 5/8] Media with album associations: 133
[ INFO ] [Step 5/8] Distinct album folders detected: 14
[ INFO ] ✅ Find Albums completed in 0s
[ INFO ] Found 14 different albums (0 albums were merged)
[ INFO ]
[ INFO ] ▶️ --- Step 6/8: Move Files ---
[ INFO ] [Step 6/8] Moving files to Output folder (this may take a while)...
[ INFO ] [Step 6/8] === Moving Files Summary ===
[ INFO ] [Step 6/8] Primary files moved: 20000 (ALL_PHOTOS: 20000, Albums: 0)
[ INFO ] [Step 6/8] Non-primary moves: 0 (ALL_PHOTOS: 0, Albums: 0)
[ INFO ] [Step 6/8] Duplicated copies created: 0 (ALL_PHOTOS: 0, Albums: 0)
[ INFO ] [Step 6/8] Symlinks created: 121 (ALL_PHOTOS: 0, Albums: 121)
[ INFO ] [Step 6/8] JSON refs created: 0 (ALL_PHOTOS: 0, Albums: 0)
[ INFO ] [Step 6/8] Deleted from source: 0 (ALL_PHOTOS: 0, Albums: 0)
[ INFO ] [Step 6/8] Failures: 0 (ALL_PHOTOS: 0, Albums: 0)
[ INFO ] [Step 6/8] Total operations: 20121 (ALL_PHOTOS: 20000, Albums: 121)
[ INFO ] ✅ Move Files completed in 1m 42s
[ INFO ] Moved 20000 primary files, created 121 symlinks
[ INFO ]
[ INFO ] ▶️ --- Step 7/8: Write EXIF Data ---
[ INFO ] [Step 7/8] Writing EXIF data on physical files in output (this may take a while)...
[ INFO ] [Step 7/8] ExifTool available
[ INFO ] [Step 7/8] Starting 32 threads (exif concurrency)
[WARNING] [Step 7/8] Batch metadata write failed — retrying files individually. Technical detail: TimeoutException: ExifTool stay-open command timed out after 600s
[WARNING] [Step 7/8] Video batch flush failed (32 files) - splitting: TimeoutException: ExifTool stay-open command timed out after 600s
[ INFO ] [Step 7/8] Pending before final flush → Images: 9, Videos: 10
[ INFO ] [Step 7/8] 16265 files got GPS set in EXIF data (primary=16265, secondary=0)
[ INFO ] [Step 7/8] 19995 files got DateTime set in EXIF data (primary=19995, secondary=0)
[ INFO ] [Step 7/8] Processed 20000 entities; touched 19995 files
[ INFO ] [Step 7/8] === Telemetry Summary ===
[ INFO ] [Step 7/8] [WRITE DATE+GPS]:
[ INFO ] [Step 7/8] Native Direct : Total: 15587 (Success: 15587, Fails: 0) - Time: 29334.245s
[ INFO ] [Step 7/8] Exiftool Direct : Total: 678 (Success: 678, Fails: 0) - Time: 2115.441s
[ INFO ] [Step 7/8] Exiftool Fallback: Total: 0 (Recovered: 0, Fails: 0) - Time: 0.000s
[ INFO ] [Step 7/8] Total Files : Total: 16265 (Success: 16265, Fails: 0) - Time: 31449.686s
[ INFO ] [Step 7/8] [WRITE ONLY DATE]:
[ INFO ] [Step 7/8] Native Direct : Total: 3128 (Success: 3128, Fails: 0) - Time: 4668.054s
[ INFO ] [Step 7/8] Exiftool Direct : Total: 602 (Success: 602, Fails: 0) - Time: 5469.628s
[ INFO ] [Step 7/8] Exiftool Fallback: Total: 0 (Recovered: 0, Fails: 0) - Time: 0.000s
[ INFO ] [Step 7/8] Total Files : Total: 3730 (Success: 3730, Fails: 0) - Time: 10137.682s
[ INFO ] [Step 7/8] [WRITE ONLY GPS]:
[ INFO ] [Step 7/8] Native Direct : Total: 0 (Success: 0, Fails: 0) - Time: 0.000s
[ INFO ] [Step 7/8] Exiftool Direct : Total: 0 (Success: 0, Fails: 0) - Time: 0.000s
[ INFO ] [Step 7/8] Exiftool Fallback: Total: 0 (Recovered: 0, Fails: 0) - Time: 0.000s
[ INFO ] [Step 7/8] Total Files : Total: 0 (Success: 0, Fails: 0) - Time: 0.000s
[ INFO ] ✅ Write EXIF Data completed in 2h 46m
[ INFO ] Wrote EXIF data to 19995 files
[ INFO ]
[ INFO ] ▶️ --- Step 8/8: Update Creation Time ---
[ INFO ] [Step 8/8] Updating creation times (this may take a while)...
[WARNING] [Step 8/8] CreateFile failed for "\\?\G:\takeout-2026-04-18-out\Untitled Albums/Untitled(2)\IMG_20171209_205855.jpg" (error=0)
[WARNING] [Step 8/8] CreateFile failed for "\\?\G:\takeout-2026-04-18-out\Untitled Albums/Untitled(4)\VID_20180827_202301.mp4" (error=123)
[WARNING] [Step 8/8] CreateFile failed for "\\?\G:\takeout-2026-04-18-out\Untitled Albums/Untitled(5)\VID_20180827_202301.mp4" (error=123)
[WARNING] [Step 8/8] CreateFile failed for "\\?\G:\takeout-2026-04-18-out\Untitled Albums/Untitled(6)\VID_20180827_202301.mp4" (error=123)
[WARNING] [Step 8/8] CreateFile failed for "\\?\G:\takeout-2026-04-18-out\Untitled Albums/Untitled\IMG_20201219_182851.jpg" (error=123)
[WARNING] [Step 8/8] CreateFile failed for "\\?\G:\takeout-2026-04-18-out\Untitled Albums/Untitled(1)\VID_20200516_112249.mp4" (error=123)
[ INFO ] [Step 8/8] Update Creation Time Summary → updated: 20115 (physical=20000, shortcuts=115), failed: 6 (physical=0, shortcuts=6)
[ INFO ] ✅ Update Creation Time completed in 13s
[ INFO ] Updated creation times for 20115 files
[ INFO ]
[ INFO ] ====================================================================================================
[ INFO ] DONE! FREEEEEDOOOOM!!!
[ INFO ] Your Processed Takeout can be found on: G:\takeout-2026-04-18-out
[ INFO ]
[ INFO ] Some statistics for the achievement hunters:
[ INFO ] 19995/20000 files got their DateTime set in EXIF data
[ INFO ] 16265/20000 files got their coordinates set in EXIF data (from json)
[ INFO ] DateTime extraction method statistics:
[ INFO ] json: 19987 files
[ INFO ] exif: 12 files
[ INFO ] guess: 0 files
[ INFO ] jsonTryHard: 0 files
[ INFO ] folderYear: 1 files
[ INFO ] none: 0 files
[ INFO ]
[ INFO ] In total GPTH took 2h 54m 09s to complete
[ INFO ] ====================================================================================================
[ INFO ] [SUCCESS] Processing completed successfully
Further information on the issue
I guess you need e.g. a 3GB file and use 2GB Takeout setting to reproduce this.
What version of GPTH are you using?
6.1.3
What flag combination did you use?
--input "G:\takeout-2026-04-18" --output "G:\takeout-2026-04-18-out" --albums "shortcut" --hardlink --update-creation-time
Is Exiftool installed?
Yes
What is the current output/result?
I believe this problem may be related to the Google Takeout setting I used, i.e., 2GB ZIP files.
I downloaded 177 files from Google Takeout and the majority of them were ZIP files, but some of them were MP4 instead. I suppose Google did that because these MP4s are already larger than 2GB setting I used.
The file names on the screenshot above are exactly what Google gave me - they don't follow the ZIP name pattern, but they seem to consist of
<original_file_name>-<takeout_part_number_just_like_in_case_of_zips>.I suppose this is an edge case that is not supported by GPTH right now because these files were simply ignored - they are still in the input dir, next to the ZIPs and the
.gpth-unzippeddir. Also,progress.jsondoesn't mention these files at all.I do see e.g.
.gpth-unzipped\Takeout\Google Photos\Photos from 2019\GH010015.MP4.supplemental-metadata.jsonso it should be possible to work with these large files normally, e.g., to update their timestamps, etc.Since there were not too many of them, I would like to move them by hand instead of repeating the whole process (unzipping these 300+ GB took a few hours), but the problem I'm facing now is that they weren't updated with their respective JSON metadata (e.g., timestamps). Maybe once this edge case gets covered, I could simply re-run GPTH on the remaining files to get them updated? 🤔
What is the expected output/result?
Those large files should be processed by GPTH instead of being left out in the input directory.
Relevant log output
Further information on the issue
I guess you need e.g. a 3GB file and use 2GB Takeout setting to reproduce this.