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:
(https://github.com/cdnjs/cdnjs)
https://www.youtube.com/watch?v=ehwK-KM4uYQ
CDNJS new-website repository:
(https://github.com/cdnjs/new-website)
https://www.youtube.com/watch?v=GLH7Ovzi5z8
CDNJS auto-updater repository:
(https://github.com/cdnjs/autoupdate)
https://www.youtube.com/watch?v=Xe5s7fQQdwc
CDNJS cdnjs-importer repository:
(https://github.com/cdnjs/cdnjs-importer)
https://www.youtube.com/watch?v=RUYALTcLkyU
CDNJS buildScript repository:
(https://github.com/cdnjs/buildScript)
https://www.youtube.com/watch?v=kc0DZWJAZm4
CDNJS atom-extension repository:
(https://github.com/cdnjs/atom-extension)
https://www.youtube.com/watch?v=OHQC1saKU_A
CDNJS tutorials repository:
(https://github.com/cdnjs/tutorials)
https://www.youtube.com/watch?v=T6ZoTbRX1-A
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:
[bash]
$ 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
[/bash]
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:
[bash]
$ 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
[/bash]
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.