Videolapse Me

Let the camera create time-lapse AVI files triggered on any camera event and user defined playback rate.  The recordings are stored on the cameras SD Card or mounted Network share.

Use-cases:

  • Easy video forensic search e.g. time-lapse video of all motion triggers
  • Construction site progress monitoring
  • Monitor seasonal changes
  • Warehouse stock monitoring

Features:

  • Up to 5 simultaneous recording profiles
  • Use any camera event to trigger image capture
    Note: A camera recurring timer must be created for time-lapse video
  • User selectable recording playback rate from 3 to 60 fps (frames per second)
  • Download MJPEG AVI files from the user interface at any time without disturbing the ongoing recording
  • Frame Inspection interface to step/view individual captures.
  • Ability to automatically archiving recordings to split them on days, weeks or months.  This reduces keeps recordings to a manageable size and duration.
  • Archive retention period to prevent filling up the storage of old archived recordings.
  • Malfunction detection events that can be used to notify operator/administrator
  • Ability to extract individual JPEG image from ongoing recordings (via API or Frame Inspect interface

Known limitations:

  • No support for corridor/portrait image rotation

Requirements:

  • Axis camera based on ARTPEC 4/5 (MIPS) or AMBARELLA (ARM)
  • Camera FW 5.60 or later
  • Mounted SD Card or Network Share

Download (ZIP-file containing both ARTPEC & Ambarella version)

31 comments

  1. A demo or how to on Videolapse Me would be awesome. We’d like to see how it work with a motion event when something moves across the screen.

    Like

    1. I currently do not have any good examples to share as the one I have all have privacy issues. I will see if I can provide some nice recordings or possibly add blurring to the recordings I have.

      When Videolapse Me is configured to trigger on motion, it captures an image every time the motion state goes high. It does not capture during active motion. The result is a video of individual frames every time the motion is triggered. When the recording is played back it is more like a fast-forward, showing one frame of each activity. The resulting video is a very quick way to spot unusual activity, person or car – depending on environment.

      If you need video recordings from each activity you need to set that up using e.g. the cameras Edge Storage recording or a Video System Manager. Videolapse Me is not replacing normal video recordings.

      However, it is possible to configure Videolapse Me to capture images at a given time interval during active motion. You would need to use Aggrevent Me to produce an event that combines the motion event with a recurring timer and then use the new event to trigger Videolapse Me captures.

      Like

      1. Thanks for the reply.

        We use Axis’s Crossline application as a trigger and save 12-16 images per trigger. The files are saved to the SD card using the cameras ftp. We only want a series of pictures, no video. Is this something that Videolapse can do?

        We are looking for an alternative method of saving images because unlike the previous models of Axis’s cameras model P3354 fails to reliably save images.

        Like

        1. Yes, it is possible to use Videolapse Me as a “JPEG recorder”. The application has a feature called frame inspect. This will allow you to review individual frames by clicking the frame link in the Recording tab. Install the ACAP play with it and see how it works.

          The frame inspect feature uses the API to export individual images. This API provides a way to create client solutions.

          The syntax to export a specific frame as JPEG is:
          http://CameraIP/local/videolapseme/recordings?frame=ProfileID&index=X

          index=X selects the frame and starts with index 0 for the first image. You also need to know which ProfileID a specific recording is using (Thumbnail, QVGA, VGA, SVGA or HD720P).

          Example: Assume you are using the VGA profile and want to get the second frame as JPEG, type the following in the browser URL
          http://CameraIP/local/videolapseme/recordings?frame=VGA&index=1
          This should give you the JPEG. Depending on which browser you are using you should either see the image or the browser will ask to open it or store it.
          The filename will be VGA_0001.jpeg. Maybe the filename should contain the timestamp (possible future improvement).

          You may need to know how many frames a recording has. In order to get this you can list recordings with the following syntax.
          http://CameraIP/local/videolapseme/recordings
          This will reply an JSON data array of all recordings and includes a property that states the amount of frames in each recording.

          If you would like to know the timestamp of a specific frame you can use the following API:
          http://CameraIP/local/videolapseme/recordings?timestamps=profileID
          This will reply a JSON array of timestamps, each corresponding to a frame index.

          Using the browser may not be an optimal application solution. In order to make it more usable you need some kind of application that integrates the API. Or have some kind of script that extracts images.

          Like

    1. The download link seems to be work fine and the ZIP-files extracts. I do cannot reproduce the error you see. Please try again and send any additional info to admin@acapshare.com.

      Please check following
      – Are you trying to install the correct EAP-file (ARM or MIPS)?
      If one file does not work, try the other.
      – is your camera FW 5.60 or later?

      If the above does not work please provide error message.

      Like

  2. Hi! I have installed Videlapse me on a P165 camera. It runs, but I am i novise on this. I have made an event that makes a 1 second vidoe/x-h264 file, framerate 25 FBs and resolution 1920×1080 pixels. The event are as follows: Name: Timelapserule 2, Trigger: Time, Recurrence, Timelapse 24(1T) wich is every hour. Schedule 24t. Actions: Record video, stream profile: Quality. Duration: Checked on Post-trigger time 1 second. Storage SD-card. I have a few questions. Is my actions OK. Why cant a check While the rule is active? How long should the duration be (This is a Construction site)? Should I record anything else then H264?. And I also need to now how do i download all recordings at once, and how do I make a Movie out of it?

    Like

    1. It sounds like you are mixing up the cameras Action Rules/Edge Recording and Videolaps Me. Videolapse Me uses the SD-Card but not the cameras Action Rule or Video recording. Or, you have not yet opened the user interface for VideoLapse Me (http://camera-ip-address/local/videolapseme/index.html)?

      If you want to make a time-reccuring image capture you need to set up a Recurring timer in the camera. You can have multiple timers (e.g. 1/s and 1/h). Give the timers a descriptive name like “Every_Second” or “Every_Hour”.

      Once the timers are defined go into Videolapse Me tab “Event Capture”, select you prefered profile and Event (in this case Time | Timer | Every_Second). Note that these profiles are not related to the cameras video profiles. If you want to adjust the profile settings, go to the tab “Profiles”. Once the Event Capture rule is defined and active VideoLapse Me will start generating an AVI file. You will see these recordings under the tab “Recordings”. You can change the playback rate prior to downloading the recording.

      I hope this helps.

      Like

      1. Thanks! This Works fine. I now have a few more questions. I want one of the profiles to take one Picture each day and I have made a recurring timer for that. How can I decide at what time of the day the Picture is taken? Another question. I have made a recurring timer for every hour, but I dont want Pictures at night when it is dark. Is it possible to set up a time-schedule? like monday to Friday, 0700-2100 or anuthing else.

        regards

        Like

  3. Now we are getting into more complex event/schedule configuration. In order to create variations during the day you need to combine multiple events. This is the reason I developed Aggrevent Me. It is a service that can aggregate multiple events to one event. If you combine a scheduled stateful event (0700-2100) with a recurring puls event you can create a new event that will puls only during the stateful event. Take a look and install Aggrevent Me.

    Tip: As the sun rise/set changes over the season you may want to adjust capture on that. Using Daybreak Me to control when the pulses should start/stop will give you a better light control than using a fixed schedule.

    Like

    1. Thanks!
      Lets try the easiest path first. Aggrevent me. I have made a schedule called “Daylight_sch” like this: daily, start time: 06:00, end time: 18:00. Days: mon to fri. In aggrevent me, Event info, name: Daylight_agg_event. Event conditions: What do I do here? I tried Time, Schedule;Daylight_sch, active. And then pushed Send event. Then in Timelapse I made a prifile called Daylight_profile. Then Add capture event. Prfile: Daylight_profile, Event: Time, Schedule, Daylight_sch, active. This should start a recording, but I could not choose wich timer event. I want the Every_hour timer. Where do I og wrong?

      Like

    2. Hi!

      I have run the Videolapse me together with Aggrevent Me for about a year. I have had some issues. The recordings stops With no warning. There is plenty of Space on the SD card. The live stream from the camera is up and running. To start the recordings again I have to restart the camera. Why? Is there a way to automaticly restart the camera once a week or so?

      Then to a different question. I have installed a new camera and I want to use daybreak me to only get Pictures in daylight.
      Here is what I want:
      1 Picture every hour in daylight time.

      I cannot figure out how the aggrevent me should be setup. I have made it like this:
      Event conditions: Time/Timer/every_hour (current state is: stateless)
      Line 2: Add-ons, Daybreak Me, Day, Active (current state is low even if it is daylight)

      Go inactive:
      No boxes are checked

      Then I sent the event

      In the Videolapse Me the event capture is like this:

      Profile: HD1080p
      Event: ACAP Add-on, Aggrevent Me, Daylight (The event name from Aggrevent Me)

      The daybreak Me app is running fine.

      What do I do wrong?

      regards
      Lars

      Like

      1. Issue #1 – Recording stops. Can you see anything in the camera log? There are two excpetions events that you could monitor (e.g. via Action Rule – Email notification triggered by either one). One is called Edge Storage Disruption (camera event) and the other is Capture Error (Videolapse Me). The first event is triggered if the edge storage (SD or NAS) disconnects or unmounts. The second triggeres when Videolapse Me could not capture image or store it on the SD (or NAS).

        Issue #2 – Daytime. It sounds like you’ve configured Aggrevent Me correctly. I assume you use the aggregated event to trigger capture. I also assume that you are not using the S1-version of Daybreak Me that does not support a stateful daytime event. Please check logs and see if you find any suspisios message. If you do find messages that indicates problem you are welcome to send it to me. admin(at)acapshare.com.

        Like

  4. 1. In the camera, setup up a schedule, e.g. 06:00-18:00
    2. In the camera, set up a recurring timer, e.g. 1 every minute
    3. In Aggrevent Me, add/combine shcedule and timer to one event (call it “Daytime Pulse”)
    4. In Videolapse Me, trigger on “Aggrevent Me | Daytime Pulse”

    Like

    1. Interesting question. It sounds like you are building some Web-app (or similar) around this service.

      There is no index ID to represent the last frame. You would first need to list recordings by HTTP GET …/videolapseme/recordings that will give you a JSON list of recording objects data. Use the frame property (number of frames) as the index for the last image. I have currently no access to the code and do not remember if I use index 0 as the first frame or index 1. I think the first alternative as I tend to use internal counter logic, not API/user logic.

      So, to get the last frame as JPEG you request
      http://CameraIP/local/videolapseme/recordings?frame=VGA&index=numberOfFrames-1

      Like

  5. Hello,

    Could somebody tell me what is the following error message and why I have it, if I can make a continuous recording on the current SD card?

    “2016-02-19T21:13:00.995+01:00 axis-accc8e5419b3 [ CRIT ] videolapseme[1337]: avi_open: /var/spool/storage/SD_DISK/videolapseme/HD720P.avi could not be created. Check storage device
    2016-02-19T21:13:00.995+01:00 axis-accc8e5419b3 [ CRIT ] videolapseme[1337]: capture error: Could not open HD720P.avi”

    I can record me timelapse video only on my NAS storage.

    Thanks!

    Like

    1. I am trying to interpret your issues correctly. It sounds like you have both SD Card and a Networkshare (NAS) mounted to the camera and you are able to record to Edge Storage (normal camera recording) on both devices. You can create VideoLapse Me recordings on the NAS but when you select SD Card as the storage device it does not work and you get log errors. Is this correct?
      What do you see if you use your browser on the following URL
      http://camera-ip/admin-bin/editcgi.cgi?file=/var/spool/storage
      Can you go into both directories “SD_DISK” and “Networkshare”?

      Like

      1. Hi,

        Yes, it is true. At the first time I mounted only the SD card on my new P1435-LE, because in the last some days I tried another camera (P3225-LV) with the network shared storage and I could make some good TimeLapse video. So I would have liked to set up the P1435-LE with the SD card only. But there was no thought that I could have any problem with another storage. After when I got this problem with the “VideoLapse Me” recording, I tried to check the SD card in the camera, so I started to write another stream to the memory card. I set up the continuous recording, but I didn’t have any problem with it. During the test I tried to restart the VideoLapse Me application in the same time, but there was a failure message again. I can’t imagine what is the real problem in the background, because the SD card and the card writing function is good.

        I opened your link, as http://camera-ip/admin-bin/editcgi.cgi?file=/var/spool/storage, but I could find only the following,

        Directory: /var/spool/storage

        drwxr-xr-x 4 storage storage 80 Feb 20 21:31 .
        drwxr-xr-x 5 root root 100 Dec 3 10:07 ..
        drwxrwxr-x 3 storage storage 60 Feb 20 21:31 areas
        drwxrwx— 4 storage storage 4096 Feb 19 10:04 SD_DISK

        How can I solve this problem, do you have any idea? It is a very important question for me, because I have to start a TimeLapse recording from the first days of the next week on a construction area.
        So please help me, if you have any idea!

        Many thanks,

        Balint

        Like

  6. Hi,

    I uninstalled the VideoLapse Me application and then reformat and remount the SD card. The next step was the reinstallation of the VideoLapse Me and now I can use the SD card under the exact application.

    Thanks for your help!

    Balint

    (My last question, will you have any new version of VideoLapse Me application in the near future?)

    Like

  7. Hi,

    Now I can use my VideoLapse Me app very well… It’s a good news for me! But may I have some other question? I’d like to use some different timing (recurrencies). I’d like to shot some picture in every 5 and every 15 minutes. But in the VideoLapse Me application I can set only one option, the “Timer”. How can I set my request to use every 15 minutes in VideoLapse Me and I use every 5 minutes to take some picture in Axis “one shot setting”? And how can I change the scheduled operation, because I’d like to use the TimeLapse app only from 6 to 9?
    (My task would be to I have to make a TimeLapse video on a construction area from first days of March till end of May. I need a setting which can record the TimeLapse video from 6am to 9pm with “15 minutes shooting”. But for a backup in the same time I’d like to take a photo in every 5 minutes in the same operation time from 6am to 9pm to prepare the datas for anybody to make anything in the future.)
    Could you help me in this question?

    I’m waiting for your reply ASAP (here or in email),

    Many thanks,
    Balint

    Like

  8. Here is my solution proposal.
    1. Go in to the camera Setup | Event | Schedule and create a schedule e.g. 9am to 9pm
    2. Same as #1 but create a recurrance timer e.g. every 5 minutes
    3. Install and start Aggrevent Me (see the posts on this blog)
    4. Configure Aggrevent Me to combine the schedule and timer (#1 and #2)
    5. Configure Videolapse Me to trigger on the Aggrevent Me event.

    Like

  9. Hi,

    It is sure that I’m clumsy or too tired… But I can’t find the good setting to set up your instruction.

    Schedule Setup
    Name: Construction act.
    Type: Daily
    Start: 06:00
    End: 09:00
    Days: Monday to Saturday

    Recurrences
    Every 20 minutes

    Application Packages
    Aggrevent Me v1.2 … running
    VideoLapse Me v2.4-1 … running

    in Aggrevent Me
    Event info:
    Name: Aggrevent Me
    State: stateless

    Go active condition:
    Event condition
    Time/Timer – stateless (current status)
    Time/Schedule/Construction act. (low status)

    Go inactive:
    disabled every function

    in VideoLapse Me
    Event capture:
    Image capture – active
    Profile: 1080p
    Event: ACAP Add-on
    Aggrevent Me
    Aggrevent Me

    But I tried the aggrevent app too with

    Go active conditions:
    Time/Timer

    Go Inactive:
    On even Time/Schedule/Construction act. enabled option,

    but unfortunately I can’t prepare the good operation with it. (There was an option in aggrevent me sometimes state: high or low, what is this option?)

    Is it possible to write the good config in these applications to help me at last? 🙂

    Many thanks for your help and have a nice day,

    Best Regards
    Balint

    Like

  10. I set up Videolapse mei conjunction with Aggrevent me to record a 2592×1944 pic every 30 sec between 6am and 7pm. on a P1357 camera. Initially I had run into the avi 2gb file limit, but broke with aggrevent me, the daily file size is within that limit. Is there a way around that limit?

    I set it up to archive the recording every day. The problem is, the previous archived file is getting dumped. Here is the log file:—– Contents of SYSTEM_LOG for ‘videolapseme’ —–

    2016-09-03T10:19:14.865-04:00 axis-00408ce80a8b [ INFO ] videolapseme[0]: starting videolapseme
    2016-09-03T10:19:15.304-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: —————- VideoLapse Me —————-
    2016-09-03T10:19:15.653-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/info
    2016-09-03T10:19:15.654-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/profiles
    2016-09-03T10:19:15.664-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/events
    2016-09-03T10:19:15.696-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: Storage device updated to SD Card
    2016-09-03T10:19:15.730-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/settings
    2016-09-03T10:19:15.731-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/recordings
    2016-09-03T10:19:15.733-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/archive
    2016-09-03T10:19:15.747-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/eventactions
    2016-09-03T10:19:15.757-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: http path /local/videolapseme/api
    2016-09-04T00:00:02.352-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: Daily archiving of HD720P
    2016-09-05T00:00:01.350-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: Daily archiving of HD720P
    2016-09-06T00:00:01.352-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: Archive retention clean-up: HD720P/HD720P_1969-12-31_0days_10fps.avi
    2016-09-06T00:00:01.796-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: Archive retention clean-up: HD720P/HD720P_2016-09-03_0days_30fps.avi
    2016-09-06T00:00:01.805-04:00 axis-00408ce80a8b [ INFO ] videolapseme[1418]: Daily archiving of HD720P

    Is there a setting I can can change via script? I don’t want any “Archive retention cleanup”.

    Also, Im using a sandsk 128gb card.

    thanks,

    Mike

    Like

    1. Also, there is an empty mystery file with a date of 12-31-1969.that shows up in the archive. I have no other event captures set, or any I had deleted. I have already deleted the apps, rebooted, and did a clean install.

      Like

      1. There seems to be some timestamp bug triggered by some time-diff calculationa and poor exception handling. I have seen this myself on a few occasions in my own setup that has been running for a couple of years. I am not sure if the result is just an annoying ghost file or if it impacts the recordings negativley. As I have not seen any real negative impact myself I have not put any effort into investigaton.

        Like

    2. The 2GB is due to the AVI container format selected. I do not think I will get the time to change/update.

      The overwrite is most likley a bug related to timestamp and selected file name convention. The use case of every day archiving is not fully tested.
      One possible workaround would be to have som external script move the file from the archive directory /var/spool/storage/SD_DISK/videolapseme/archive/_profile_/file.avi and run this ecript every day @ 00:05. By installing PHP Me you could get a PHP script, (triggered by a daily occurance event, to curl the file to some other network resource.

      Like

  11. It’s not really overwriting. It’s doing a “Archive retention clean-up” Simply dumping the files in the archive i minute after 00 hours. The “archive retention” setting is therefore meaningless.

    Like

    1. OK, its is most likely the file name convention (date) combined with timing flaw around 00:00 when using one-day archiving. My auto-archiving works well but I use minimum a week or a month depending on capture rate. If you had use two days it may have worked. Sorry for not testing the one-day archiving better. I will see if I can get some time to look at it.

      Like

      1. I did that and it seems to be working, thanks. I’m not a programmer, but is there a way to map the sd card as a drive from server 2008 r2 and possibly over the internet? I would like to have direct access as if it were a local drive. thanks in advance.

        Like

        1. I would suggest to mount a network share instead of using SD Card. Create a share on some Windows machine and then go to [Camera | Setup | System Options | Storage Network Share]. Make sure that you select the Network share in Videolapse Me interface. The recordings is then stored on the share and may be accessed with a Windows client (local access). Remote access to files is a bit trickier. One option is to port-map port 21 on the router to the cameras port 21. This will allow remote FTP to the SD Card using ftp:///var/spool/storage/SD_DISK/

          Like

Leave a comment