One Minute Per Day instructions, b1

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: , , , , , , ,

26 Responses to “One Minute Per Day instructions, b1”

  1. dan says:

    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…

  2. [...] One Minute Per Day instructions, b1 « Plebian Design: Blog (tags: screenshot art video experimental opmd) [...]

  3. dg2 says:

    Am I missing something or is there no awesome flip-clock for when things don’t change in this script?

  4. docfeelgood says:

    @dg2
    I think the awesome flip-clock is his screen saver

  5. vizzy says:

    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 :>

  6. Dibs says:

    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..

  7. Dibs says:

    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?

  8. dan says:

    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

  9. clmaxwell says:

    what are you watching when you get the six video feeds on your monitor? I’m v. curious!

  10. Tacoman says:

    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.

  11. JAY says:

    cat capture.sh | sed ’s/^#/\t\t#/g’

  12. dan says:

    @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->

    Using as base his/her script managed to do to work very well in the
    windows, but with some changes.

    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

  13. Evan says:

    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.

  14. Pjn says:

    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

  15. dan says:

    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/

  16. Dewani Anil says:

    This is awesome, it helped me complete one of my unfinished projects. i’m quite new to these though.

  17. 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?

  18. dan says:

    mac users can use macport for both ffmpeg and imagemagick install.
    much easier than ffmpeg install described above.

  19. [...] 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 [...]

  20. dan says:

    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.

  21. Cullen Corley says:

    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.

  22. dan says:

    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!

  23. Cullen Corley says:

    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!

  24. dan says:

    #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...

Leave a Reply