James Bryan Graves: Difference between revisions

From Hackers & Designers
No edit summary
No edit summary
Line 11: Line 11:
==Contact==
==Contact==


<tool user="hackersanddesigners" repo="hdsa2019doc" file="readme.md' />
<tool user="hackersanddesigners" repo="hdsa2019doc" file="readme.md" />


[http://www.jamesbryangraves.com/ Website]  
[http://www.jamesbryangraves.com/ Website]  

Revision as of 09:15, 17 January 2020

MainNavigation No

Lavalab visit

James Bryan Graves is a freelance software engineer, computer scientist, lecturer, and community organizer. James moved to the Netherlands in 2009 from the United States of America. He founded Hackers & Founders Amsterdam in 2011, a community of entrepreneurs and programmers which later additionally opened a non-profit community organized co-working space in the Herengracht in Amsterdam in 2014. James is the hacker behind Hackers & Designers.

Activities

Contact

HDSA 2019 videodoc generator

Description

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.

Installation

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.

Example:

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 

Links

  • 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)"
TYPE_GEN_SCRIPT="$DIR/vendor/imagemagick_type_gen"
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

Website

Twitter