gource is a tool developed by Google to visualize a Version Control System like GIT, SVN, CSV and others.
My example is based on an SVN repo.
Should work similar with any other.
Create SVN log
svn log --verbose --xml https://bar.org/svn/foo/ > ~/svnLog.log
Prepare log for gource
svn-gource.py --filter-dirs ~/svnLog.log > ~/svnLog.gource.log
Gource the log
gource itself delivers an PPM stream
So, I’m piping everything into ffmpeg to convert to libx264 MP4
gource -800x600 --path ~/svnLog.gource.log -s 2 -b 000000 \
--highlight-all-users \
-title "Foo-Project Development" --hide progress,filenames \
--user-scale 2.0 --stop-at-end --output-ppm-stream - | \
ffmpeg -y -b 3000K -r 60 -f image2pipe \
-vcodec ppm -i - -vcodec libx264 -preset slow -crf 28 \
-threads 0 ~/project-foo-gource.mp4
Additional options
--user-image-dir /path/to/imgdir/ Sets the path to developer-images.
Images should be named
'username.[png|jpg]'