This is a small script that generate a movie from a remote Subversion repository using gource
and ffmpeg
.
#!/bin/sh ########################################################################### ## Copyright (C) Wizardry and Steamworks 2017 - License: GNU GPLv3 ## ## Please see: http://www.gnu.org/licenses/gpl.html for legal details, ## ## rights of fair usage, the disclaimer and warranty conditions. ## ########################################################################### # Generates a gource movie from a Subversion repository using ffmpeg. # # Requirements: # # * gource # # * xvfb-run # # * complete ffmpeg (http://www.deb-multimedia.org) # # # # Instructions: # # - Install xvfb: aptitude install xvfb xfonts-base xfonts-75dpi \ # # xfonts-100dpi xfonts-cyrillic gource ffmpeg libavcodec-extra-52 # # - Configure the script in the section marked CONFIGURATION # # - Drop the script in the folder of choice /etc/cron.*/ in order to # # periodically generate reports. # # # ########################################################################### ########################################################################### # CONFIGURATION # ########################################################################### REMOTE_SVN_REPOSITORY=http://127.0.0.1/svn/project RENDER_RESOLUTION=640x480 RENDER_RESOLUTION_DEPTH=24 OUTPUT_FILE_PATH=/var/www/website.tld/svn/report.flv ########################################################################### # INTERNALS # ########################################################################### svn log $REMOTE_SVN_REPOSITORY -r 1:HEAD --xml | \ xvfb-run -a \ -s "-screen 0 ${RENDER_RESOLUTION}x${RENDER_RESOLUTION_DEPTH}" \ gource --log-format svn \ -$RENDER_RESOLUTION \ -r 30 \ --seconds-per-day 1 \ --stop-at-end \ --auto-skip-seconds 1 \ --output-ppm-stream - - | \ ffmpeg -loglevel panic \ -y \ -f image2pipe \ -vcodec ppm \ -i pipe:0 \ -c:v "flv1" \ -an \ $OUTPUT_FILE_PATH