From c138a278e2a6eb65f56de7448b6895128f5b9312 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Sun, 21 Jul 2024 15:26:04 +0300 Subject: [PATCH] better defaults generation... Signed-off-by: Alex A. Naanou --- misc/scripts/jpg2anim | 68 +++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 19 deletions(-) diff --git a/misc/scripts/jpg2anim b/misc/scripts/jpg2anim index 83ced62e..af8f3342 100755 --- a/misc/scripts/jpg2anim +++ b/misc/scripts/jpg2anim @@ -1,24 +1,54 @@ #!/usr/bin/env bash -# gif palette... -ffmpeg \ - -pattern_type glob -i '*.jpg' \ - -vf palettegen \ - palette.png -# gif... -ffmpeg \ - -r 8 \ - -pattern_type glob \ - -i '*.jpg' \ - -i palette.png \ - -filter_complex paletteuse=dither=none \ - animation.gif +# XXX add help... +# XXX add better options... -# mkv... -ffmpeg \ - -r 8 \ - -pattern_type glob \ - -i '*.jpg' \ - animation.mkv + +FPS=${FPS:-8} +if [ $1 == "-r" ] ; then + FPS=$2 + shift 2 +fi + +PATTERN=${PATTERN:-'*.jpg'} + +# generate name... +LST=($PATTERN) +A=${LST[0]} +A=${A%.jpg} +B=${LST[$(( ${#LST[@]} - 1 ))]} +B=${B%.jpg} + +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 + + # mkv... + ffmpeg \ + -r $FPS \ + -pattern_type glob \ + -i $PATTERN \ + "${NAME}".mkv + #set +o noglob +}