This is what happened on my laptop screen on Mar 1, 2010:
One Minute Per Day, March 1, 2010
Want to make daily movies like this from your screen? Then you came to the right place!!!
This set of instructions refers to the boranj release of the ONE MINUTE PER DAY (OMPD) project.
OMPD refers to the idea of spending one minute per day reflecting on how you spent your time during the day. Here, we’re specifically talking about how you spent your time using your computer. Maybe you’ve considered using various tracking software that will give you such stats as 5 hours on Firefox, 3 hours on Email, 2 hours on OpenOffice, etc. We tried some of those programs and while they are nice, the way the data is presented didn’t seem to help us make changes to our behavior so we ended up making this software. This hasn’t necessarily changed our behavior either but it’s more fun(TM).
INSTRUCTIONS:
LINUX:
Using package installer of your choice (apt-get,yum,etc) install the following programs: ffmpeg, imagemagick, and scrot.
MAC:
if developer tools is installed, macports is the easiest. get macports at macports.org, then type sudo port install ffmpeg imagemagick
Install FFMPEG. Follow the instructions on this page.
Install ImageMagick. Follow instructions on this page.
WINDOWS:
This probably isn’t that hard to do but we’ve never done it. If you get it to work, please let us know and we will link to you here. Instructions for a cygwin solution in english and in portugese. Others recommend timesnapper.com and camstudio.org.
How the software looks when it is running.
Download capture.sh from here:
http://gist.github.com/311181
Put it in your home directory or wherever you want really. Make it executable.
chmod 755 capture.sh
You will need to edit the file to make sure the paths are correct for your machine. Mac and Linux are slightly different but the capture.sh file is notated in all the places where you need to change something for mac or linux. You can also change the time between frames and the fps on the movie pretty easily.
Want automatic uploading to youtube? Follow the instructions here:
http://broadcasterproject.wordpress.com/2010/03/03/howto-youtube-auto-upload-script/
Let us know what we missed or what didn’t work for you.
Want to add yourself into the mix? Using your favorite webcam utility you can! Order now, operators are standing by.
For mac (use wacaw) and for linux (use streamer). Snap a webcam pic, resize to match the screen size, then blend with imagemagick, voila. Then you can make movies that look like this (ffwed to 41 seconds):
xoxo!
Tags: awareness, compression, daily, information, public speaking, publishing, screencast, timelapse

