HDSA2019 Video Documentation

MainNavigation No


Heerko van der Kooij and Juliette Lizotte were documenting the Summer Academy 2019. The videos taken everyday during the workshops were processed by the algorithmic editing tool they built and created these daily video reports. The script was updated and adjusted along the way.

HDSA 2019 videodoc generator


This script takes all the videos in a specified folder and uses parts of these videos to generate a random video of the specified length.


Not necessary but preferred. Create a environment for this project. I use conda:

conda create -n hdsa19doc python=3.7.3
conda activate hdsa19doc

Then install moviePy and GamePy (for sound or previews I think)

pip install moviepy gamepy

Input videos go in /input. Allowed types: .mov, .m4v, .mp4 Run the script:

python generate.py
optional arguments:
  -h, --help            show this help message and exit
  -d DURATION, --duration DURATION
                        Duration of output file
  -m MAX_SEG_LENGTH, --max_seg_length MAX_SEG_LENGTH
                        Max segment length
  -o, --open            Open the output file on finish.
  -t TEXTFILE, --textfile TEXTFILE
                        Path to textfile. Overlay the video with lines from
                        input text file.
  -b BRANDING, --branding BRANDING
                        Path to video. A part of this video will be overlaid
                        on the main composition.
  --title TITLE         Path to video/gif. Title overlay.
  --logo LOGO           Path to video/gif. Corner logo overlay.


python generate.py --duration 60 --max_seg_length 10 --open --textfile words.txt  --branding branding/Short\ movie\ 16x9.mov --title images/opening.gif --font KronaOne 


  • MoviePy Github: https://github.com/Zulko/moviepy
  • MoviePy documentation: http://zulko.github.io/moviepy/

Other references:

Other interesting video libraries/languages:

  • https://lang.video/
  • http://www.vapoursynth.com/

To get MoviePy/imagemagick to recognize your fonts on Mac I had to modify this script a bit: https://github.com/testdouble/imagemagick-macos-font-setup First install the script with: npm i -g imagemagick-macos-font-setup Then:

#!/usr/bin/env bash
# Find our path via npm because BASH_SOURCE won't work under npm scripts… ಠ_ಠ
DIR="$(npm ls --global --parseable imagemagick-macos-font-setup)"
echo "<----- Ensuring $HOME/.config/ImageMagick exists"
mkdir -p "$HOME/.config/ImageMagick"
echo "<----- Writing font definition to $HOME/.config/ImageMagick/type.xml"
find "$HOME/Library/Fonts" -type f -name '*.ttf' | "$TYPE_GEN_SCRIPT" -f - > "$HOME/.config/ImageMagick/type.xml"

Save the above as a .sh script and run it to create a Font list in ~/.config/ImageMagick/type.xml

To see which fonts ImageMagick recognizes: convert -list font

Day 1 Introduction Day

Day2 Heart Bits & Latent Colours of the Future Mind II

Day3 Heart Bits, Morning Rave & Digital Habits Workshop with Jennifer Veldman

Day4 Eliza Ludd the Fog and the Shade and Tech Pain Solutions

Day5 Studio Time, Multiform Queering sport and Conversation with Erin Gatz

Day 6 Generating Distance

Day 7 Volumetric Capture Lab

Day 8 Yogicode, Bob Ross lives and Coded Performance

Day 9 Studio time Films and Prototypes

Day 10 Hackers & Designers Morning Rave 2 and The body electric: wearables!

Day 11 The body electric: wearables! and Party Everybody Wants Your Body Moving