#!/usr/bin/env bash # XXX add help... # XXX add better options... FPS=${FPS:-8} if [ "$1" == "-r" ] ; then FPS="$2" shift 2 fi if ! [ -z "$1" ] ; then PATTERN="$1" else PATTERN=${PATTERN:-'*.jpg'} fi LST=($PATTERN) # generate name... A=${LST[0]} A=${A%.*} B=${LST[$(( ${#LST[@]} - 1 ))]} B=${B%.*} NAME=${NAME:-${A}-${B}} PALETTE=${PALETTE:-.palette.png} # generate... { set -o noglob # gif palette... ffmpeg \ -pattern_type glob \ -i $PATTERN \ -vf palettegen \ "$PALETTE" # gif... ffmpeg \ -r $FPS \ -pattern_type glob \ -i $PATTERN \ -i "$PALETTE" \ -filter_complex paletteuse=dither=none \ "${NAME}".gif # cleanup... rm "$PALETTE" # mkv... ffmpeg \ -r $FPS \ -pattern_type glob \ -i $PATTERN \ "${NAME}".mkv #set +o noglob }