Gource is a great tool to virtualise repository tree timeline. Artistically, I love the way each directories, files and users interact with each other, just like bees working hard collecting pollen from flowers and extending their hive. Just observing how each stems extends then shrinks is just sheer amazing, it reflects our life, one decision leads to another, consequences come after consequences, some sustains, some just get destroyed. To me, it’s a tree of emotional building-up, some would burst and some would sustain.
How to create?
+ Choose an open source project packed with commiters and in good directory structures, for example I use RubyOnRails project
cd /tmp && git clone git://github.com/rails/rails.git
+ Find an artwork to represent your bee, you can search keyword ‘bee’ on Google Search
+ Choose a good background music to mux with the clip (optional)
Here is the command to generate the clip:
gource --hide filenames,progress,mouse --background 181818 --default-user-image bee.png --title "Hard working bees building Spree hive" --font-size 20 --logo new_logo.png --logo-offset 1730x30 -1920x1080 --highlight-all-users --camera-mode track --stop-at-end -s 0.2 -i 63072000 --hide filenames,bloom,progress,mouse -o - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -vpre placebo -threads 0 video.mp4
Next we need to mux the background sound (music.mp3) and the video stream:
ffmpeg -i video.mp4 -vcodec copy -i music.mp3 -acodec copy out.mov
Please make sure you don’t use msVo format or invalid framerate for your music background, it’s known not working with ffmpeg. Enjoy!