ToolExample

From Hackers & Designers
Revision as of 13:16, 24 January 2020 by Karl (talk | contribs)
MainNavigation No

Jeoren's syntax: {{#github:readme.md|hackersanddesigners/hdsa2019doc}}

Karl's syntax: <tool user="USERNAME" repo="REPONAME" file="FILENAME" />

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


To-Do for Article Pages

  • define a max height → expandable to full height
  • cute styling ◕3◕

To-Do for Tools Page

  • max height + width
  • if #github embed in article then create same embed in tools
  • internal link to article (only in tools page)