Setup a the Time Lapse Example and Create a Video

Hi In this post I will try to explain how I set up the Raspberry PI to take time lapse images and create full 25 fps videos.

Example output:

You Will Need:

  1. Raspberry PI
  2. Camera Module
  3. PC to create the video files.

Method:

I will assume you have the Raspberry PI and camera module installed.

I personally use a laptop with WinSCP & Putty installed to remote admin the Raspberry PI. this allows me to position the PI anywhere I can get a wireless signal or patch to a network. (Tutorial coming soon!)

Log in as root. In your home directory create a file called timelapse – type the following lines of code:

SAVEDIR=/home/stills
NUM=1;
TOTALF=1000;
SLEEPTIME=20;

while [ "$NUM" -lt "$TOTALF" ]; do
filename=$(date -u +"%d%m%Y_%H%M-%S").jpg
raspistill -w 1280 -h 800 -t 0 -o $SAVEDIR/$filename
NUM=`expr $NUM + 1`
sleep $SLEEPTIME;
done;

Save it and return to your command line.

You easily can modify the code: TOTALF being the number of frames to take and SLEEPTIME is the number of seconds to wait between shots (This is approximate – you need to add on the time it takes for the camera to take the image and store it – about 2 seconds) The resolution can also be changed in the above example its set to 1280 x 800.

Create a folder in your home directory called stills – use WinSCP or with command line/Putty – something like:

mkdir /home/stills

You are ready to start taking pictures!

To launch the script (directly from the PI or you can putty/ssh in)

Login and go to the home directory:

cd /home

Run the script… (You will need space on your memory card!)

./timelapse

If you used the settings I left in the script it will take approx 7 hours to run and eat around 900MB of space on your memory card.

Time Lapse Raspberry Pi

Screenshot: The Timelapse scriptis running….

If you want to stop it early press CTRL+C to jump out of the script.

When the script is done the stills folder will be full of date stamped images…

To process the output and make a video…

To make this easy I am using a Windows 7 Laptop with WinSCP and Putty…

Connect to the Raspberry PI using WinSCP – You need to copy all the images from the PI to the PC. Navigate to /home/stills (in the right hand pane). On the left hand side Navigate to a folder to copy the images to.

WinSCP Copy files

Copy all files from the PI to a Windows folder…

click on one of the image files in the stills folder  then press CTRL+A to select all files. Drag them all in one move to the windows folder on the left.

Depending on the image size and number of images this may take some time! (using the script defaults 900MB took around 7mins)

Now you have all the images on your PC we need to rename them to process. I like to use the Bulk Rename Utility as it offers many great features and is also free! Download and run the application (No install version works fine for me!) and navigate to your folder full of images. SORT THEM BY DATE! else the images will be out of sequence!

With the files listed in date order – press CTRL+A to select all images. Of all the settings below we only need to change 2…

Set the numbering mode to “Suffix” and File to “Fixed” (Type a filename). you should see the new name in green with a name and number with increment. (See below)

Bulk Rename Utility

The Bulk Rename Utility – highlights where to change settings.

When all looks good press the Rename button at the bottom right and the files are renamed. Close the app…

Create the video

At this point I would recommend you have xvid installed to create encoded video files – this is not essential but will help save a lot of disc space!

To encode the video I am using VirtualDub a great FREE video processing tool.

Install and run VirtualDub.

From the file menu pick Open Video file. Navigate to your folder of images and click the first one. set the file type to Image Sequence:

Open Image Sequence

VirtualDub Open Image Sequence

click Open and the whole sequence of images will load into VirtualDub.

Select Video->Frame Rate menu item and set the frame rate (I set mine to 25fps)

Video framerate

Set output Video Framerate

Next – Set the video compression – on the Virtualdub menu select Video -> Compression.  I set mine to xvid for a smaller output file if you do not have this select cinepak/intel/microsoft.

VirtualDub video comression

Select Video Compression format

Finally select File -> Save as AVI and give your final output a filename.

Virtualdub in action

VirtualDub Creating the final AVI Video file.

The video is now ready to watch using Windows media player, VLC or transfer to your media device. This file can also be uploaded directly to youtube – depending on your internet bandwidth you may need to scale the images down or shrink the video further as the output files can quickly become quite large!

Final Video Image

The Final Video

Have fun!

One thought on “Setup a the Time Lapse Example and Create a Video

  1. Before you encode the frames with virtualdub, you could do some post processing with for example Photoshop Lightroom. Import the images, edit an image that has a stable exposure, synchronize setting across all images and export. Even if the images are only in jpeg format they still allow for some post processing, results can be pretty good.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *