Generate Movie from Subversion Log

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