Timelapse with still images?

I would like to produce higher quality timelapse videos.

Currently I'm using the RaspiCam v2 with this option:
camera_raspi_options="-x 1640 -y 1232 -fps 10 -quality 95"

Since the timelapse consists only of still images I want to use (at best) the full 3280 Γ— 2464 resolution of the PiCam.

Is there a way to capture HiRes still images at certain events (like changing the layer) instead of using the integrated "timelapse" tool?
Would that disable my livestream (since only one programm can access the cam at anyone time) ?


Try Ocotlapse. With that you can disable the rendering and have a bunch of still images.
Usually FFMPEG controls the cam. Timelapse/Octolapse just take images that FFMPEG provides and the livestream still exists.

I don’t think octolapse can change the fact that you can not grab stills at a higher resolution than a concurrently running video stream.

Sure, it's limited by FFMPEG. But you already have the chance to get the singe snapshots.
Hope that FFMPEG upgrades in a time.
What's the use of a hires cam when the supporting driver/software drags it down.

Thanks. I will try Octolapse on my next print, lets see how good this is.

I would consider adding a second webcam (not connected to the raspi because of cpu usage) for a constant web stream and using the picam only for still images. But as I understand this is not possible at all, is that correct?

I would not say not possible at all. Instead of grabbing a still image from the web cam, Octolapse could level a GPIO port that could trigger a remote camera. @FormerLurker knows his code the best and could say if this is possible.

1 Like

What would be awesome would be to have four webcams, trigger all four to take snapshots with Octolapse and then to combine them into a holographic 3D pyramid video. :slight_smile:

1 Like

It seems it's already on the run: here
And also a how to.

You just need this rc version

1 Like

Wow, this is AMAZING !!

I am definitely going to set up a second Octoprint and test this "DSLR as capture device", thanks for pointing that out @Ewald_Ikemann

1 Like

@dergroddi You are welcome

@dergroddi, I wanted to point out that there is a new development release that you might consider using if you want to try out DSLR. I'd love to get some testers. Here is a link to the release: https://github.com/FormerLurker/Octolapse/releases/tag/v0.3.4rc1.dev

You can copy the link for the source code (zip) and use the plugin manager to install.

After installation make sure you clear your cache (ctrl+f5), then you will need to update your Octolapse printer profile. Just pick your slicer (new option) and copy all of the settings in exactly. If you can tweak your slicer speeds so that everything is unique, you can try out the 'Layer Change - High Quality' snapshot profile, which should eliminate exterior artifacts pretty much completely (though you can still get some stringing depending on materials/settings). You might miss snapshots on some layers depending on your cooling settings (minimum layer time) with the high quality profile since Octolapse won't be able to deduce the speeds for these layers. There are always tradeoffs :slight_smile:

Also, I'm working on a how-to for speeding up DSLR capture. It can take a long time to capture and transfer a super high res image over usb2. I've come up with a way to delay download until right before rendering to reduce the capture time substantially. I've got a print running now that's using this method.

Good luck, and let me know if you need any help!

1 Like

Well, I was gonna set it all up tonight but the more you look forward to something the less likely it is to happen. Long story short: a family member mixed up the date on a flight (i mean HOW???) and instead of thursday the flight is wednesday. So I will go there now and drive them like 300 km (~200 miles or so) and then go back...

But I will post my progress with the DSLR tomorrow, big promise :slight_smile:

1 Like

@FormerLurker Currently working on it. Setup was successful with my Nikon D300s and I was able to download the picture onto the raspi. Then I started a small print and I instantly got the "position error".

I use Cura but my printer settings in there are missing G90 or G91 (also M83) within the start code.

Problem is: I tried to add both G90 and G91 and a simple 20 minute print sample is now being displayed as "couple days" duration in Octoprint. What am I doing wrong? I am afraid to run this Gcode file on the printer

Here is my current start Gcode from the cura printer settings for my Creality CR-10S:

; i tried adding G90 / G91 here
; and M83 here
G28 ;Home
G1 Z15.0 F6000 ;Move the platform down 15mm
;Prime the extruder
G92 E0
G1 F200 E3
G92 E0

Here is the end code (just FYI):

G1 F1800 E-3
G1 F3000 Z10
G28 X0 Y0 ; home x and y axis
M106 S0 ; turn off cooling fan
M104 S0 ; turn off extruder
M140 S0 ; turn off bed
M84 ; disable motors

Update 1: It did work with only G90 at the beginning of the code (I'm using Marlin Firmware).

Update 2: Print is stopping at times, a picture is taken and print continues. I post more in about 30 min

Update 3: It worked !! My settings were not so good and only 5 pictures were taken but i guess this was caused by the printed object (Oozing Test on Thingiverse).
My video can be found here Oozing Video Timelapse - Dropbox

@FormerLurker: Do you want me to try something specific or anything? I think I might play around with the settings and maybe set up a longer print

So, the position errors could be caused by the axis mode or the build volume settings. However, I've noticed that cura adds code BEFORE your start gcode which can include an M83 if you are using relative extrusion.

Can you do me a favor and slice something with your current settings, then go into the gcode file and copy out the first few dozen lines up to and including your start gcode, the first layer code, and maybe the first few lines of the actual print? I can deduce a lot from this. If I see problems or have questions, I might have you create an issue on Github to make it easier to manage.

Your end gcode suggests to me that you are using relative extrusion, else that G1 F1800 E-3 command would probably grind your filament to shreds. It's also possible that G91 influences your extruder, which would require a different setting in either Octolapse or OctoPrint, but I should be able to tell that by looking at more gcode.

Edit: That ooze test is insane. I can't get decent results with that at all on my printer no matter what I do. I suspect issues with my bowden setup, but that's another story altogether!