How does iOS Photos app know to group burst photos?

When taking pictures using the front facing camera and a timer of an iPhone it automatically does burst mode.

When viewing the photos in the Photos app, it somehow knows to group the burst photos together.

If I connect the iPhone to a Windows machine, they are not grouped in any obvious way.

How does iOS know the photos are grouped? Is it metadata in the files?


Solution 1:

All the photos that are taken in a burst sequence share a "BurstUUID" in their EXIF data. This is how applications know they are related.

For example I just took a burst of images, installed exiftool and ran exiftool -BurstUUID *.JPG against the directory with the burst images. This is the output.

======== IMG_0076.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0077.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0078.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0079.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0080.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0081.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0082.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0083.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0084.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0085.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
======== IMG_0086.JPG
Burst UUID                      : 65A7DF0A-1F09-4600-917B-9572A16AD016
   11 image files read

For another application on Windows (or any other platform) to recognise and show these images as a group it will need to be rewritten to recognise this new EXIF tag.

Solution 2:

Loved this post, I used it to make photos think my bursts weren't bursts. Useful when you've picked out all the photos you want and have to import them back in. This script (all it does is ensure all burst photos have a unique uuid) needs exiftools installed on a mac. You can probably run it on windows with a few changes....

#!/bin/bash

#move files in a the below directory
cd ~/Desktop/temp/

#changes the names of the files to a random uuid
for FILE in *.jpg
do
    if [ -f "$FILE" ];then
        ID=`uuidgen`
    mv -v "$FILE" "$ID"
    fi
done

#passes the file name into the burstuuid
for i in *; do exiftool -P -overwrite_original "-burstuuid=$i" "$i"; done

#adds back the extension name
for i in *; do mv "$i" "$i.jpg"; done

#renames the files
for i in *; do exiftool '-FileName<DateTimeOriginal' -d "%Y-%m-%d %H.%M.%S%%-c.%%e" "$i"; done