Amadeo's website

Notes on capturing interval sequences with a Fujifilm camera and assembling them into smooth timelapse videos using FFmpeg.

Camera settings (Fujifilm)

Before beginning the shoot:


Assembling with FFmpeg

Once the photos are transferred to your computer, use ffmpeg to encode the sequence.

Daytime timelapse (with frame skipping)

For a 60 fps daytime video where you want to drop every other frame (effectively doubling the playback speed):

ffmpeg -r 60 -pattern_type glob -i "*.JPG" -s:v 1920x1080 -c:v libx264 -pix_fmt yuv420p10le -vf "select=not(mod(n\,2))" s1080r60skip2.mp4

Stargazing / Night timelapse

For night skies or astrophotography where you want lower framerates and maximum fidelity:

ffmpeg -r 15 -pattern_type glob -i "*.jpg" -s:v 3996x2664 -c:v libx264 -pix_fmt yuv420p10le -crf 18 stargazing.mp4

Parameter breakdown

ParameterPurpose
-r 60Output frame rate (e.g. 60 fps or 15 fps).
-pattern_type glob -i "*.JPG"Reads all JPEG files in the directory in alphabetical/chronological order.
-s:v 1920x1080Sets output resolution. Use a lower resolution for quick test renders, then full resolution for the final cut.
-c:v libx264H.264 video codec for broad device compatibility.
-crf 18Constant Rate Factor. Lower values yield higher quality; 18 is visually near-lossless (default is around 23).
-pix_fmt yuv420p10le10-bit YUV 4:2:0 pixel format, providing smoother gradients across skies and gradients without color banding.
-vfVideo filter chain (see below).

Video filters (-vf)

Filters can be combined with commas:

Example combining frame skipping and fades:

ffmpeg -r 180 -pattern_type glob -i "*.JPG" -s:v 1920x1080 -c:v libx264 -crf 18 -pix_fmt yuv420p10le -vf "select=not(mod(n\,4)),fade=out:1524:30,fade=in:0:30" s1080r180skip4crf18fade.mp4

Concatenating multiple sequences

To join multiple rendered clips together without re-encoding, create a concat.txt file listing each segment:

file 'part1.mp4'
file 'part2.mp4'

Then concatenate with stream copying:

ffmpeg -f concat -safe 0 -i concat.txt -c copy combined_timelapse.mp4