Make a movie from a sequence of images (Mac)

There are two tools I tried on a Mac to generate a movie from a sequence of jpg images:
  • iMovie: very complete video editor, i.e. lots of interesting features such as adding sound to your video, titles and transitions. Works on jpg and png files. However, the video encoding is a slow process if applied on too many images (e.g. more than 1000). Official website. I tested with version 10.1.8
  • Time Lapse Assembler: very simple interface, i.e. a lot less features than iMovie.  Works on jpg files only. Great if you are only interested in generating a simple movie from a sequence of images without adding sound, titles, or transitions to your video. Application works great when applying it on lots of images (e.g. more than 1000). Official website. I tested with version 1.5.3

Contents

Mini-review #1: iMovie

When using iMovie, if you add your images to the timeline, and you have a zoom in/ zoom out transition between all your images, make sure to choose "No Theme" so you can remove this transition which in my case was chosen by default.

Also, if you want to reduce the delay between images, go to iMovie->Preferences... and type in 0.1s as the Photo Duration (0.1s is the smallest duration you can type in). 

Finally and importantly, if you want to start generating the video from your selected sequence of images, click on the Share button on the top right, and choose File. A couple of seconds later (or minutes depending on how many pictures you selected and your video encoding settings), a notification will be shown on your Mac that tells you that exporting your movie was successful.

When I tried importing 1823 images, the import process was taking a considerable time. It took a couple of minutes for the import process to finish, and then adding the whole list of images into the timeline was also a slow process. Finally, the encoding of the 1823 into a h.264-medium-quality movie (720p) took too long (about 20 minutes).

Mini-review #2: Time Lapse Assembler

As mentioned above, Time Lapse Assembler works only on jpg/jpeg files. It is not very complicated to use it since the GUI is very simple: choose your source directory where you have all your jpg files, and apply your desired encoding settings. You have control over the codec, fps, dimensions, and quality. 

The encoding of the 1823 images into a h.264-normal-quality movie (24 fps) took about 2 minutes. It was extremely quick compared with iMovie which was a very slow process.

Use case: Time Lapse Assembler applied to security camera images

If you are curious to know where I applied this type of tool, read the following, and who knows maybe you might be in the same situation as I was when I was looking for this kind of application.

For the past three weeks, I have been working on building an automated visual surveillance system that consists among many other components of a motion detection and tracking system. For the motion detection part, I tried the first two basic background substitution models that Adrian Rosebrock from pyimagesearch implemented in his two excellent tutorials that I highly recommend to read:
I combined both background methods into a single Python script with some other options and features (see the README.md for details on how to install, and use it), and started testing the methods on different datasets such as those from the SBMnet dataset which consists of sequences of hundreds of jpg images (sometimes more than a thousand). I thus needed a software that could help me convert the sequence of images generated by my script into a standalone video. Hence, the video from the resulting script could be further analyzed so I could better evaluate visually the different background models, or even share the video with other people so they could readily see how well the motion detection performs.

The choice was easy then: since the datasets that were used to test the motion detection system consisted of hundreds of images, I ended up using Time Lapse Assembler to generate the movies since it works great when working with lots of images compared to iMovie which takes too long to generate a video.

Here is a video I generated from a sequence of images from the SBMnet dataset on which I applied the basic motion detection and tracking system:

Figure 1. Basic motion detection and tracking system: using the first frame as the background model

Comments

Popular posts from this blog

Install the MAMP (Mac, Apache, MySQL, PHP) stack

Deactivate conda's base environment on startup

Product review: SMONET wireless security camera system