oh yeah. a lazy workaround for mac users that involves no installation of ffmpeg or imagemagick.
just comment those lines out in the script file but leave the renaming of files part that happens at the end of each day.
so now you will have some image directories automatically created and filled each day but no movies made. you can manually “open image sequence” using Quicktime Pro to make movies.
maybe this can also be automated with a script but haven’t look into it…
[...] One Minute Per Day instructions, b1 « Plebian Design: Blog (tags: screenshot art video experimental opmd) [...]
Am I missing something or is there no awesome flip-clock for when things don’t change in this script?
@dg2
I think the awesome flip-clock is his screen saver
Thanks doc! Found it! http://www.9031.com/downloads/screensavers.html
screencapture is unknown command.
using linux debian leny stable with latest update and debian-multimedia. ffmpeg, scrot etc is installed.
wasted one minute of my time :>
I too am having a “screencapture is unknown command.”
Also is changing the folder the only real change necessary to run on ubuntu karmic?
It creates the date folder, but not in the dir specified. Maybe that is due to the missing trailing slash on the address.
But then it fails to capture the shot and then fails to make the video.
I would love to get this going but am not so clued up with nix scripts.
Please help..
Ok, I managed to get the screen shot running, Comment out screencapture line and uncomment scrot line.
However my video is not appearing anywhere.
Any ideas any one?
can you try to make the video manually?
the videos only happen once per day at midnight.
you can trigger it to try to make a movie every minute or every hour by changing the conditional statement slightly.
make DDDATE=`date +%Y%m%d`
into DDDATE =`date +%Y%m%d%H` or … %H%M’
counter=10000
while [ 1 ] # run all the time
do
DATETIME=`date +%Y%m%d%H%M%S`
then make NOWDATE=`date +%Y%m%d`
into NOWDATE=`date +%Y%m%d%H` or …%H%M’
if [ $NOWDATE -gt $DDDATE ] # THEN THIS CONDITIONAL goes every hour or minute…
then
echo “day change, hour change, minute change, etc…”
counter=10000
# rename files sequentially for FFMPEG to work properly
for f in *.jpg; do
let “counter+=1″
mv $f screen${counter:1}.jpg
done
ffmpeg -r 20 -b 5000 -i screen%04d.jpg ~/Movies/AUTOUPLOAD/OMPD-$DDDATE.mp4
you also have to change the directory in linux. to ~/Videos/ instead of ~/Movies
what are you watching when you get the six video feeds on your monitor? I’m v. curious!
For windows users, the awesome open-source Camstudio ( http://camstudio.org/ ) application can be configured to record time-lapse screen captures through the video options menu.
cat capture.sh | sed ’s/^#/\t\t#/g’
@clmaxwell
6 frame movie is Six Months of Life, a timelapse movie i have recently made. snippet here: http://www.youtube.com/watch?v=nmLVeJ3QhBU
the whole thing will be available for dvd sales and on archive.org within a month or two. thanks.
and another windows option from jeison cardoso->
I used the cygwin B20, that is easier and fast of you install (my
opinion). http://www.caslsoft.com/gcc_tools/cygwin-b20.1-full.exe
As I used ffmpeg.exe that comes with the installation of MediaCoder. It
is enough to copy ffmepeg for the paste of the script.
http://mediacoder.sourceforge.net/
Third party instead of a program * nix used the irfanView, through
command line and it worked very well for so much. To copy only
i_view32.exe the for the paste of the script http://www.irfanview.com/
I had to change a little the script for cause also of the differences of
as the windows encherga the “Pastes” and Cygwin the “Directories.”
I set up two versions more a similar to the original, and another that
turns a little faster, for removing some things, and to simplify others.
I tried to leave the closest of the original in what was possible.
Jeison Cardoso
http://jeisoncardoso.blogspot.com
I’ve made what I hope is a bit more sophisticated version of this script, available at http://github.com/ecognito/timeline
It pushes all the customisation to a well-documented section at the top of the file, and adds features such as not doing the capture if the screen saver is running, plus trying to keep the time between captures constant.
Evan’s script does not work on Ubuntu 9.10. I tried changing windowmanager to gnome, screensaver to 0, and /usr/tmp/ to /tmp/. No problems with the original script.
I get an endless series of this:
./timeline.sh: 584: [[: not found
./timeline.sh: 584: 0: not found
./timeline.sh: 584: 0: not found
./timeline.sh: 584: 0: not found
./timeline.sh: 584: 0: not found
./timeline.sh: 584: 0: not found
./timeline.sh: 584: [[: not found
./timeline.sh: 584: let: not found
./timeline.sh: 584: cannot open : No such file
./timeline.sh: 584: 1269253301: not found
evan. that’s cool. i linked to timeline at the top of the capture.sh gist.
here is another little script i just wrote for adding audio to the movies.
http://gist.github.com/341936
if you are uploading, then inside videochecker.sh, just after
for f in *.mp4
add a line something like
./add_audio.sh $f myaduiofile.mp3
and it will take a snippet of your mp3 file of the correct length and add it to the .mp4 file.
or just run it manually from command line in your videos directory.
./add_audio.sh OMPD-date.mp4 myaudiofile.mp3
it then trims and resaves your audio file so make sure it’s a duplicate. boranj!
an example here: http://www.youtube.com/watch?v=De5opBRbFNw
all the new ones should have audio.
maybe work this into it at some point as well…
http://plainfront.wordpress.com/2010/01/16/experiments-with-timelapse-and-audio/
This is awesome, it helped me complete one of my unfinished projects. i’m quite new to these though.
Some of the images were not displaying correctly but, the web site still looks great. I have been coming to this site for a few months now and i’m really impressed with the content. What is the rss address?
mac users can use macport for both ffmpeg and imagemagick install.
much easier than ffmpeg install described above.
[...] making timelpase movies of my computer screen and timelapse movies of my life. Computer screen: http://plebiandesign.com/blog/?p=552 Life: <a href="http://youtube.com/usemoreproduct “>http://youtube.com/usemoreproduct and a ten minute excerpt from a movie compilation i [...]
for windows users, i finally got around to trying out jeison’s rework.
installed cygwin. http://www.cygwin.com/
installed irfanview , http://www.irfanview.com/ (instead of imagemagick or scrot)
installed ffmpeg (http://ffmpeg.arrozcru.org/)
then a little of messing around with script to get it happy. i also installed emacs as a text editor.
a usefull command is dos2unix.exe which you can run on any text file to clean it off many of the annoying carraige return characters that get left around by windows and cause problems when running scripts in cygwin.
Hey Dan,
this is awesome! just tried it and with only a little bit of editing it worked on my netbook. also happy about the relatively small HD and CPU footprint these processes seem to have.
one question: what is this line doing?
#composite /home/cullen/Pictures/OMPD/wave_gradient6.png temp.jpg -displace 7×10 screen$DATETIME.jpg
I commented it out because terminal was giving me errors. but is that the line that puts the webcam and screen capture together? I’d like to preserve that effect but my setup doesn’t seem to know what to do with that line. error:
composite: unable to open image `/home/cullen/Pictures/OMPD/wave_gradient6.png’: @ error/blob.c/OpenBlob/2498.
composite: unable to open file `/home/cullen/Pictures/OMPD/wave_gradient6.png’ @ error/png.c/ReadPNGImage/3072.
composite: unable to open image `temp.jpg’: @ error/blob.c/OpenBlob/2498.
composite: missing an image filename `screen20111001124612.jpg’ @ error/composite.c/CompositeImageCommand/1607.
woop!
ok, i must be honest i have played around with this a lot and not necessarily kept the github gist up to date with all the options.
composite is part of imagemagick and i use it to do a couple different things depending on the situation.
2 main things. 1 - overlay blend images. and in the line you ask about, 2. warp images with an underlying template.
see how this movie has a wavy texture? http://www.youtube.com/watch?v=DYFlGMv24XI
that’s what that line does. you have to create the gradient file ahead of time, just once. then you can use it whenever. and -displace 7×10 can be changed to make the effect more or less noticeable. a little more about things composite can do here: http://broadcasterproject.wordpress.com/2010/05/18/how-to-layerremix-videos-with-free-command-line-tools/
make sense?
rock!
cool! I figured it was something to be made beforehand. ImageMagick is new to me so I’m still working through all that stuff.
Can I see what your capture.sh looks like now so I can figure out where a few other things are not working? would like to try to “teach myself to penguin” here
the layered Broadcaster Project video is a great idea, and looks great as well!
#this is what is running on my mac laptop.
#! /bin/sh
# THIS VERSION TAKES A WEBCAM PIC AND BLENDS IT WITH SCREENSHOT
# ***************************************
# ******OMPD - One Minute Per Day - Voluntary Anthropology
# ******public timelapse wall
# need to install ffmpeg and imagemagick for this to work
# maybe wacaw too
# **************
# **************
# whatever you want to be your directory of files
cd ~/Pictures/OMPD
# make a subdirectory with today’s date, then go to it.
mkdir `date +%Y-%m`
cd `date +%Y-%m`
screencapture -m -x -t jpg last.jpg
DDDATE=`date +%Y%m`
DATETIME=`date +%Y%m%d%H%M%S`
RAMP=9
counter=10000
# at 15 seconds per shot, 4/min, 240/hr, 10 hours = 2400 shots
# while [ $counter -ne 3400 ] # run a fixed number of shots.
#while [ `date +%H` -lt 23 ] # if it’s less that 11pm
while [ 1 ] # run all the time
do
DATETIME=`date +%Y%m%d%H%M%S`
NOWDATE=`date +%Y%m`
if [ $NOWDATE -gt $DDDATE ]
then
echo “month change”
counter=100000
for f in screen*.jpg; do
let “counter+=1″
mv $f renum${counter:1}.jpg
done
# convert *.jpg ~/Movies/AUTOUPLOAD/OMPD-$DDDATE-$DATETIME.mp4
# for f in *.jpg; do let “counter+=1″; mv $f screen${counter:1}.jpg ; done
#done
# -g sets keyframes. useful if you ever edit the file later
ffmpeg -r 20 -b 5000 -g 1 -i renum%05d.jpg -sameq -s 720×450 ~/Movies/AUTOUPLOAD/OMPD-$DDDATE.mp4
#ffmpeg -r 10 -sameq -i webcam%04d.jpg ~/Movies/AUTOUPLOAD/camTL-$DDDATE.mp4
#ffmpeg -r 15 -b 5000 -i webcam%04d.jpg ~/Movies/AUTOUPLOAD/`
# -b 5000 to limit movie size.
cd ~/Pictures/OMPD
mkdir `date +%Y-%m-%d`
cd `date +%Y-%m-%d`
sleep 1
screencapture -m -x -t jpg last.jpg
screencapture -m -x -t jpg new.jpg
screencapture -m -x -t jpg middle.jpg
counter=10000
DDDATE=`date +%Y%m`
fi
#let “counter+=1″
echo $DATETIME
#echo $counter # if you want to see the progression on the terminal window
# capture a JPG screenshot
let “RAMP%=6″
let “RAMP+=1″
echo $RAMP
#screencapture -m -x -t jpg screen${counter:1}.jpg
rm -rf new.jpg
rm -rf webcam.jpeg
wacaw –jpeg -n 4 webcam
screencapture -m -x -t jpg -T 2 new.jpg
#composite /Users/danielpaluska/Pictures/OMPD/wave_gradient6.png new.jpg -displace 3×3 middle.jpg #screen$DATETIME.jpg
composite -blend 35 new.jpg last.jpg -matte middle.jpg
convert webcam.jpeg -resize %200 webcam.jpg
composite -blend 50 webcam.jpg middle.jpg last.jpg
#composite -blend 50 -gravity center /Users/danielpaluska/OneMinutePerDay/label.gif middle.jpg middle.jpg
#cp middle.jpg last.jpg
#mv temp.jpg screen$DATETIME.jpg
convert last.jpg -resize %50 screen$DATETIME.jpg
#wacaw –jpeg -n 4 webcam${counter:1}.jpg
echo “captured images”
# resize images using imagemagick here?
#mogrify screen$DATETIME.jpg -resize 720×450
# add additional imagemagick filters that intentionally art-ify the images?
echo “made screen smaller”
# convert webcam${counter:1}.jpg.jpeg -resize 95% webcam${counter:1}.jpg
# mv webcam$DATETIME.jpg.jpeg webcam$DATETIME.jpg
#convert screen${counter:1}.jpg -resize 50% screen${counter:1}.jpg
# capture an image from the webcam using wacaw package. get from sourceforge
#
# download zip file. unzip. run these two things at command line
# sudo cp wacaw /usr/local/bin; sudo chmod +x /usr/local/bin/wacaw
echo yofool
# number of seconds between shots
sleep 20
# make a beep here? display a shot onscreen?
done
# one shot/15sec, played at 10 fps = 150x speedup. 150min(2.5hr) = 1 min vid. 10hrs = 4min
# about mac cron jobs on laptops and sleep times
# http://www.thexlab.com/faqs/maintscri...
this is relevant to the blurring portion of the script.
http://timelapsefarm.wordpress.com/2011/07/05/blur-or-iir-filter-for-timelapse-movies/