I'm not entirely sure if this is the right place to ask this question, but I don't know of a better place. I need to set up a webcam to take a photo every minute for 24 hours, so that it can be compiled into a video that plays them at something like 20fps. However I don't know of software to do this - is there? I'm running GNU/Linux (ubuntu 10.10).
4 Answers
There is plenty of software to do this in Ubuntu 10.10. I have not personally tried any of them so cannot vouch for which is best.
One useful link looks to be - popey.com - My Ubuntu Webcam setup this is fairly command line oriented but Popey does give all the steps to make a video of the resulting images
Other possible packages looking in my software list on Ubuntu 10.10 (you will likely need to enable the Universe repository to get all of them)
- webcam
- webcamd
- cheese
- kmotion
If you get stuck with Ubuntu specific issues you can always try the Ubuntu StackExchange site at askubuntu.com
Echoing JoséNunoFerreira I would recommend gphoto2. I'm not in front of a Linux box to test it right now, but according to a linux.com tutorial the following command should work:
gphoto2 --capture-image --interval=60 --frames=1440
The interval figure is in seconds, and 60 x 24 = 1440
so it should take one photo every minute for twenty-four hours.
Try gphoto2. It is available on the ubuntu repositories, and is a command line utility. it's very powerful, and allows you to use "regular" digital cameras, also.
Other choices would be VideoCapture module for python (assuming you know python).
For a USB webcam, you could use fswebcam. It is available in the Ubuntu 'universe' repository. fswebcam is a simple, lightweight, command line program, for capturing images from a webcam. A simple command to capture an image and save it as a JPEG:
fswebcam test.jpg
By default this will attempt to get an image from the /dev/video0 device. If you have multiple devices attached, you can specify which one. There are more options to specify the resolution, or whether to include a title, or timestamp etc.
To make a timelapse, you can use fswebcam with the 'loop' option, this will take a photo every specified number of seconds. Or you could add a script to cron, eg to run every minute.
An example bash script to save a photo every minute.:
#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
fswebcam r 1280x720 -S 15 ---jpeg 95 --title "My webcam" -q -l 60 $DATE.jpg