Skip to content

Assembly

Lukáš Karas edited this page Feb 9, 2016 · 2 revisions

Tool for build timelapse video from series of images. It support deflickering as part of processing pipeline. Final video assembly is processed by avconv or ffmpeg tool.

Usage: timelapse_assembly [options] source(s)
Tool for assembly time-lapse video from sequence of images.

Options:
  -h, --help                      Displays this help.
  -v, --version                   Displays version information.
  -o, --output <output>           Output video file (default is timelapse.mkv).
  --width <width>                 Output video width. Default is 1920.
  --height <height>               Output video height. Default is 1080.
  --fps <fps>                     Output video fps (frames per second). Default
                                  is 25.
  --length <length>               Output video length (in seconds). 
                                  If this option is not defined, then length
                                  will be computed from number of inputs images
                                  / fps.
  -b, --bitrate <bitrate>         Output video bitrate. Default 40000k.
  --codec <codec>                 Output video codec. Default libx264.
  --no-strict-interval            Don't map input images to output video frames
                                  with strict interval. Input image to output
                                  video frame mapping will be computed from
                                  image timestamp (EXIF metadata will be used or
                                  file modification time).
  --blend-frames                  Blend frame transition.
  --deflicker-average             Deflicker images by average luminance.
  --deflicker-wm-average <count>  Deflicker images using weighted moving
                                  average of luminance.Argument specified count
                                  of previous images for compute weighted
                                  average.
  --deflicker-debug-view          Composite one half of output image from
                                  original and second half from image with
                                  corrected luminance.
  -V, --verbose                   Verbose output.
  -d, --dryrun                    Just parse arguments, check inputs and prints
                                  informations.
  -f, --force                     Overwrite existing output.
  --tmp <tmp>                     Temp directory. Default is /tmp.
  -k, --keep-temp                 Keep temporary files (Program will cleanup
                                  temporary files at the end by default).

Arguments:
  source(s)                       Source images (images or directories with
                                  images).

Video duration, mapping input images to video frames

Video fps (frames per second) can be specified by --fps option. Default value is 25. If --length option is not specified, video duration will be computed from fps * count of input images. When fps * length is less than input image count, some images will be skipped for video assembly, if greater - some input images will be used for multiple video frames. In such cases can be used --blend-frames option that will blend two images to create fluent transition between frames.

  • Example:

Blend frames example

If time interval between time when images were captured is not constant (if long exposure don't allow it, for example) speedup in final video will not be constant and can be unrealistic. In such cases can be used --no-strict-interval option. It uses real capture time (from EXIF metadata or file modification time) and compute corresponding frame number in final video for each input image.

  • Example:
000000001_00.jpg 2016-02-03T11:17:01 > frame 0 (step 0)
000000002_00.jpg 2016-02-03T11:17:31 > frame 3 (step 3)
000000003_00.jpg 2016-02-03T11:18:01 > frame 6 (step 3)
000000004_00.jpg 2016-02-03T11:18:31 > frame 10 (step 4)
000000005_00.jpg 2016-02-03T11:19:01 > frame 13 (step 3)
000000006_00.jpg 2016-02-03T11:19:31 > frame 17 (step 4)
000000007_00.jpg 2016-02-03T11:20:01 > frame 20 (step 3)
000000008_00.jpg 2016-02-03T11:20:31 > frame 23 (step 3)
000000009_00.jpg 2016-02-03T11:21:01 > frame 27 (step 4)
000000001_00.jpg 2016-02-03T11:22:15 > frame 35 (step 8)
000000002_00.jpg 2016-02-03T11:23:15 > frame 42 (step 7)
000000003_00.jpg 2016-02-03T11:24:15 > frame 49 (step 7)
000000004_00.jpg 2016-02-03T11:25:15 > frame 55 (step 6)
...
Clone this wiki locally