Skip navigation

Over Christmas I had a bit of spare time on my hands so I decided to get to grips with a few new c++ libraries. I already had some experience with wxWidgets, a cross-platform widgets toolkit, from my Hugin/GSOC endeavours but I wanted to write my own GUI from scratch. Similarly, I’ve played with libgphoto/gPhoto2 a little using Perl scripts to make timelapse movies (of my dog) using my Canon G7. These tools and libraries allow you to control a wide range of cameras via USB from UNIX-like operating systems.

When a quick trawl for Linux software to create timelapse movies came up with nothing, I decide to use these two libraries to write my own. This is what I’ve come up with so far.

screenshot-timelapse-1_851

I based this project on the notebook example that comes with the wxWidgets source code. It’s fairly easy to add tabs (or pages); at the moment the main one (above) shows the timelapse settings – interval, max time/frames, start, stop and preview capture. There’s also an option to change the number of frames that are taken at each interval – useful if you want to make an HDR timelapse film. The second tab (below)  shows the camera settings – ISO, shutter speed, aperture etc. The options that are available here depend on your camera – an SLR will have lots to choose from wheras a point and shoot might have very little if anything.

screenshot-timelapse-2_851

To start capturing images, you just have to set a few values on the timelapse page (e.g. max frames/run time – though leaving these on zero will make it run until your camera/laptop run out of batteries) – then hit start. You can set the camera up using the second tab or just use the camera’s current values (which are the values that get loaded on initialisation). Hit stop when you’re done and your working directory should be full of images. I then use mencoder or ffmpeg to create the video, though I’m thinking of incorporating this stage into another tab. Other things I may add include some HDR creation/tone mapping functions, a preview tab showing a grid made up of captured images, and some re-size/scaling functions. When I’ve ironed out a few minor bugs and added some new functions I’ll probably start a project at Sourceforge.

The weekend before last my friend Sarah threw a big party in a Chapel she’d hired close to Glastonbury in the west of England. At about 2am I decided it would be a good idea to get my laptop, camera and new Gorillapod out and give the program a test drive. After 5 more hours of partying, here’s what I came up with. With hindsight though, the real success is that none of my gear got trashed!

ebenezer_chapel_timelapse_party_on_vimeo

(Btw that’s me in the rabbit ears)

EDIT:

You can download the code via subversion from here:

https://sourceforge.net/projects/gtimelapse/

Compile with ./configure then make then make install. Good luck!

