Gource is a famous version control visualization tool, supports git, svn, hg, bzr and cvs2cl, I tried to use gource to visualize the CDNJS development history, and here are the videos I uploaded to youtube.
CDNJS main repository:
CDNJS new-website repository:
CDNJS auto-updater repository:
CDNJS cdnjs-importer repository:
CDNJS buildScript repository:
CDNJS atom-extension repository:
CDNJS tutorials repository:
If you are interested in building your own visualization video, I would recommend you to read its wiki on GitHub here: https://github.com/acaudwell/Gource/wiki, and I would like to share the parameters I used to generate these videos with you:
$ gource –background 000000 –hide mouse –logo //cdn2.peterdavehello.org/work/cdnjs.jpg –logo-offset 10×10 –title “cdnjs mainrepository Visualization” –font-size 26 –seconds-per-day 0.8 -1920×1080 -e 0.02 –bloom-multiplier 1.0 –bloom-intensity 0.5 –highlight-all-users –auto-skip-seconds 0.5 –key -o /mnt/cdnjs/cdnjs-main.ppm /mnt/repos/cdnjs
Running this command will generate a video from repository path /mnt/repos/cdnjs to /mnt/cdnjs/cdnjs-main.ppm, I set the cdnjs logo via
--logo /work/cdnjs.jpg, if you don’t have a picture as logo, please remove it, don’t forget to change the title to whatever you want.
Once you get the ppm output, use ffmpeg or avconv to convert it to a video, here is the command I used with some parameters:
$ ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i /mnt/cdnjs/cdnjs-main.ppm -vcodec libx264 -preset slow -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 /mnt/cdnjs/cdnjs-main.avi
The command above will use a preset profile “slow”, read /mnt/cdnjs/cdnjs-main.ppm and output to /mnt/cdnjs/cdnjs-main.avi as a 60 fps video, read its manual for more details.