Duncan Wilcock


e-Bikes: No Traffic.
Easy Parking. Join the Fun!

Friday, April 02, 2021

Combine Hundreds of Video Clips into One Long Video using Apple Photos and iMovie

This post is to help others who want to combine a whole lot of short video clips into one long video, with all the clips in time-order, with a bare minimum of editing and fuss.  It's to document a workflow to do specific thing I want to do, which is to export my videos from Apple Photos and then put them in time order in a multi-hour video.

Here is my job-to-be-done:

I have a little guy, who is super adorable.  He's a bit more than 3 years old, and I have been capturing videos on my iPhone and collecting a lot of video in my Apple Photos library over the years so far. I  want to enjoy those clips on my AppleTV in the living room, in a big long video - of his first year, his second year, and so on - rather than having to keep picking individual clips.  

I will watch this in the evenings with my wife "in the background" as we read our iPads or chat, or perhaps with friends or family, and with my little guy - as at times he finds it engaging to see himself when he was younger.

Also - I'm a busy guy, I don't want to spend hours editing and curating, because that drastically decreases the chance it will get done.   Instead, I want to take advantage of the computer - let it do all the exporting work, keeping them in date order, and building a long video - with a minimum amount of direct editing time by me.   

If I don't like the end result, and if the computer is doing most of the work, I can restart the process without feeling like it's a lot of work for me to do - just the computer, which can do the work while I sleep.

Why I'm Writing this Up

These instructions are relatively quick and easy, which is what I wanted.  It took me quite a long time to get here, which is why I'm writing them up.   I didn't find good guidance on the internet when I searched for it in the last few months, and I hope this helps some others who want to do the same thing.  I found quite a few others on Apple's help forums and elsewhere.  I even had a question answered on a popular Tech Podcast ATP - which unfortunately didn't help, but I had already found the below workflow before they responded.  The whole key was the image below, and finding that from Apple Photos export, there is an option to set the Filename: to "Sequential"

The Workflow:

  1. Make an album in photos and fill it with the videos.  (copying from Smart Albums can be helpful.) 
  2. Organize the videos in the order I want (ie use "sort by date")
  3. Use Menu Command: File->Export. (Shift + Cmd + E)
    • Chose Sequential as shown below. This was the key trick.
  4. Drag into iMovie event Library, and then into the timeline there, then export as 4k, 60fps etc.
  5. Iterate 1 or 2 times:  
    • When watching, if there is a clip I don't want in the big video, I just skip over it while watching it on the TV.  I may delete it from the Apple Photos album and re-export a couple times before I decide these long videos are "done enough."   I used Airplay from Quicktime on the Mac to the AppleTV to start, and these are working well enough I am now using Plex on the AppleTV, which is a worthy improvement.

Things I Tried That Didn't Work:

1. Exporting as unmodified originals from Apple Photos

  •  Date stamps were preserved, but key edits like rotations weren't perserved, and other edits I had done that improved the videos, like trimming boring parts in the library.  Where I had corrected dates & times in the Apple Photos Library, those were lost too.

2. Exporting as "filename" from Apple Photos

  • Videos don't have built in EXIF data that stores date formats, so programs often have to use the Date Stamp or the filename to sort.  This was leading to videos imported into iMovie in random, non-sequential order - which was the whole problem.  

3. Apple Photos Slideshow

  • Max resolution is 1080p and 30fps. It also was really choppy - worse than you'd expect from 30fps.  For a while I was considering tolerating it, but it was just terrible - it didn't work for me.

4. I had ffmpeg and Permute recommended to me, but didn't try them. 
  • I didn't try either of these, and ffmpeg seems very fiddly to me.  I'm sure I could get it to work, but once I figured out that sequencing the files solved the problem, then iMovie was the natural choice.  I realized I had not been stating the problem well - but don't think I could have stated it clearly until I figured out the solution.  The problem turned out to be: "Exporting from Apple Photos in a way that preserves edits and date order."   Once I had that solved, iMovie worked well for me, and gives me capability I can apply quickly like cross-fades, and I could later add music underlay if I felt so inclined.

Something else I learned:

Video files apparently don't really have integrated EXIF data the way photos do. Similar functionality to EXIF is usually accomplished with an external file often called an .XMP that has that same data in it, but because it's a separate file, it's not as good as jpegs with EXIF data embedded. Often the file date created is the only thing a program can use to guess when the video was created. 

From Apple Photos exporting unmodified originals preserves those date stamps, but if you simply "Export..." - the videos, then for many files with edits - new files are created with date stamp of the date they were exported, which wasn't working - see #1 & #2 above.  The key was exporting as "Filename: Sequential."

Last Tip

I also found that 4 to 8 hour movies were a bit too long in practice.  We didn't get to the end of them often, so I  wound up dividing the Apple Photos albums into multiple parts, and going with 2 to 3 hours of video in each part.  The workflow still applies, just a practical learning item worth sharing.