Timelapse from thousands of jpg files
February 11, 2025 9:17 AM   Subscribe

I want to create a timelapse video from a few thousand stills that are jpg files. What Windows 10 or 11 compatible software with a GUI should I use? If there is a cost, I'd like to be able to test it out before buying.

I don't want to upload them anywhere, just convert them locally. Many webpages tell me that the Windows Photo app will do this for me, but when I follow those directions (right click and select create video), it brings me to the Windows app store and some app rated 3.2 stars that has a free trial. No thanks.

I have ffmpeg installed on both the Win 10 and Win 11 machines. I might be missing some plugins on the Win10. I've used it many times to convert other video files without much problem, but somehow getting the command line to read every picture in a specific folder is causing me problems. I've got VLC installed on both as well, but it did not want to combine anything. It would convert each jpg into its own mp4, but they were still unreadable.

What I would really like is something with a gui so I don't have to go round and round with copying someone else's code into the terminal and getting frustrated. I will eventually show someone else how to do this too, so I want something relatively simple.
posted by soelo to Computers & Internet (9 answers total) 5 users marked this as a favorite
 
I use Adobe Premiere for this. One month free trial and a quick youtube tutorial to teach you how to do just this (it takes literally 1 minute if your file names are sequentials).
posted by PardonMyFrench at 10:05 AM on February 11 [2 favorites]


You can use Blender to do this. You can add image(s) as a video strip and then render a video. Here is a tutorial.
posted by MetaFilter World Peace at 11:28 AM on February 11


The Photos Legacy app will do this. It's the original Windows Photo App with the built-in video editor, before they de-featured it to push people into ClipChamp. Open the app, click on the Video Editor tab, import your photos, drag them to the timeline, Ctrl-A to select all and set the duration you want. It's generally pretty good about keeping your images in order (see below) but it never hurts to quickly scan through them and make sure.

You'll have a lot more fine control using ImageMagick to process and prepare your images, and FFMPEG to compile them into a video, but that's going to require some command line work or light scripting.

However you get there, it would certainly make things easier if your images were already ordered and named in a recognizable pattern, like 0001.jpg, 0002.jpg, etc.
posted by xedrik at 11:29 AM on February 11


Response by poster: The files are currently numbered in increments of 5 (blah010, blah015, blah020). Will it make ffmpeg happier if I change them to increment by 1? I can bulk rename them if it will.
posted by soelo at 12:39 PM on February 11


For software you probably already have and don't want to learn video editing.... PowerPoint can easily do this. Option is called created slideshow from images. There's an option to choose a folder of images. Then apply a transition time to all slides (if truly time-lapse that would be like point zero 33 seconds (. 033) then save and then export as video, there are options for video format, quality, resolution etc. Hacking ppt to make videos is one of my favorite "urgently on someone else's computer" hacks.

Id suggest start with like 120 images to make sure the fit options, transitions, export etc all work as desired then set up the full thing.
posted by chasles at 12:41 PM on February 11


imageJ is free software traditionally used by molecular/cell biologists for image processing. But it has a very straightforward function for turning photos in a folder into .avi's, and it's available for Windows/Linux/OS X. Tutorial here.
posted by one_bean at 2:03 PM on February 11 [1 favorite]


Not sure what issues you are running into, but you can use ffmpeg to do this, if it is a matter of selecting the correct options.

There is a wrapper script at the bottom of this tutorial that helps automate turning a stack of JPEGs into an MP4 movie: https://brendandawes.com/blog/ffmpeg-images-to-video

This wrapper script calls ffmpeg with the required options, and the link walks you through the process step by step.
posted by They sucked his brains out! at 2:38 PM on February 11 [1 favorite]


For me this issue is usually a result of file names without enough zero padding or some other issue.

If you rename them to blah000001, blah000002, blah000003 then it might just work with a command like:
ffmpeg -framerate 30 -i "C:/test_images/test_%06d.png" -c:v libx264 -preset slow -crf 23 -pix_fmt yuv420p "C:/test_images/test_images.mp4"

If you're going to be doing this more often you might throw together a python script.

When i have used FFMPEG in Windows to do this exact task, the trick for me was to use python to create a list of files, sort them, and feed that list into ffmpeg. In linux I've usually been able to use glob instead to skip this step.

Here's a thrown together repo I verified works in windows 11 with python.

I did use libx264 as the video codec, which might not be in the standard web version, but you can check your version with:
ffmpeg -codecs
posted by Quack at 2:49 PM on February 11


The files are currently numbered in increments of 5 (blah010, blah015, blah020).
As long as they're in some sort of ascending order, like that, it should be just fine!
posted by xedrik at 9:05 AM on February 12


« Older Can you read the name of this Czech village?   |   Send me your favorite cleaning and organizing... Newer »

You are not logged in, either login or create an account to post comments