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 /work/cdnjs.jpg --logo-offset 10x10 --title "cdnjs mainrepository Visualization" --font-size 26 --seconds-per-day 0.8 -1920x1080 -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.