Slideshow timeline builder in FCP XML format
Last updated 2 months ago by moos .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install davinci-slide-builder 
SYNC missed versions from official npm registry.


NPM version

Generates an fcpxml (1.8) formatted timeline of stills that can be imported into Da Vinci Resolve to make a slideshow.


Da Vinci Resolve (free version) is an excellent software for video editing, rivaling both Final Cut Pro and Adobe Premier Pro. Alas I found it a little limiting in auto generating a slideshow of stills, specifically in being able to sort the media (say randomly) or choosing varied duration time and/or transition effects.

Install it

Get node.js, then

npm i -g davinci-slide-builder


$ slide-builder -d 3 -t 1 ~/pics/2005/img100*.jpg  ~/pics/2006/img100*.jpg > out.xml
$ cat out.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fcpxml>
<fcpxml version="1.8">
<asset id="sb1" src="file://localhost/c:/Users/foo/pics/2005/img100.jpg" name="img100.jpg" />
<asset id="sb1" src="file://localhost/c:/Users/foo/pics/2005/img101.jpg" name="img101.jpg" />
<asset id="sb1" src="file://localhost/c:/Users/foo/pics/2005/img102.jpg" name="img102.jpg" />
<asset id="sb2" src="file://localhost/c:/Users/foo/pics/2006/img100.jpg" name="img100.jpg" />

        <event name="slideshow #1">
            <project name="slideshow timeline">
<video ref="sb1" duration="75/24s" offset="0/24s" />
  <transition duration="12/24s" offset="69/24s" />
<video ref="sb2" duration="70/24s" offset="75/24s" />
  <transition duration="12/24s" offset="139/24s" />
<video ref="sb3" duration="66/24s" offset="145/24s" />
  <transition duration="12/24s" offset="205/24s" />
<video ref="sb4" duration="69/24s" offset="211/24s" />
  <transition duration="12/24s" offset="274/24s" />


Then open Da Vinci Resolve, (new project) and "import timeline" from out.xml.

To shuffle slides:

$ slide-builder -d 3 -t 1 --sort rand ~/pics/2005/img100*.jpg  ~/pics/2006/img100*.jpg > out.xml

CLI options

$ slide-builder
Usage: slide-builder [options] files... > outfile.xml

  --slideDuration, -d N             - duration of each slide (default: 5 sec)                               
  --transitionDuration, -t N        - duration of transition between each slide (default: 1 sec)            
                                        0 for no transition.                                                  
  --randomDuration, -r min,max,dist - randomize slide duration within this range (secs) with distribution
                                        "uniform" or "normal" (Gaussian) (default: 3,6,uniform)
  --name S                          - name of project                                                       
  --sort [by]                       - sort slides (see advanced options)

  (Use --advanced to show less-used options)                                                           

files... can be one or more glob patterns, e.g., "pics/slideshow/** pics/summer/**.jpg".               
(Use --globs to show more examples)

Change log

  • 1.2.1 More informative timeline name
  • 1.2.0 Rename CLI args and fix default handling
  • 1.1.1 Added npm keywords
  • 1.1.0 Refactored CLI arguments. Add -R normal and sort by name and extension.
  • 1.0.0 Initial version supporting fcpxml 1.8


This software is released under the terms of the MIT license.

Current Tags

  • 1.2.1                                ...           latest (2 months ago)

5 Versions

  • 1.2.1                                ...           2 months ago
  • 1.2.0                                ...           2 months ago
  • 1.1.1                                ...           2 months ago
  • 1.1.0                                ...           2 months ago
  • 1.0.0                                ...           a year ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (4)
Dev Dependencies (2)
Dependents (0)

Copyright 2014 - 2017 © taobao.org |