81 Comments

  1. Anyway I could get my hands on this program? I’d love to try it out on my D50! Bugs are no worry to me 🙂

    Let me know if you’re willing. It’d be great! – chris (at) cotbol.com

  2. Sure Chris, I’ll email it to you. Bug reports/feature requests welcome 🙂

  3. Hi is there any chance of getting a copy of this app.
    im running gentoo & kde & have a canon hf100 & a520 to test with.
    thanks

  4. I would love to try your software, for an art project I’m currently working on.

  5. I’m interested too! I’m running some Ubuntu’s, namely the 8th and 9th version, both with Gnome.

    Is it potentially noob proof? Because I am.

    If I can give it a shot, email it here: megahawtspambox@gmail.com
    Thx!

  6. I would love to see this released soon, do you have a date in mind for when/if it might be ready for release?

    I’ve been try’ng to do a few timelapse videos here and it’s AMAZING how little there is out there to do it in Linux.

  7. Ok I finally got round to setting up a Sourceforge project (and learning about automake etc too). You can download the code via subversion from here:

    https://sourceforge.net/projects/gtimelapse/

    Build with ./configure, make, sudo make install etc. If anyone wants to come on board as a developer that’d be great.

  8. I’d also be grateful if I could have a copy. I have experience with timelapse photography and Linux, so I promise to report bugs and suggestions.

    Thanks,

    michal.borsuk@gmail.com

  9. Hi, there don’t seem to be any files in the sourceforge website?

  10. Hi Josh,

    Click on develop and then download via svn:

    svn co https://gtimelapse.svn.sourceforge.net/svnroot/gtimelapse gtimelapse

  11. Hello

    The program won’t compile for me on Ubuntu 9.10. I have the following error:

    then mv -f “.deps/gtimelapse-gphotofunctions.Tpo” “.deps/gtimelapse-gphotofunctions.Po”; else rm -f “.deps/gtimelapse-gphotofunctions.Tpo”; exit 1; fi
    gphotofunctions.cpp: In function ‘int set_config_action(GPParams*, const char*, const char*)’:
    gphotofunctions.cpp:104: error: ‘sscanf’ was not declared in this scope
    gphotofunctions.cpp:122: error: ‘sscanf’ was not declared in this scope
    gphotofunctions.cpp:157: error: ‘sscanf’ was not declared in this scope
    make[1]: *** [gtimelapse-gphotofunctions.o] Error 1
    make[1]: Leaving directory `/home/wojciech/Wojtek/Downloads/gtimelapse/src’
    make: *** [all-recursive] Error 1

    What to do, what to do?

    • Hey there,
      I’m still on 9.04 so can’t really test it.. but it looks like adding this:
      #include
      to the top of gphotofunctions.cpp might work?

      Cheers,
      Tim

      • Argh, wordpress scrubbed the code.. Let”s try again

        #include stdio.h

        (stdio.h should be enclosed in angle brackets)

  12. I don’t think configure is generating the Makefile correctly.

    when I make, it can’t find all-am

    make[1]: Nothing to be done for `all-am’.

    Has enyone gotten this to compile on 9.04?

  13. I’m using 9.04 too and it compiles ok.. I get that “Nothing to be done for “all-am” warning too but the executable should still be in src/ ?

  14. Hey Tim!
    This is great, I remember hacking together a python script to do this a while ago. The GUI is much better. You have posted pictures of the camera setting tab having full control of the camera is this specific to a certain model camera you are using, I’m using a canon G7 and I don’t get the setting displayed…?

    Thanks agian

    -Matt

    • Hi Matt,
      Great, glad you’re making use of it. I had a G7 up until recently and am fairly sure that I got some config options. At the moment I’ve set it up so only options that use a ‘radio’ option are configurable. What happens if you run “gphoto2 –list-config” from the command line? If I do “gphoto2 –get-config=/main/capturesettings/iso” I get
      Label: ISO Speed
      Type: RADIO
      Current: 200
      Choice: 0 100
      Choice: 1 125
      Choice: 2 160
      Choice: 3 200

      etc..

      Cheers
      Tim

        • Matt
        • Posted January 13, 2010 at 5:20 am
        • Permalink

        Hey Tim, the results from “gphoto2 –list-config” are
        /main/settings/owner
        /main/settings/model
        /main/settings/firmwareversion
        /main/settings/time
        /main/settings/synctime
        /main/settings/capturetarget
        /main/settings/capture
        /main/capturesettings/focuslock

        If I do “gphoto2 –get-config=/main/capturesettings/iso”
        I get…
        Label: Capture Settings
        And thats it. When you had your G7 were you able to control the ISO speed etc?

        Thanks.

      • Hmm ok not how I remember it; perhaps there isn’t much you can adjust with the G7. You have to run the get-config command on any of the options that come out of list-config, so e.g.
        gphoto2 –get-config=/main/settings/capture
        etc. Only the options listing a RADIO tag can be modified.

  15. Great work!
    I’m running it on Ubuntu 9.10 32bit with a Nikon D50 and it’s running great!

    Only issue I have is that I can’t resize the window, and there is no scrollbar for camera options… so I can’t see all the options.

    Keep up the good work!

    • Thanks Michael. Yep I’m aware of that issue, I tried to fix it but don’t know my wxWidgets well enough. I’ll have another go when I have some free time.

  16. Hi there, a little update for you regarding fixing the parameters page. I had the same problem initially, and although I do not know wxwidgets, figured I’d have a go.

    Turns out that if you change line 320 of gtimelapse.cpp

    from:

    panel->FitInside();
    //panel->SetClientSize(parent->GetSize());

    to

    //panel->FitInside();
    panel->SetClientSize(parent->GetSize());

    and recompile, the scrollbar with appear allowing you to view all the remaining camera options/settings.

    Thank you very much for this app btw, its great to have!

    R

    • Thanks Richard,
      I remember putting that bit of code in a while back but it didn’t work as expected. Glad it is now, maybe a library version issue. I committed this to subversion.
      Cheers,
      Tim

  17. I will try this program on my eee900 netbook, Ubuntu 10.04. Let’s hope it works with Canon 5d.
    Any plans on adding support for exposure bracketing? I have scanned the hole internet for a Linux solution for exposure bracketing.

    • Hi Stefan,
      Not sure how it’ll work with Canons, but if you setup bracketing in camera on a Nikon you can specify the number of shots that get taken by the program so you can bracket. Should be too difficult to code something up for Canons, but unfortunately I don’t have one to test with! Should work ok on an eee but you might need to change the windows size in the code depending on your screen resolution.
      Cheers,
      Tim

  18. Hi again!
    Now that you got all the hard stuff working fine i might be able to implement support for canon.
    If i do i will of course give you the code. 🙂

    I have some experience with gphoto2 and python. Hope that can take me somewhere 😉

    • Sounds good to me 🙂

      The C++ is fairly simple to follow and it’s not a huge program, so if you wanted to learn, this would be a good place to start.

      Let me know if you want SVN write access (and send me your sourceforge username).

      Cheers,
      Tim

  19. Hello there,
    I believe this is a great project!
    I’m not a linux expert and I want to ask you if there is a way to compile this piece of software and make it easy for users like me to install it on ubuntu.

    Thanks,
    Paul

  20. Hi Tim,

    i was so happy when i saw your timelaps program! i’ve been searching for some GUI timelaps program but without any luck for quite some time.

    i’m having difficulty compiling your program:

    when i type:
    sudo ./configure

    i get this:

    checking for a BSD-compatible install… /usr/bin/install -c
    checking whether build environment is sane… yes
    checking for gawk… gawk
    checking whether make sets $(MAKE)… yes
    checking for g++… no
    checking for c++… no
    checking for gpp… no
    checking for aCC… no
    checking for CC… no
    checking for cxx… no
    checking for cc++… no
    checking for cl… no
    checking for FCC… no
    checking for KCC… no
    checking for RCC… no
    checking for xlC_r… no
    checking for xlC… no
    checking for C++ compiler default output file name… configure: error: C++ compiler cannot create executables
    See `config.log’ for more details.

    i tried make and make install after this but the program is not installed.
    could you point me in some direction what to do?

    P.S. i’m a noob, this is first program i’m trying to compile.

    Cheers mate!

  21. about my previous post.

    i had to install some additional things, but now i’m stuck with some dependencies 😦

    anyway, i hope i’ll be able to try your program in near future!

    Cheers!

  22. Hello,
    I hope this is the place to ask questions and give report for gtimelapse.
    I’ve tried this program and it works on ubuntu 10.04.
    I have few questions:
    When gui starts the xorg porces goes to 86% and gtimelaps proces goes to 70% in cpu usage viewed from top. Which is realy heavy load for program like this, in my opinion. A wanted to ask is this normal?
    When i start the shooting cpu load falls to 0%, and when it finishes, then comes back to values I’ve mentioned before.

    my pc:
    cpu c2d E8400 3 GHZ
    vga – Intel Corporation 82G33/G31 Express Integrated Graphics Controller
    ubuntu 10.04 64bit
    my camera: Canon Power Shot S3 IS

  23. Hi tim, my name’s alex, and i found your app via google searching a way to tether shooting with my canon 1000d and my ubuntu laptop.
    I think that your software is very very useful, works like a charm with my canon camera but i’ve a question, there’s a way to obtain the live preview also shooting in RAW format (.CR2 files)? when i shoot in RAW gtimelapse says me that it doesn’t have the libs to handle this file format. Thank you man, great job!

  24. The only easy-to-use Time Lapse software I could find for Linux… and it’s absolutely great!!!

    I’m using it on Ubuntu 10.4 with a Canon 450D and it works great…

    Thanks mate, you’re awesome!

  25. Hi,

    this seems to be a nice software project. Unfortunately my Pentax K100D Super isn’t supported by libgphoto2 😦

    Greetings from Germany
    DerMicha

  26. Hi, I have this on my eeepc 901 and use a Nikon d90, works fine, I was wondering if you could share how you use mencoder and what kind of interval you used for your video?

    Thanks

    • Hi Chris, I think there should be a script in the src directory with some decent mencoder settings? Ah here we go, will make a 720p HD vid for Vimeo etc:

      mencoder mf://*JPG -vc ijpg -mf fps=8 -vf scale=1280:720 -ovc x264 -x264encopts bitrate=5000:keyint=30 -o timelapse_1280x720_x264_8fps_5000.avi

      • Thank you for such a quick reply and for the program.
        I really like your blog, awesome photos and the little planet tutorial is awesome as well.

  27. Hi tim, sorry for pressing but i’m still searching a way to get working your software with canon raw format and the live preview
    (https://ultrawide.wordpress.com/2009/01/27/timelapse-photography-on-linux/#comment-225) could you help me please?

    • I’ve not really looked into it I’m afraid. If the gphoto2 library can do this I can probably adapt the code. Won’t have any time to look into it for a few weeks as I am emigrating but I will let you know if I manage it.
      Cheers,
      Tim

        • Kyle Rickards
        • Posted April 27, 2011 at 11:02 am
        • Permalink

        Hi

        Great program which I have managed to install – is it possible to use a USB webcam with it?

        Thanks
        Kyle

        • Kyle Rickards
        • Posted April 27, 2011 at 11:02 am
        • Permalink

        Hi

        Great program which I have managed to install – is it possible to use a USB webcam with it?

        Thanks
        Kyle

      • Hi Kyle,

        Check the list of supported cameras on the gphoto website:

        http://www.gphoto.org/proj/libgphoto2/support.php

        All these should be supported.

        Cheers,
        Tim

      • Yep, should work as long as it’s supported by the gphoto library. Check their webpage and the list of supported cameras

  28. thank you tim, so i’ll wait for some updates by you.
    Bye

    alex

  29. Awesome work, managed to get it installed after installing gphoto2 and wxwidget. However I seem to have hit a wall.
    It’s not detecting my Canon 7D.

    I can start it up fine:

    “Detecting camera

    Camera initialised”

    But there’s now controls available in Camera settings only:

    “Retrieve iamges from camera
    Delete images from camera”

    Now if I click capture/or start I get an error:

    “could not capture an image. please check the camera and re-initialise.”

    Back in the terminal:

    “Capture image
    could not capture image: -6
    Check camera and re-initialise.”

    Do I have to have change the setting in the camera?

    Thanks
    Mark.

    • Hi Mark,
      Which version of libgphoto are you using?

      gphoto2-config –version

      The 7D needs version 2 2.4.9.

      Tim

      • Hey Tim,
        I’m running Ubuntu 11.04

        gphoto is: 2.4.10.1

      • Tim Found out what the issue was, the camera was mounted. So un-mounted it and boom it works, Sweet.

        thanks for the help.

  30. Hey…. again.

    Sorry about this, nothing too serious this time 🙂

    The program is working a treat, however I have a small issue, on the camera setting panel I can’t get to all the options. This will be down to the fact I’m using it on a netbook and the max screen is 1024×600. Is there anyway around this?

    thanks.
    mark.

    • Hi Mark,

      Afraid not.. I struggled to fix this but gave up as I usually set everything up in-camera. Have a look in the function CreateParamsPage in gtimelapse.cpp if you want to fiddle.. needs someone with a bit of knowledge about wxWidgets. There’s some dimensions settings in globals.cpp too.

      Tim

      • Not to worry, like you say set it up in camera. Simples 😀

  31. Hi, Tim!

    I’ve installed the program and i’m really looking forward to try it out. But unfortunately, i get a error message when trying to run it:

    ./gtimelapse: error while loading shared libraries: libwx_gtk2u_xrc-2.9.so.1: cannot open shared object file: No such file or directory

    This probably is a Linux problem but i’m hoping you can sort this out for me. I have the library in place (with a symlink pointing to libwx_gtk2u_xrc-2.9.so.1.0.0), and can’tt understand why it can’t be read.

    Hoping for response!

    Christian

    • PS: I have wxWidgets-2.9.1 and gtk+-3.0.0.

      • Hi Christian,

        Strange, it should work. What system are you running? Only thing I can think of off the top of my head is a ‘sudo ldconfig’ if you’ve just installed the libraries or to set LD_LIBRARY_PATH explicitly to include the path to libwx_gtk2u_xrc-2.9.so.1.

        Cheers,
        Tim

        • Christian
        • Posted June 21, 2011 at 12:01 pm
        • Permalink

        Of course:D It worked!

        Thanks for super-quick reply.

        Regards
        Christian

  32. Hi again, Tim! (Sorry for the extremely long message – im just trying to be detailed)

    It seems that one day of waiting for the possibility to extensively try out the program has yielded som trouble. (Wierd! :/) I’m hoping you can help me out. As far as i know the only thing i have done in the meantime is to install mencoder and reboot.

    Yesterday the program detected my Nikon D3100 wonderfully, and i managed to make two quick timelapses, although i got some warnings (number 1 and 3 below). Today however this is what happens when i have my camera connected and run the program:
    1) ./src/common/menucmn.cpp(585): assert “item” failed in Check(): wxMenu::Check: no such item (as yesterday, seemingly not a big deal.) (dialog box)

    When i press continue, this appears in the terminal that i run the program from: (with one linebreak deliberately removed)
    2) Detecting Camera.
    Failed to initialise camera: -105
    Unknown model

    This is exactly the same error i get when i try to start the program without the camera connected. In the meantime, another dialog box appears on the screen (as yesterday, seemingly not a big deal):
    3) /usr/local/include/wx-2.9/wx/dcbuffer.h(225): assert “win->GetBackgroundStyle() == wxBG_STYLE_PAINT” failed in wxAutoBufferedPaintDC(): You need to call SetBackgroundStyle(wxBG_STYLE_PAINT) in ctor, and also, if needed, paint the background in wxEVT_PAINT handler.

    As yesterday, this dialog box reappears when i press continue. But yesterday at least i was able to use the program. Today the buttons appear when i press continue the first time (in dialog box 3), but they remain inactive. The only (apparent) options i have in the ‘Timelapse Settings’ tab is ‘Working directory’, ‘Interval’, ‘Frames per interval’, ‘Maximum runtime’ and ‘Maximum frames’. When i close dialog box 3, the program gui also closes.

    I run ubuntu 10.10 and gnome 2.32.0 on my EeePC 1000H. I’d be very grateful if you could come up with some suggestions.

    Best Regards
    Christian

    • OK. After a whole evening of frustration i can hereby present my finding

      IT WAS THE CABLE!

      Without really noticing it, i used two different cables. Both seemed to connect the camera and transfer data, but there must have been something different between their interfaces of connectivities.

      Sorry possibly bothering you!

      Christian

      PS: The graphical warnings are still present though.

  33. Any tricks to get around:

    * Fatal: gTimelapse requires libgphoto2 >= 2.2.1 to build.

    This is at the end; after ./configure gtimelapse

    on Ubuntu 11.04 and gphoto loaded is 2..4.10-1

    Interested to hear ho Mark got round it, looking forward to get over this!

    • Hi there,

      Make sure you have libgphoto (or maybe libgphoto-dev, can’t remember what that package is called) installed, not just gphoto. That should fix it.

      Tim

  34. Hey there! Nice idea, but I have some problems installing it… after compling everything… I don’t know what to do xD

    A hand will be great here! Thanks.

    Willy

    • Hi Willy,

      After compilation, the executable should reside in src/gtimelapse, so just type that, else navigate there and double click it.

      Cheers,
      Tim

  35. Hello,
    this cool app works so fine, installing was no problem. Did some great work with my Canon 500D. I have a litte wish: could you add the feature to do bulb shots with free to choose Time and perhaps a HDR automatic 😉 Is this possible? I’m no good programmer and even more worse code reader, else I would try it by my own. Thanks!

    • Hi Maria,
      Not sure how bracketing works with Canons but on Nikons you can set it to bracket at e.g. -2,0,+2 EV then the next 3 shots that are taken will capture at those exposures ready for HDR. In gtimelapse I set frames per interval to 3 with bracketing set in camera as described to achieve an HDR timelapse. Is it much different with Canons?

      Cheers,
      Tim

  36. Thanks for this application. I appreciate your efforts. I have the following installed from the repos on Mint 9 Isadora.

    gphoto2 –version
    gphoto2 2.4.5

    Copyright (c) 2000-2008 Lutz Mueller and others

    gphoto2 comes with NO WARRANTY, to the extent permitted by law. You may
    redistribute copies of gphoto2 under the terms of the GNU General Public
    License. For more information about these matters, see the files named COPYING.

    This version of gphoto2 is using the following software versions and options:
    gphoto2 2.4.5 gcc, popt(m), exif, cdk, aa, jpeg, readline
    libgphoto2 2.4.8 gcc, ltdl, EXIF
    libgphoto2_port 0.8.0 gcc, ltdl, USB, serial without locking

    When I attempt to build I get this:

    * Fatal: gTimelapse requires libgphoto2 >= 2.2.1 to build.
    *
    * Possible solutions:
    * – set PKG_CONFIG_PATH to adequate value
    * – call configure with LIBGPHOTO2_LIBS=.. and LIBGPHOTO2_CFLAGS=..
    * – call configure with one of the –with-libgphoto2 parameters
    * – get libgphoto2 and install it:

    Can anyone tell me how to proceed? Thanks for any enlightenment.

    Carl

    • Hi Carl,

      You need to install libgphoto2 (this is different from gphoto2).

      Cheers,
      Tim

        • cdaaawg
        • Posted December 26, 2011 at 7:19 pm
        • Permalink

        Hi Tim,
        Thanks for the quick reply. However, notice that the output for ” $ ghoto2 –version” explicitly states that gphoto2 is using libgphoto2 version 2.4.8. It is indeed installed on the system at /usr/lib/libgphoto2/2.4.8/ as evidenced by the multitude of “.so” files in that directory ($ locate libgphoto2), as well as by examining Synaptic on my Mint 9 distro. Indeed, when running gphoto2 from the command line, everything works like a charm for my D70 dslr (I’ve been using ghoto2 for several years from the terminal). It is only when I try to compile your application that I encounter problems.

        I believe the problem lies in the fact that the build system does not look for libgphoto2 in the proper file system location for this distro. Not being a developer, I am unsure how to direct config or make to the proper file system location for libghoto2.

        I really appreciate your efforts, thank you very much for any enlightenment on this issue.

        Carl

      • Hi Carl, Sorry replied a bit too quick. It needs the dev package – something like libgphoto2-devel – which contains the necessary headers. Should show up in Synaptic.

        Cheers, Tim

        • cdaaawg
        • Posted December 26, 2011 at 9:57 pm
        • Permalink

        Hi Tim,
        I was able to successfully build! For Mint (and possibly for other Ubuntu-based distros) it is necessary to install the developer version of libgphoto2, which is named libgphoto2-2-dev on Mint 9 Isadora (based on Ubuntu 10.04). I have not tested gtimelapse with my camera yet, but wanted to let you know that the build was successful. I will let you know how everything tests out. Hope you have a prosperous New Year! Again, thanks so much for your efforts.

        Carl

  37. ubuntu 11.10 64 bit. Gphoto2 in installed

    insippo@insippo-ThinkPad-E520:~/Videod/gtimelapse$ ./configure
    checking for a BSD-compatible install… /usr/bin/install -c
    checking whether build environment is sane… yes
    checking for gawk… no
    checking for mawk… mawk
    checking whether make sets $(MAKE)… yes
    checking for g++… g++
    checking for C++ compiler default output file name… a.out
    checking whether the C++ compiler works… yes
    checking whether we are cross compiling… no
    checking for suffix of executables…
    checking for suffix of object files… o
    checking whether we are using the GNU C++ compiler… yes
    checking whether g++ accepts -g… yes
    checking for style of include used by make… GNU
    checking dependency style of g++… gcc3
    checking build system type… x86_64-unknown-linux-gnu
    checking host system type… x86_64-unknown-linux-gnu
    checking for gcc… gcc
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ANSI C… none needed
    checking dependency style of gcc… gcc3
    checking for a sed that does not truncate output… /bin/sed
    checking for egrep… grep -E
    checking for ld used by gcc… /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld… yes
    checking for /usr/bin/ld option to reload object files… -r
    checking for BSD-compatible nm… /usr/bin/nm -B
    checking whether ln -s works… yes
    checking how to recognise dependent libraries… pass_all
    checking how to run the C preprocessor… gcc -E
    checking for ANSI C header files… yes
    checking for sys/types.h… yes
    checking for sys/stat.h… yes
    checking for stdlib.h… yes
    checking for string.h… yes
    checking for memory.h… yes
    checking for strings.h… yes
    checking for inttypes.h… yes
    checking for stdint.h… yes
    checking for unistd.h… yes
    checking dlfcn.h usability… yes
    checking dlfcn.h presence… yes
    checking for dlfcn.h… yes
    checking how to run the C++ preprocessor… g++ -E
    checking for g77… no
    checking for f77… no
    checking for xlf… no
    checking for frt… no
    checking for pgf77… no
    checking for fort77… no
    checking for fl32… no
    checking for af77… no
    checking for f90… no
    checking for xlf90… no
    checking for pgf90… no
    checking for epcf90… no
    checking for f95… no
    checking for fort… no
    checking for xlf95… no
    checking for ifc… no
    checking for efc… no
    checking for pgf95… no
    checking for lf95… no
    checking for gfortran… no
    checking whether we are using the GNU Fortran 77 compiler… no
    checking whether accepts -g… no
    checking the maximum length of command line arguments… 32768
    checking command to parse /usr/bin/nm -B output from gcc object… ok
    checking for objdir… .libs
    checking for ar… ar
    checking for ranlib… ranlib
    checking for strip… strip
    checking if gcc supports -fno-rtti -fno-exceptions… no
    checking for gcc option to produce PIC… -fPIC
    checking if gcc PIC flag -fPIC works… yes
    checking if gcc static flag -static works… yes
    checking if gcc supports -c -o file.o… yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries… yes
    checking whether -lc should be explicitly linked in… no
    checking dynamic linker characteristics… GNU/Linux ld.so
    checking how to hardcode library paths into programs… immediate
    checking whether stripping libraries is possible… yes
    checking if libtool supports shared libraries… yes
    checking whether to build shared libraries… yes
    checking whether to build static libraries… yes
    configure: creating libtool
    appending configuration tag “CXX” to libtool
    checking for ld used by g++… /usr/bin/ld -m elf_x86_64
    checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld… yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries… yes
    checking for g++ option to produce PIC… -fPIC
    checking if g++ PIC flag -fPIC works… yes
    checking if g++ static flag -static works… yes
    checking if g++ supports -c -o file.o… yes
    checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries… yes
    checking dynamic linker characteristics… GNU/Linux ld.so
    checking how to hardcode library paths into programs… immediate
    appending configuration tag “F77” to libtool
    checking for POSIX sh $() command substitution… yes
    checking PKG_CONFIG_PATH… empty
    checking for pkg-config… /usr/bin/pkg-config
    checking for dynamic library extension… .so
    checking pkg-config is at least version 0.9.0… yes
    checking for libgphoto2 to use… autodetect
    checking for LIBGPHOTO2… no
    checking libgphoto2 config program… gphoto2-config
    checking for gphoto2-config… no
    configure: error:
    PKG_CONFIG_PATH=
    LIBGPHOTO2_LIBS=
    LIBGPHOTO2_CFLAGS=

    * Fatal: gTimelapse requires libgphoto2 >= 2.2.1 to build.
    *
    * Possible solutions:
    * – set PKG_CONFIG_PATH to adequate value
    * – call configure with LIBGPHOTO2_LIBS=.. and LIBGPHOTO2_CFLAGS=..
    * – call configure with one of the –with-libgphoto2 parameters
    * – get libgphoto2 and install it:

    i do not find libgphoto2 package
    can you help me?
    Thanks

    • Looks like it’s called ‘libgphoto2-2’ now. Check with ‘sudo aptitude search libgphoto’

  38. Just stumbled on this page some days ago and got the program to work on an old eeePC running Peppermint OS. It took me a bit of time to get the required compilation environment installed (andthe correct libgphoto version), but then it compiled nicely and worked flawlessly. I’m particularily pleased about the option to capture multiple frames for exposure bracketing (HDR).
    Just one little flaw I noticed : the interval is in reality longer than what is set on the GUI because it does not take into account the time for taking the pictures and eventually transferring them. For short intervalls and multiple frames taken this can make quite a difference. Not really a problem however, I just do a little test run with a stop watch and correct the time.

  39. I seriously love your blog.. Very nice colors & theme. Did you make this amazing site yourself? Please reply back as I’m looking to create my very own website and want to learn where you got this from or just what the theme is named. Thank you!

  40. Hi. Dumb question, but once I have a folder full of interval photos, how (KDE Linux) would I go about creating the timelapse movie? Everything I’ve tried either results in something unplayable or segfaults (e.g. convert).

    • Hi Sarev,

      Try something like this (from the script in the src directory):

      mencoder mf://*JPG -vc ijpg -mf fps=8 -vf scale=1280:720 -ovc x264 -x264encopts bitrate=5000:keyint=30 -o timelapse_1280x720_x264_8fps_5000.avi

      You’ll probably have to install mencoder and x264 packages.

      Cheers,
      Tim

        • Sarev
        • Posted February 18, 2013 at 6:24 pm
        • Permalink

        Cheers for the advice, I’ll give it a spin! Do you tend to switch your camera into a lower resolution before taking the interval shots (e.g. closer to 720p) to save on encoding time, or doesn’t that really make much difference?

        • Sarev
        • Posted February 18, 2013 at 8:51 pm
        • Permalink

        As an aside, I found a tool (shell script) called “gifblender” which works nicely for creating intermediate frames from the photo sequence, meaning the resulting timelapse movie looks a bit smoother.

        https://github.com/gvalkov/gifblender

        I did this:

        $ mkdir in out
        $ # put all the original shots into “in”
        $ ./gifblender.sh -b -o out -s 5 in/*.JPG
        $ mencoder mf://out/*JPG -vc ijpg -mf fps=16 …..

        Works very nicely, thanks!

  41. Hi Tim, I’m really excited to use your program but it seems I need your help compiling. Running ./configure has completed without errors but running make ends prematurely with this…

    Making all in src
    make[1]: Entering directory `/home/jono/Downloads/gtimelapse/src’
    /bin/bash ../libtool –tag=CXX –mode=link g++ -g -O2 -o gtimelapse gtimelapse-globals.o gtimelapse-gphotofunctions.o gtimelapse-gtimelapse.o -L/usr/lib/x86_64-linux-gnu -pthread -lwx_gtk2u_unofficial_xrc-3.0 -lwx_gtk2u_unofficial_webview-3.0 -lwx_gtk2u_unofficial_html-3.0 -lwx_gtk2u_unofficial_qa-3.0 -lwx_gtk2u_unofficial_adv-3.0 -lwx_gtk2u_unofficial_core-3.0 -lwx_baseu_unofficial_xml-3.0 -lwx_baseu_unofficial_net-3.0 -lwx_baseu_unofficial-3.0 -L/usr/lib/x86_64-linux-gnu -pthread -lwx_gtk2u_unofficial_xrc-3.0 -lwx_gtk2u_unofficial_webview-3.0 -lwx_gtk2u_unofficial_html-3.0 -lwx_gtk2u_unofficial_qa-3.0 -lwx_gtk2u_unofficial_adv-3.0 -lwx_gtk2u_unofficial_core-3.0 -lwx_baseu_unofficial_xml-3.0 -lwx_baseu_unofficial_net-3.0 -lwx_baseu_unofficial-3.0
    g++ -g -O2 -o gtimelapse gtimelapse-globals.o gtimelapse-gphotofunctions.o gtimelapse-gtimelapse.o -pthread -pthread -L/usr/lib/x86_64-linux-gnu -lwx_gtk2u_unofficial_xrc-3.0 -lwx_gtk2u_unofficial_webview-3.0 -lwx_gtk2u_unofficial_html-3.0 -lwx_gtk2u_unofficial_qa-3.0 -lwx_gtk2u_unofficial_adv-3.0 -lwx_gtk2u_unofficial_core-3.0 -lwx_baseu_unofficial_xml-3.0 -lwx_baseu_unofficial_net-3.0 -lwx_baseu_unofficial-3.0
    gtimelapse-gtimelapse.o: In function `MyFrame::DetectCamera(wxCommandEvent&)’:
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:522: undefined reference to `gp_camera_exit’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:528: undefined reference to `gp_camera_new’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:533: undefined reference to `gp_camera_init’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:537: undefined reference to `gp_result_as_string’
    gtimelapse-gtimelapse.o: In function `display_widgets(wxPanel*, _CameraWidget*, char*)’:
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:119: undefined reference to `gp_widget_get_label’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:120: undefined reference to `gp_widget_get_name’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:121: undefined reference to `gp_widget_get_type’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:129: undefined reference to `gp_widget_count_children’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:142: undefined reference to `gp_widget_get_type’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:143: undefined reference to `gp_widget_get_label’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:187: undefined reference to `gp_widget_get_child’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:149: undefined reference to `gp_widget_get_value’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:151: undefined reference to `gp_widget_count_choices’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:162: undefined reference to `gp_widget_get_choice’
    gtimelapse-gtimelapse.o: In function `initialise_camera(wxPanel*)’:
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:203: undefined reference to `gp_camera_new’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:208: undefined reference to `gp_camera_init’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:212: undefined reference to `gp_result_as_string’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:233: undefined reference to `gp_camera_get_config’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:237: undefined reference to `gp_widget_free’
    gtimelapse-gtimelapse.o: In function `MyFrame::CaptureImage()’:
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:595: undefined reference to `gp_camera_exit’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:588: undefined reference to `gp_camera_capture’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:622: undefined reference to `gp_file_new’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:627: undefined reference to `gp_camera_file_get’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:633: undefined reference to `gp_file_save’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:661: undefined reference to `gp_camera_file_delete’
    /home/jono/Downloads/gtimelapse/src/gtimelapse.cpp:668: undefined reference to `gp_file_unref’
    gtimelapse-gphotofunctions.o: In function `gp_params_init(_GPParams*)’:
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:15: undefined reference to `gp_camera_new’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:16: undefined reference to `gp_context_new’
    gtimelapse-gphotofunctions.o: In function `find_widget_by_name(_GPParams*, char const*, _CameraWidget**, _CameraWidget**)’:
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:23: undefined reference to `gp_camera_get_config’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:25: undefined reference to `gp_widget_get_child_by_name’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:27: undefined reference to `gp_widget_get_child_by_label’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:45: undefined reference to `gp_widget_get_child_by_name’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:47: undefined reference to `gp_widget_get_child_by_label’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:60: undefined reference to `gp_widget_free’
    gtimelapse-gphotofunctions.o: In function `set_config_action(_GPParams*, char const*, char const*)’:
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:79: undefined reference to `gp_widget_get_type’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:84: undefined reference to `gp_widget_get_label’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:151: undefined reference to `gp_widget_set_value’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:185: undefined reference to `gp_widget_free’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:181: undefined reference to `gp_camera_set_config’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:94: undefined reference to `gp_widget_set_value’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:102: undefined reference to `gp_widget_get_range’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:115: undefined reference to `gp_widget_set_value’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:129: undefined reference to `gp_widget_set_value’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:138: undefined reference to `gp_widget_count_choices’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:147: undefined reference to `gp_widget_get_choice’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:162: undefined reference to `gp_widget_get_choice’
    /home/jono/Downloads/gtimelapse/src/gphotofunctions.cpp:164: undefined reference to `gp_widget_set_value’
    collect2: error: ld returned 1 exit status
    make[1]: *** [gtimelapse] Error 1
    make[1]: Leaving directory `/home/jono/Downloads/gtimelapse/src’
    make: *** [all-recursive] Error 1


10 Trackbacks/Pingbacks

  1. By Simple time lapse video in Linux | cenolan.com on 10 May 2009 at 4:24 pm

    […] shots and string those together into a movie. Tim Nugent published a teaser of some nice looking time lapse software he wrote but as yet there is no published source or binary. There were various other suggestions […]

  2. […] los usuarios de Linux, en esta página tenéis un tutorial en el que se os muestra cómo hacer los […]

  3. […] Via | Ultrawide […]

  4. […] e tutto quello che un software di fotoritocco ti consente di fare.Il secondo invece si chiama GTimeLapse è un tool scritto in GTK che si appoggia a libgphoto e le WxWidgets per collegarsi via usb alla […]

  5. […] secondo invece si chiama GTimeLapse è un tool scritto in GTK che si appoggia a libgphoto e le WxWidgets per collegarsi via usb alla […]

  6. […] that today was a good day to check the status of linux and timelapsing. A quick google gave me gTimelapse which should allow my to use my dSLR as a timelapse camera. This would give me two advantages over […]

  7. […] tricky to get it working. As i said i wanted something simple and instantaneous. There were some scripts for Linux as well but none good […]

  8. By Timelapse: drawing | tedmajor.net on 04 Aug 2012 at 6:51 pm

    […] with gTimelapse and OpenShot to create a time lapse video with my dad’s camera (mine won’t play nice […]

  9. […] on creating time lapse videos in linux are http://ubuntuforums.org/showthread.php?t=2022316 and https://ultrawide.wordpress.com/2009/01/27/timelapse-photography-on-linux/.  CyberAngel’s post on ubuntuforums is really awesome because he was kind enough to release […]

Leave a reply to WOjtek Cancel reply