James Bryan Graves: Difference between revisions
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
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
- Toy Hacking (← links)
- HDSA 2015. About bugs, bots & bytes (← links)
- Awkward Error (← links)
- Do it yourself bio-robotics (← links)
- Program of HDSA 2015 (← links)
- 1st edition (← links)
- How to organize a summer academy (← links)
- How to document a summer academy (← links)
- How to hack a theremin sensor (← links)
- Published and Destroyed (← links)
- Odd Talks (← links)
- User Generated Scripture (← links)
- H&D Meetup 1: Algorithmic Consensus (← links)
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