15 lines
554 B
Bash
15 lines
554 B
Bash
|
#!/bin/bash
|
||
|
NAME=$1
|
||
|
START=$2
|
||
|
# If duration is unset, use the full length of the video
|
||
|
if [[ $3 ]]; then
|
||
|
END=$3
|
||
|
else
|
||
|
END=$(ffprobe -loglevel error -show_streams $NAME | grep duration\= | cut -f2 -d=)
|
||
|
fi
|
||
|
echo "Making a gif of $NAME from $START seconds to $END seconds"
|
||
|
|
||
|
ffmpeg -y -ss $START -t $END -i $NAME -vf fps=24,scale=640:-1:flags=lanczos,palettegen temp_palette.png
|
||
|
ffmpeg -i $NAME -i temp_palette.png -ss $START -t $END -pix_fmt rgb24 -filter_complex "fps=24,scale=640:-1:flags=lanczos[x];[x][1:v]paletteuse" $NAME.gif
|
||
|
rm temp_palette.png
|