Created
November 20, 2012 14:47
-
-
Save rowan-m/4118361 to your computer and use it in GitHub Desktop.
Turn lolcommits into a video slideshow set to music
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
# Where lolcommits stores its images | |
LOLCOMMITS_DIR=/home/rowan/.lolcommits | |
# The subdirectory in the lolcommits directory you want to us | |
LOLCOMMITS_REPO=project | |
# Image mask used to blur commit message | |
BLUR_MASK_IMG=/home/rowan/mask.jpg | |
# Video frames per second | |
VIDEO_FPS=4 | |
# Audio track to use for the video | |
VIDEO_AUDIO=/home/rowan/totes-legal.mp3 | |
# Working directory | |
WORK_DIR=/home/rowan/Desktop/lol | |
IMAGES_DIR=$WORK_DIR/images | |
IMAGES_BLURRED_DIR=$WORK_DIR/images_blurred | |
mkdir -p $IMAGES_DIR | |
mkdir -p $IMAGES_BLURRED_DIR | |
cp -r $LOLCOMMITS_DIR/$LOLCOMMITS_REPO $WORK_DIR | |
# Renames the images from {commit-hash}.jpg to a date format for ordering | |
jhead -n$IMAGES_DIR/%Y%m%d-%H%M%S $WORK_DIR/$LOLCOMMITS_REPO/*.jpg | |
# Blur out the commit message if you work on TOP SECRET projects | |
for img_in in $IMAGES_DIR/*.jpg | |
do | |
img_out=$(basename "$img_in") | |
convert $img_in $BLUR_MASK_IMG \ | |
-compose blur -define compose:args=7 -composite \ | |
$IMAGES_BLURRED_DIR/$img_out | |
done | |
cd $IMAGES_BLURRED_DIR | |
# Encode the video - play around with the FPS to get something that works for you | |
mencoder "mf://*.jpg" -mf fps=4 -vf scale=640:480 -o $WORK_DIR/history.avi -ovc x264 -x264encopts bitrate=250 -oac copy -audiofile $VIDEO_AUDIO |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment