Skip to content

Request: Time lapse

edited July 2018 in SecuritySpy
Hi,

I would just love to be able to do time laps videos from my cameras. To make a movie over a year would be really nice!
I recently bought an new 3D-printer and the possibility for time lapse would be great there to.

Regards
Michael

Comments

  • Ohh, sorry, was in a hurry (don't know for what).

    It would be great to be able to store it at an separate place than the other video files, so that it wouldn't get deleted by misstake.
  • BenBen
    edited October 2019
    SecuritySpy can capture timelapse movies - for more information, see this FAQ: How can I capture Timelapse movies using SecuritySpy?.

    However the way that SecuritySpy organises files is not ideal for such long timelapse recordings. SecuritySpy organises files into "day folders" - one per day that holds files from that day. With the right settings, SecuritySpy will capture a multi-day movie, however if you have to quit/reopen SecuritySpy or restart your Mac for any reason, then multi-day recordings will be split up into separate movie files in their respective day folders. This just means that you may have to then join these segments together in some video editing software afterwards.

    Another option is to get SecuritySpy to capture still images files, and then compose these afterwards into a timelapse movie. If it helps, I can explain how to bypass the day folder setup and have all these files captured to the same folder, which will make it easier to process into a movie at the end.

    For the camera that is doing the timelapse recording, you can choose a particular destination via the "Capture destination" control under Preferences -> Cameras -> Setup.
  • "Another option is to get SecuritySpy to capture still images files, and then compose these afterwards into a timelapse movie. If it helps, I can explain how to bypass the day folder setup and have all these files captured to the same folder, which will make it easier to process into a movie at the end."

    Yes please :)
    Just to be clear; This way you talk about let's me forget about the computer for months and it just continues to take snap shots even though I have set SecuritySpy to auto delete files after 5 days?

    I would very much appreciate that.
  • OK, here's how to do it:

    Firstly, you will need to use the latest beta version of SecuritySpy (currently 4.2.7b2), as this has a new feature to run a script for each captured file. We will use this script to copy all new JPEG files created by SecuritySpy for a particular camera into a single new folder, which won't be subject to the automatic deletion rules.

    The below assumes that SecuritySpy is capturing to the default location on your startup drive (~/SecuritySpy/Captured Files/) and that the location of the new folder where you want the files to accumulate is also on your startup drive (e.g. ~/SecuritySpy/TimeLapseImages/). It's fine to use a different drive, but it's important to make sure that both locations are on the same drive, otherwise this won't work (but you can tweak it to copy rather than move the file if you so wish, in which case it would work across different drives).

    Firstly, set the date format to "Year/Month/Day" under Preferences -> General, as then the chronological order of the files will be reflected by the alphabetical order, and it will therefore be easier to compose the files at the end of the timelapse.

    Open Script Editor (you'll find it in /Applications/Utilities/), and copy and paste the following script:

    on run args
       set cameraNum to item 1 of args as number
       set filePath to item 3 of args as string

       if cameraNum is equal to 0 and filePath ends with ".jpg" then
          tell application "Finder"
             move (filePath as POSIX file) to POSIX file "/Users/xxx/SecuritySpy/TimeLapseImages"
          end tell
       end if
    end run

    If your camera number is not 0, change it in the script (check the Camera Info window in SecuritySpy to get the actual camera number).

    Also make sure to substitute in the correct user name instead of xxx above, and make sure to create the TimeLapseImages folder within your SecuritySpy folder.

    Then, save this script with the name "ProcessCapturedFile" at the location ~/SecuritySpy/ (i.e. within the SecuritySpy folder within your Home folder).

    In SecuritySpy, enable the "Capture images continuously" feature under Preferences -> Cameras -> Continuous Capture. Then apply the settings and arm Continuous Capture mode for the camera (e.g. by right-clicking on the camera's video image and setting the schedule for Continuous Capture to "Armed 24/7").

    If all has been set up correctly, you should now see the individual JPEG files collecting in the TimeLapseImages folder within the SecuritySpy folder at the rate you have specified.

    As you will be leaving this alone for months, I'd also recommend implementing the recommendations outlined here: Setting up SecuritySpy for autonomous operation, and also perhaps enable the feature in the General Preferences to email you daily statistics, as this gives you a quick confirmation every day that things are working as they should.

    Hope this helps, let me know if anything isn't clear!
  • You show a very high level of devotion, much appreciated. (And very rare in my experience)

    I will however need some time to see if I can manage this on my own.

    Have a nice day!
  • edited July 2018
    Now I have followed your instructions and I think I managed, tomorrow will tell.

    I have som questions though,
    I set it to take one picture a day.
    If I arm continuous capture att 12 o'clock, will it then capture an image at 12 o'clock each day?
    If this is true, what happens when I restart my computer at 8 o'clock one day?
  • Are you sure you want to take only one picture per day? You will then only have 365 images in a whole year, and if you compose this into a movie at 30fps it will only be 12 seconds long.

    Anyway, the timing of captures can be mediated via a combination of the continuous image capture frequency and schedules, which determine which times of the day/week the camera is armed (and therefore capturing).

    For example, to capture one frame every 10 minutes, all the time, then you would specify 600 as the continuous image capture frequency, and have the camera Armed all the time.

    To do what you want - one frame at midday every day - this requires a slightly different setup. In this case, set the continuous capture frequency to 3600 (one image per hour), and set up a schedule that activates the camera for 10 minutes (the minimum duration allowed by schedules) every day at midday, like this:

    image

    Then apply the schedule to the camera (e.g. right-click on the camera's video image and select your schedule for continuous capture).

    Then, as long as SecuritySpy is actually running at midday, no matter when you actually started it, it will capture one image exactly at midday.

    Another option that I have seen people implement that leads to pleasing results is to take a burst of images per day. For example, you could set the continuous capture frequency to 600 (one frame every 10 minutes), and set the schedule to activate the camera for one hour at midday. Then you will get 10 frames per day taken of the course of this hour. When composed at 30fps at the end of the year, this will give you a 2-minute movie that should have a rather nice effect.
  • Thanks a bunch for good ideas and screenshots.

    I now get an image 12 o'clock each day, just as I wanted. But it is placed in same folder as the videos and the TimeLapse folder I created is empty.

    I also tried putting the script in the folder 'Scripts' in SecuritySpy folder but no change.

    Maybe my camera isn't 0? How will I know, I can't find an reference anywhere, but I currently only have one camera setup in SecuritySpy so I guess that makes it number 0?
  • So there is some issue with the script. The script must be named "ProcessCapturedFile.scpt" (the .scpt file extension should have been added by Script Editor automatically) and it must be in the SecuritySpy folder within your Home folder (NOT in the Scripts folder, as this is for Scripts that get triggered upon motion detection).

    As for the camera number, you get this from the Camera Info window in SecuritySpy. If you don't see the camera number column, click on the header bar (where you see the column names) and you get a popup menu that allows you to add/remove columns.

    Also make sure that the path in the script for the destination folder for the files is correct, and that this folder actually exists on your drive.
  • No luck. My camera is number 0.

    This is a copy of my actual script;
    on run args
    set cameraNum to item 1 of args as number
    set filePath to item 3 of args as string

    if cameraNum is equal to 0 and filePath ends with ".jpg" then
    tell application "Finder"
    move (filePath as POSIX file) to POSIX file "/Users/sw3De/SecuritySpy/TimeLapseImages"
    end tell
    end if
    end run

    The script file is in the SecuritySpy folder where I also have a folder named TimeLapseImages.
  • Strange, it sounds like you have set up everything correctly. Are you sure you are using the latest beta version of SecuritySpy?

    Please email us and include screenshots of:

    - The script
    - The "About SecuritySpy" window (available from the SecuritySpy menu after you open the software) showing the SecuritySpy version number
    - The Camera Info window showing the camera number
    - The contents of your SecuritySpy folder

    To capture a screenshot, press command-shift-4 and select the area you want to capture. A file called "Screen shot" will appear on your desktop.

    Thanks.
  • Oh crap!
    I didn't have latest beta.

    Really sorry about this!
    If you don't hear from me again it all worked fine, if it did not I will mail you screenshots.

    Thank you for your patience.
  • OK, I hope this will be the solution!
  • Just confirming that it works perfect!

    Thank you!
  • Great to hear that!
Sign In or Register to comment.