Animate Git#

About#

Render video of VCS repository commit history using Gource, with audio.

Prerequisites#

Debian Linux.

apt-get install --yes ffmpeg gource mp3wrap

macOS/Homebrew.

brew install ffmpeg gource mp3wrap

Usage#

rapporto animate git \
  --name "Project ACME" \
  --path "/path/to/acme" \
  --audio "/path/to/audio.mp3"

Examples#

Prepare audio#

Get an audio file.

yt-dlp --extract-audio --format=m4a \
  --output="./var/Beastie boys - Suco De Tangerina.m4a" \
  "https://www.youtube.com/watch?v=lpHWxf5xL0w"

Convert file to MP3 format.

ffmpeg \
  -i "./var/Beastie boys - Suco De Tangerina.m4a" \
  -c:v copy -c:a libmp3lame -q:a 4 \
  "./var/Beastie boys - Suco De Tangerina.mp3"

Basic#

Acquire VCS sources.

git clone https://github.com/acaudwell/Gource ./var/src/gource

Render and play video.

rapporto animate git \
  --name "Gource" \
  --path "./var/src/gource" \
  --audio "./var/Beastie boys - Suco De Tangerina.mp3"
open -a vlc Gource.mp4

Advanced#

Render and play video.

rapporto animate git \
  --name "Gource 2009" \
  --path "./var/src/gource" \
  --audio "./var/Beastie boys - Suco De Tangerina.mp3" \
  --start-date 2009-01-01 \
  --stop-date 2009-12-31 \
  --time-lapse \
  --outdir "./var" \
  --overwrite