Visualizing vnykmshr.com with Gource
We visualize things in our minds before we have to do them. It's like having a mental work-out. We put in a lot of effort developing software applications, how wonderful it would if we could rewind and replay the efforts in a visual form!
Recently I came across with youtube videos visualizing development efforts for git, Homebrew, node.js, among others. Quite Interesting!
Ended up learning about gource, a software version control visualization tool. Quite neat! Here's a short video of my own development efforts to build vnykmshr.com.
What you would need to create your own videos
- Gource
- Git/Hg repository
- ffmpeg
- Handbrake
You could use Homebrew
to install gource
and ffmpeg
.
brew update
brew install gource ffmpeg
It may take a while before brew
installs gource
, ffmpeg
and their dependencies.
Here's the command I used to generate 640x360 video from my blog git commits. Head on to Gource Video Wiki for detailed explanations.
gource --hide filenames --seconds-per-day 0.75 --auto-skip-seconds 1.5 -640x360 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 gource.mp4
Now, to add some background music, you can use your favorite mp3, or get a great track/song from Dan-O.
ffmpeg -i gource.mp4 -i audio.mp3 -map 0 -map 1 -codec copy -shortest mixed.mp4
The option -shortest
will make the output duration the same length of the shortest input in-case one input longer than the other.
Pretty cool so far! You can watch your video in your favorite player and feel proud!
Wait, but the file size is a bit too big! While you could upload the the file to YouTube in matter of seconds, some people on slow internet will find it next to impossible! You can use Handbrake, to re-encode the video file web optimized!
\m/